
wince
Nowindyli
喜欢思考的码农
展开
-
对DirectUI 的初步理解
这个基本的封装控件类,基于WinCE的,所以他的入口自然是int APIENTRY WinMain,首先是Creat,创建窗口,封装的类包括 1、SubClass 子类化窗口 2、ShowModal 窗口模态化 3、CPaintManagerUI 绘制管理者 这个类中封装了很多UI的函数,比如GetClientSize,获取工作区域的宽和高,Messa原创 2012-11-05 17:29:50 · 1939 阅读 · 0 评论 -
5102背景和多国语言的构造
在这个项目里面,主界面和功能基本都完成了,而用新的架构写的程序像MyLaunch、SetLanguage、SetChangeSkin、Setting这四个工程要实现的是背景和多国语言的切换,其实大同小异,背景的切换就是在主界面中将要切换的背景id设置到注册表,修改注册表的值,其他程序在启动的时候都会先去读注册表的这个值,再去创建背景,当SetChangeSkin变换了背景后,发送消息给设置窗口,设原创 2012-12-13 19:28:19 · 824 阅读 · 0 评论 -
WinCE 大排档第一篇
看了两天的WinCE大排档,norains写的,总感觉懂得了点什么又感觉没有,还是写点东西让这种模模糊糊的感觉变得真实和确切点吧。 第一章norians主要就讲了个建立一个空的窗口,用WinCE建以前我也学过,主要就是CreateWindowEx这个函数的几个参数的配置,还有对于注册表的封装,在WinCE中实现对注册表的读写操作,将这些写起来比较复杂的函数封装成一个个简单的直接调用的函数原创 2012-10-22 17:11:37 · 1504 阅读 · 0 评论 -
文件浏览器与DLL的创建
今天终于将文件浏览器完成的差不多了,主要是利用图片当按钮去做,利用上一节写的ListLaunch进行窗口的滑动,定义一个currentPath为当前路径,先默认为NULL,在当前路径下创建文件夹,如U盘文件夹,这里并不添加到currentPath中,然后调用UpdateSavedFiles()函数来更新文件的目录,建立一个FileList,当你点击窗口上第N个图片时,计算出相对的FileList的原创 2012-09-13 10:44:09 · 843 阅读 · 1 评论 -
宽字节TCHAR之间的比较
TCHAR FileName[40] ; TCHAR DirName[40] ;TCHAR的判断:if(_tcscmp(FileName,_T("Storage Card")) == 0)如果获取到的文件名 为Storage Card,给TCHAR赋值 :StrCopyW(FileName,DirName); void StrCopyW(TCHAR* Dest, TCH原创 2013-03-05 10:32:21 · 8621 阅读 · 0 评论 -
用DirectDraw实现的渐入渐出效果
用DDraw封装的一个GradEffect函数,初始化一个DDraw对象,CreateOffScreenSuface创建几个离屏页面,目的在于做效果,这里是800*480的,用了7个离屏页面,接着创建一个源页面和目标页面,SrcSurface和DestSurface,分别将传过来的两张要做效果的图放在这两个离屏页面上,利用g_DDraw.DrawImageToSurface(pDDS1,&rc原创 2013-01-22 17:21:40 · 1096 阅读 · 0 评论 -
通信协议第一篇
这是我第一次用MFC解析通信协议,自然问题多多,还好现在已经把该有的数据给解析出来了,包括com口,波特率的值115200,数据位 8,这些事串口基本参数的配置,还有超时参数的配置,但是对协议的整体流程还不是很清楚,首先你要打开串口,然后从串口中接收数据,这里的读取需要用线程去读,每次读一个buf,然后对这个buf进行判断,根据通信协议的文档判断每一个buf是什么意思,然后把它存到相应的字符中,便原创 2012-10-12 17:40:23 · 628 阅读 · 0 评论 -
复制和删除进度条的完成
鉴于我原来代码的基础上,由ListTable对话框去调用PopMenu对话框,实现文件的复制功能,而我要想实现进度条的完成,必须要传数据给这个进度条。因此这个进度条的位置不能在ListTable里面,必须新建一个对话框Prograss,而这个对话框仅仅是有Progress这一个进度条而已。从PopMenu里面获取到要删除或者复制的文件的大小FileSize,执行粘贴或删除文件的时候,每当复制或者删原创 2012-09-21 09:18:20 · 2013 阅读 · 1 评论 -
断点调试错误
怎么在Release下调试代码适用VS2005/VS2008)在当前工程点击右键选择properties,选择 All ConfigurationsC++>General->Debug Information Format->Program Database (/Zi)C++>Optimization->Optimization->Disabled (/Od)Linke转载 2013-07-26 16:32:45 · 1127 阅读 · 0 评论 -
win32中如何使用CString
MFC中CString的强大,感觉很方便,Win32里是没有CString的,怎么去使用呢? 在StdAfx.h中加入头文件#include "AFX.h",注意加在#include之前,编译后会发现 Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version.原创 2013-01-04 16:41:25 · 12317 阅读 · 6 评论 -
SliverLight 之Sample
WinCE的入口INT WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow ),定义一个XamlRuntimeManager xr;对它进行初始化,然后对Xaml文件进行解析,主要是对Xaml文件解析的过程。原创 2012-09-27 11:16:35 · 908 阅读 · 0 评论 -
通信协议之点阵的解析和showWindow问题的解决
经过几天的学习,终于将点阵解析出来了,在这里总结一下,点阵的分布是一位Head,2位Length,一位Command,1217位Pargram,和2位checkNum,因此解析的时候只需要判断1217位Pargram是不是Length的值就行了,头是以0XAA开头的,我们只要建立一个足够大的数组存这1217位Pargram,unsigned char LatData[1216];//点阵数据(半屏原创 2012-10-16 17:27:33 · 992 阅读 · 0 评论 -
文件夹的复制和删除
利用递归实现文件的复制和删除复制首先寻找该文件下的第一个文件,若为文件夹,则创建该文件夹到目标地址, CreateDirectory(szAimDir+fd.cFileName,NULL); //在目标文件夹中创建相应的子文件夹,然后递归该函数,直到找到文件,进行复制,FileCopyTo(szExistDir,szAimDir,fd.cFileName);然后再FindNextFile(hF原创 2012-09-19 13:32:56 · 768 阅读 · 0 评论 -
Launch 第一篇
MFC UI界面向来都是步骤一样,先从OnInitDialog到OnPaint,中间的OnEraseBkgnd,DestoryWindow函数等等,这里就不多写了,今天学到的东西是窗口的滑动,消息响应的顺序是从OnLButtonDown到OnMouseMove最后是OnLButtonUp。具体的做法是在OnLButtonDown中记下最新落点的位置m_LButtonDownPoint,点击CP原创 2012-09-07 17:54:11 · 658 阅读 · 1 评论 -
byte数组之间的赋值,byte和TCHAR数组的赋值
第一步很关键,给byte数组赋值,byte tzi[2][44] = {0xD0,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0原创 2013-05-10 09:42:55 · 6823 阅读 · 0 评论 -
TCHAR和CHAR类型的互转
Win32中CStdString 是需要TCHAR类型的值才可以赋值的,而很多文件读取时FILE的fopen函数之类的需要的是CHAR,我们需要把它们互转,这里我在网上找到了一个比较方便的方法 TCHAR转为char(2012-09-20 12:02:15)转载▼标签:tcharchar杂谈分类: C/CPP转载 2013-01-11 16:22:10 · 72929 阅读 · 5 评论 -
基于Wince的计算器程序
折腾一个星期,终于把计算器完成了,实现加减乘除,精确度能达到20位。 由于用DUI实现界面布局,因此要达到存储24位整数数值,必须用数组,两者结合,使用TCHAR数组, 加减乘除算法网上都有,有了算法需要的就是操作逻辑,计算器操作逻辑其实并不简单,这里需要搞清楚 我的逻辑是这样的,首先你要写入一个数字a,按下运算符号,再写入一个数字b,按下=号,记录之前的原创 2013-06-08 16:18:40 · 2020 阅读 · 0 评论 -
dll文件与模态和费模态对话框的建立
dll文件的创建我用到的窗口有模态和非模态的 其中模态窗口的建立 DialogBox(g_hInstance, MAKEINTRESOURCE(IDD_DLG_ERROR), hParent, (DLGPROC)DlgProc);回调函数Dlgproc中都是消息响应函数,调用的时候需要在工程中配置dll文件的路径,将编译好的lib和dll文件放到路径中,设备中运行只需要放置dl原创 2013-04-12 10:59:41 · 1233 阅读 · 0 评论 -
Win32 ini配置文件的读写
ini配置文件的固定格式都是[BACK]BACKSET=3//这种格式方便存储数据,成为一种通用的数据,这里总结下对ini文件的读写往[BACK]中的BACKSET键中写值,以int为例test_ini.WriteInt(L"BACK",L"BACKSET",countbk),test _ini是一个ini文件的读写类,下面是Writeint函数的实现BOOL CIni原创 2013-03-28 16:59:32 · 2545 阅读 · 0 评论 -
5102主界面的完成
利用新的UI框架完成主界面,是一个重新学习的过程,遇到很多问题,大概总结下,利用UIDesigner进行UI的布局,生成一个XML文件,在Win32中解析的过程就不说了。在UIDesigner用的过程中,发现你控件的大小最好要对,否则可能会出现XML解析不了等等各种奇怪的问题,这个具体的原因在于底层的控件库并不完善,对于UIDesigner的应用还有就是布局的重要,你需要把布局的float属性改为原创 2012-12-04 11:21:49 · 1274 阅读 · 0 评论 -
MFC 一个新的全局变量的定义
在MFC中定义全局变量,可以在stdafx.h中定义一个static int a;这样在别的.cpp文件中#include "stdafx",这样就可以用这个变量了。 这是一般最简单的方法,但这是一个静态的,定义一个普通的,我们可以在XXX.cpp中定义,如SerialPort Can;,然后在XXX.h中extend SerialPort Can;,然后在stdafx.h中#include "S原创 2012-12-20 10:48:24 · 2553 阅读 · 0 评论