WINCE应用程序(VC)
Elecsoft
胸怀大志,脚踏实地,目前从事Windows CE学习和开发,相信自己能成就亿翻事业。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Ansi、Unicode、UTF8字符串之间的转换和写入文本文件
最近有人问我关于这个的问题,就此写一篇blog Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个/0结尾,常用于txt文本文件 Unicode字符串,每个字符(汉字、英文字母)都占2个字节,以2个连续的/0结尾,NT操作系统内核用的是这种字符串,常被定义为typedef unsigned short wchar_t;所以我们有时常会见到什么char*无法转换为unsigned short*之类的错误,其实就是unicode UTF8是Unicode一种压缩形式,英文A在unicode转载 2010-07-28 14:54:00 · 1505 阅读 · 0 评论 -
VC中CString和WPARAM之间的相互转换(结构体变量和WPARAM之间的转换)
VC中CString和WPARAM之间的相互转换(结构体变量和WPARAM之间的转换)转载 2010-07-15 12:55:00 · 2406 阅读 · 0 评论 -
事件与消息的理解
有时总想把消息和事件弄明白点,下面是自己的一些理解,不知道理解的对不对,先记录一下,以后有更深的理解,在更新博客内容,也希望高手指点一下。。。 事件是一个动作——用户触发的动作。 消息是一个信息——传递给系统的信息。 事件与消息的概念在计算机中较易混淆,但本质不同: 事件由用户(操作电脑的人)触发且只能由用户触发,操作系统能够感觉到由用户触发的事件,并将原创 2010-05-20 11:48:00 · 962 阅读 · 0 评论 -
vc自定义消息的发送与接收的方法实现
vc自定义消息的发送与接收的方法实现 以下用一个自创的对话框类(MyMessageDlg)向视图类(MessageTestView)发送自定义消息为例,说明这两种不同方法的自定义消息的消息传递的方法一:使用ON_MESSAGE使用ON_MESSAGE响应消息,必须配合定义消息#define WM_MY_MESSAGE (WM_USER+100)对于发送消息者-MyM转载 2010-05-20 13:31:00 · 607 阅读 · 0 评论 -
VC 理解Windows消息机制
Windows系统是一个消息驱动的OS. 1、消息的组成:一个消息由一个消息名称(UINT),和两个参数(WPARAM,LPARAM)。当用户进行了输入或是窗口的状态发生改变时系统都会发送消息到某一个窗口。例如当菜单转中之后会有WM_COMMAND消息发送,WPARAM的高字中(HIWORD(wParam))是命令的ID号,对菜单来讲就是转载 2010-07-14 22:46:00 · 1019 阅读 · 0 评论 -
vc下cstring转换为floatvc类型转换
CString str = CString("Almost mad!"); float tempFloat = 0.0; tempFloat = atof(str);, 但是出现转载 2010-07-13 23:22:00 · 2840 阅读 · 0 评论 -
vc自定义消息的发送与接收的方法实现
以下用一个自创的对话框类(MyMessageDlg)向视图类(MessageTestView) 发送自定义消息为例,说明这两种不同方法的自定义消息的 消息传递的方法一:使用ON_MESSAGE 使用ON_MESSAGE响应消息,必须配合定义消息#define WM_MY_MESSAGE (WM_USER+100) 对于发送消息者-MyMessageDlg, 在其MyMessageDlg.h中,定义#define WM_MY_MESSAGE (WM_USER+100) 在其MyMessag转载 2010-07-14 18:26:00 · 1065 阅读 · 0 评论 -
VC两对话框类之间消息传送数据
前一个博客是从一个对话框类向视图类发送自定义的消息,本博客是写写关于两对话框之间自定消息发送,原创 2010-07-14 22:37:00 · 1135 阅读 · 0 评论 -
VC编辑框(EDIT)的自动换行与自动滚屏
经过多次测试,总结出VC编辑框(EDIT)的自动换行与自动滚屏的方法。转载 2010-07-17 10:41:00 · 1195 阅读 · 0 评论 -
C++string类常用函数
string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常 string类的字符操作: const char &operator[](int n)const; const c转载 2010-07-22 11:27:00 · 731 阅读 · 0 评论 -
c++ string 的函数replace()用法
basic_string::max_size 返回string 能放的最大元素个数。(不同于capacity) size _ type max _ size( ) const; basic_string ::size_type cap, max; cap = s.capacity ( ); max = s.max_size ( ); // max=4294967294. basic_string::rfind转载 2010-07-22 11:17:00 · 1012 阅读 · 0 评论 -
指针和数组长度求法
要求指针和数据的长度,方法如下: 指针: char* pBuf; pBuf = "abcefghijilmn"; int num; num = strlen(pBuf); 数组: BYTE Temp[50]; int num;原创 2010-05-26 18:03:00 · 1188 阅读 · 0 评论 -
MultiByteToWideChar和WideCharToMultiByte用法详解
//======================================================================== //TITLE: // MultiByteToWideChar和WideCharToMultiByte用法详解 //AUTHOR: // norains //DATE: // 第一版:Monday 25-December -2006 // 增补版:Wednesday 27-December -2006 // 修订转载 2010-07-22 23:12:00 · 721 阅读 · 0 评论 -
VC++列表控件的编写
1.CListCtrl控件 CListCtrl控件在数据库编程中是用得比较多的控件之一,也是Window控件中较难掌握的一个控件。他可以有四显示方式,Report、List、Icon、SmallIcon。Report报告式列表视图方式在数据库开发中是最常用的一种方式。在控件"properties"的Styles选项卡中在View项可以选择Report方式。Report方式中列表控件的显示方式是有行和列的,行又叫做Item,但有多列是我们只能操作每一行的第零列,也就是最前列。转载 2010-07-27 09:12:00 · 4171 阅读 · 0 评论 -
vc picture控件的使用
vc picture控件的使用转载 2010-06-02 22:37:00 · 1366 阅读 · 0 评论 -
CString.Format 用法
Format 指定输出格式,后面跟要输出的变量 目前 printf 支持以下格式: %c 单个字符 %d 十进制整数 %f 十进制浮点数 %o 八进制数 %s 字符串 %u 无符号十进制转载 2010-07-27 18:05:00 · 1590 阅读 · 0 评论 -
CString 转换成TCHAR *的方法
今天遇到一个难题,以前一直都是从TCHAR *转换到CString,今天需要CString 转换成TCHAR *的方法,找了一下MSDN文档,没有发现有现成的函数可以用。后来上网搜索了一下,方法还不少。如下几种: 方法一,使用强制转换。例如:转载 2010-07-15 12:54:00 · 9555 阅读 · 0 评论 -
ListCtrl 使用技巧
CListCtrl 使用技巧 以下未经说明,listctrl默认view 风格为report 相关类及处理函数转载 2010-07-28 16:20:00 · 1600 阅读 · 1 评论 -
VC配置文件ini的读写
ini文件(即Initialization file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成。转载 2010-06-02 11:49:00 · 2554 阅读 · 0 评论 -
atoi,atol,strtod,strtol,strtoul实现类型转换
atoi,atol,strtod,strtol,strtoul实现类型转换转载 2010-06-02 11:53:00 · 917 阅读 · 0 评论 -
VC回调函数定义和使用
最近经常使用回调函数,有时感觉有点混乱,对回调函数理解不透,昨天花点时间深深品味了一下回调函数,写下博客记录一下,言规正转,VC中的定时器是一种特殊的回调函数,只要我们设置好了定时器,我们就不用管什么时候调用定时器处理函数,是操作系统就给我调用,定时器的处理函数还是我们自己去写实现。原创 2010-07-31 09:59:00 · 5008 阅读 · 2 评论 -
wince添加屏幕旋转的支持
今天给公司的S3C2440开发板添加对屏幕旋转的支持,对于标准smdk2440修改过来的BSP,其实LCD驱动部分的代码已经初步的支持了屏幕旋转,只需做一些补充和修改即可。转载 2010-07-31 15:12:00 · 2513 阅读 · 0 评论 -
fatal error LNK1112: 模块计算机类型“THUMB”与目标计算机类型“ARM”冲突
fatal error LNK1112: 模块计算机类型“THUMB”与目标计算机类型“ARM”冲突 解决办法: 1.新建项目时,在"平台"->"选择要添加到当前项目中的 Platform SDK。"中,把"已安装的 SDK"全部添加到"选定的 SDK" 2.在"属性页"->"配置属性"->"链接器"->"命令行"中的"附加选项"里,有如下命令:"/subsystem:windowsce,4.20 /machine:ARM /ARMPADCODE",在其后加入命令:" /MACHINE:THU转载 2010-07-31 22:13:00 · 1104 阅读 · 0 评论 -
网络编程故障
最近把别人的代码移到自己的程序中出现一个错误,忙忽了半天才解决,别人的代码的头文件为#include "winsock.h",而我移植到ARM9(2240)下时却运行不了,编译出现大量错误,最后才发现头文件应改为#include "afxsock.h",好像别人的代码 是x86结构下的,还有另一种解决方法是在#include "winsock.h"下面加上#pragma comment(lib,"Ws2.lib");就也能正常 运行,今天 记下这个知识 点,以后使用中注意一下。。。原创 2010-07-31 22:23:00 · 705 阅读 · 0 评论 -
VC中 DLL调试
方法①: 对DLL的工程DEBUG, 在DLL工程的Project Setting->Debug->Executable for debug session中加入你的.exe的路径和名字。 可以在dll中设置断点,.exe程序必须要调用dll中函数。 方法②: 有个更好的方法:(我也没试过)在settings/debug中category选additional dlls, 然后将你要调试的dll加进来。这样,即使你用loadlibrary动态加载dll,也可以加断点了。 在VS.net的测转载 2010-08-01 22:39:00 · 832 阅读 · 0 评论 -
VC多线程临界区
在使用多线程时,一般很少有多个线程完全独立的工作。往往是多个线程同时操作一个全局变量来获取程序的运行结果。多个线程同时访问同一个全局变量,如果都是读取操作,则不会出现问题。如果是写操作,则会发生错误。这时候,我们可以通过临界区,为全局变量设置一个保护,保证同时只有一个线程可以访问此变量,其他变量进入等待状态。转载 2010-08-03 08:07:00 · 1244 阅读 · 0 评论 -
临界区,互斥量,信号量,事件的区别
四种进程或线程同步互斥的控制方法 1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 3、信号量:为控制一个具有有限数量用户资源而设计。 4、事 件:用来通知线程有一些事件已发生,从而启动后继任务的开始。 临界区(Critical Section) 保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么在有一个转载 2010-08-02 17:29:00 · 1582 阅读 · 0 评论 -
多个定时器的使用
一、定时器的基本使用方法 在编程时,会经常使用到定时器。使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序。通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数。 1.1 用WM_TIMER来设置定时器 先请看SetTimer这个API函数的原型 UINT_PTR SetTimer(转载 2010-08-04 16:05:00 · 2737 阅读 · 0 评论 -
常用数据类型使用转换详解
读者层次:初学 刚接触VC编程的朋友往往对许多数据类型的转换感到迷惑不解,本文将介绍一些常用数据类型的使用。 我们先定义一些常见类型变量借以说明 int i = 100; long l = 2001; float f=300.2; double d=12345转载 2011-10-17 10:01:04 · 997 阅读 · 0 评论 -
VC数据类型
VC基础数据类型大全(学习VC必须知道的) 标识符 实际类型 意义 CHAR char 8位Windows(ANSI)字符。 CCHAR char 8位Windows(ANSI)字符。 PSZ char* 一个以"NULL"结束的Windows字符串的指针转载 2011-10-17 09:40:13 · 771 阅读 · 0 评论 -
浅谈C++容器
浅谈C++容器(转) 什么是容器 首先,我们必须理解一下什么是容器,在C++ 中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。很简单,容器就是保存其它对象的对象,当然这是一个朴素的理解,这种“对象”还包含了一系列处理“其它对象”的方法,因为这些方法在程序的设计上会经常被用到,所以容器也体现了一个好处,就是“容器类是一种对特定代码转载 2011-10-22 10:57:09 · 1825 阅读 · 1 评论 -
动态生成数组,数组之间赋值
char ch1[6] = {65,66,67,68,69,70}; int i; i=sizeof(ch1); char *ch2=NULL; ch2 = new char[i]; strcpy(ch2,ch1); 如果不是char类型的数组的话(比如说是word类型)就能用strcpy了,只能用内存拷贝(memmove函数)来实现数组的复制,如下 WORD ch1[6] = {6原创 2010-04-26 15:17:00 · 1206 阅读 · 0 评论 -
VC字符串和指针问题
VC中字符串处理不能一行多操作: 比如:CString str="qwert"; 这样就会编译出错,应写成CString str;str="qwert"; 这样才OK了, 还有 str="asdf" + "qwert"; 也会编译出错,就写成: str+="asdf"; 才能编译过去 关于一个指针问题: char *ch; ch = new cha原创 2010-04-14 18:25:00 · 857 阅读 · 0 评论 -
WINCE+6410 拨号上网
WINCE+6410 拨号上网 我们现在的模块用的是USB接口,然后模拟成一个COM6进行通信,在CE的: 控制面板->网络连接 里要新建一个连接,选择“拨号连接”然后设置好区域代码,还有附加解调器命令+CGDCON,"IP","CMNET",modem选择,与modem的串口通信速率等信息,然后连接,这上可以实现上网。 添加的CE组件有:CoreOS->Windwos CE转载 2010-04-06 18:04:00 · 876 阅读 · 0 评论 -
VC中如何改变对话框中控件的颜色
VC中如何改变对话框中控件的颜色 问题:在VC中,当我们大量的运用控件时,往往会为改变控件的颜色所烦恼。因为VC不象VB那样,可以方便地改变对话框及各个控件的颜色,要改变一个控件的颜色比较烦琐。那么,VC中怎样改变控件的颜色。 思路:在控件显示之前,每一个控件会向父对话框发送一个WM_CTLCOLOR消息,这个消息缺省处理函数CWnd::OnCtlColor返回一个HBRUSH转载 2010-04-20 13:42:00 · 1146 阅读 · 0 评论 -
改变文本字体大小
新建一个对话框程序 添加一个按钮 加入如下代码 void CFontDlg::OnButton1() { // TODO: Add your control notification handler code here CFont font; font.CreatePointFont(720,_T("Arial")); m_str.SetFont(&font); m_string="你好"; Up转载 2010-04-20 17:45:00 · 1464 阅读 · 0 评论 -
VC线程同步技术剖析
VC线程同步技术剖析作者:xuefeifei 来源:zz 发表时间:2006-12-09 摘要: 多线程同步技术是计算机软件开发的重要技术,本文对多线程的各种同步技术的原理和实现进行了初步探讨。关键词: VC++6.0; 线程同步;临界区;事件;互斥;信号量;正文 使线程同步 在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多转载 2010-04-07 14:55:00 · 692 阅读 · 0 评论 -
VC中如何关闭窗口退出程序?
VC中如何关闭窗口退出程序?1、OnOK()或OnCancel()//只对窗口程序有用2、PostQuitMessage(0);//最常用3、ExitProcess(0);4、void CMainFrame::OnClose() {// TODO: Add your message handler code here and/or call defaultif (MessageBox("确定要转载 2010-04-09 18:03:00 · 4309 阅读 · 0 评论 -
VC2005下tab控件的使用
VC2005下tab控件的使用1> 建立一个基于对话框的MFC智能设备应用程序。2> 在主对话框中,添加一个Tab Control控件。3> 为控件添加一个CtabCtrl类型的变量,如m_tabctrl。4> 通过MFC类向导,添加几个新的对话框, 做为Tab Control的子对话框。5> 修改新添加的对话框的属性,Border属性设置为None, Sytl转载 2010-04-10 15:21:00 · 1808 阅读 · 0 评论 -
Group Box覆盖Button
Group Box覆盖Button 基于对话框的MFC应用程序先拖进去一个Group Box控件然后在Group Box控件的框里放置一个Button控件结果程序跑起来之后居然看不见Button发现是被Group Box控件给覆盖了这个小问题居然给我搞晕了后来发现先放置按钮控件,按钮摆放好了最后重新拖进一个Group Box控件将这些按钮扩起来转载 2010-04-10 17:30:00 · 2290 阅读 · 4 评论
分享