编码心得
TracyZhongcf
做最好的自己
展开
-
能否在.h文件中定义const常量?
在C中,定义一个const形对象是会分配空间的,并且这个空间具有全局 域,因此如果一个const定义在header中,那么如果这个header被多个c 源文件包含的话,就会产生multiply defined symbols的错误。 可以通过增加static的方式将它的连结属性变成局部的就可以了。 在C++中,const默认具原创 2009-03-06 17:32:00 · 2595 阅读 · 0 评论 -
如何隐藏Sip输入法
要做到隐藏SIP输入法,只需要在创建菜单时设置一下属性: SHMENUBARINFO mbi; ZeroMemory(&mbi, sizeof(SHMENUBARINFO)); mbi.cbSize = sizeof(SHMENUBARINFO); mbi.hwndParent = hwnd; mbi.nToolBarId = IDM_HELLO_MENU; mbi.hInstRe原创 2009-04-15 18:57:00 · 959 阅读 · 0 评论 -
使用RegSetValueEx时要注意的一点问题
今天在使用RegSetValueEx时发现一个问题:RegSetValueEx(hKey, TEXT("test"), 0, REG_SZ, (LPBYTE)TEXT("test.dll"), 256); 向注册表的某位置写了一个test,键值为test.dll程序运行时,按理说会自动去加载我的test.dll。(因为我手动去修改机器上的注册表,添加此注册表项时,确实是能让系统加载t原创 2009-04-15 19:19:00 · 10718 阅读 · 3 评论 -
Windows Mobile中Edit控件的滚动条问题
以下内容转自:http://www.cppblog.com/SpringSnow/archive/2009/03/18/77046.html 在Windows Mobile中,Edit控件在具有WS_VSCROLL的时候,无论显示文字的多少,都会显示滚动条。如何在显示文字不到一页的情况下,让滚动条不显示呢? 我是这样考虑的:判断显示文字的高度,即显示文字的行数*单个文转载 2009-04-10 10:51:00 · 1213 阅读 · 0 评论 -
一些细碎的注意点——二
1、横竖屏切换消息PPC:WM_SIZESP:WM_SETGINGCHANGE 2、为什么拖动滚动条时,有颜色的背景总是闪动因为拖动滚动条时,触发界面的WM_ERASEBKGND消息,系统会默认使用白色画刷去刷一遍背景,再调用我们的WM_PAINT去画我们的背景。因此总是会看到白色与颜色背景交替的闪动。解决:在响应WM_ERASEBKGND时,bHandled = TR原创 2009-04-27 20:23:00 · 991 阅读 · 0 评论 -
程序中何时刷新SIP输入面板
在程序中会有许多页面需要输入面板,当SIP抬起时,如果用户进行某些操作切换页面,那么再回到当前窗口时会出现SIP输入面板刷新问题。目前我主要通过捕获WM_CANCELMODE消息来做的,在此消息处理中更新SIP面板。 This message is sent to the focus window when a dialog box or message box is displ原创 2009-05-08 17:48:00 · 670 阅读 · 0 评论 -
如何取消Edit控件默认的选定状态
最近发现,自己编写的setupdll中有一个Edit控件,每次我打包安装时,此Edit控件都会自动选中所有文字,很是奇怪,上网查了一下发现,原来,每次用Tab键将焦点切换到Edit控件时会自动选中所有文字。怎么办呢?只需要把Edit控件的属性Tabstop设置成FALSE即可。 参考网址:http://www.itzhe.cn/news/20080606/152916.html原创 2009-05-09 15:05:00 · 1991 阅读 · 0 评论 -
重载操作符的运用
C++主题——重载操作符1. 重载操作符后,操作符的含义不应该被改变。2. 重载操作符后,优先级和结合性不变。3. 重载操作符,应注意如果原操作符是一目操作符,那么重载后仍应该是一目的,以此类推,特别注意:冲在操作符时使用默认实参是非法的。4. 短路操作符被重载后不再具备短路性。5. 对于选择友元、成员、非成员的形式,转载 2009-05-13 14:27:00 · 1578 阅读 · 2 评论 -
类型转换和运算符优先级问题
下面想跟大家分享一下,请大家看下面一个例子,看看结果是什么? #include using namespace std; int main() { unsigned char a = 0xA5; unsigned char b = ~a>>4; (1) unsigned char c = (~a)>>4; unsigned cha原创 2009-07-28 16:10:00 · 1585 阅读 · 0 评论 -
size_t的使用中出现的vector溢出问题
看一个例子:std::vector g_Vec; …… size_t i, j; // 不能用size_t,因为它是unsigned int,当m_LogInfoVec.size() - 1为-1时,实际上是赋给i一个很大的值 for (i = 0, j = g_Vec.size() - 1; i { …… } 那么怎么解决?使用iterator!最安原创 2009-07-29 18:14:00 · 1625 阅读 · 0 评论 -
隐藏开始按钮
隐藏开始按钮的方法有:方法一:SHFullScreen(hwnd, SHFS_HIDESTARTICON) ; 方法二:HWND hWnd; hWnd= ::FindWindow(TEXT("HHTaskBar"), NULL); ShowWindow(hWnd, SW_HIDE);原创 2009-04-07 15:00:00 · 1375 阅读 · 1 评论 -
Windows Mobile PPC5.0上的虚拟键表
转自:http://msdn.microsoft.com/en-us/library/ms927178.aspxPlatform Builder for Microsoft Windows CE 5.0 Virtual-Key CodesSend FeedbackThe following table shows the symbolic constant names,转载 2009-04-14 12:06:00 · 1550 阅读 · 1 评论 -
一个有意义的函数MAKELRESULT
This macro creates an unsigned 32-bit value for use as a return value from a window procedure. The macro concatenates two specified 16-bit values. LRESULT MAKELRESULT( WORD wLow, WORD w原创 2009-03-12 18:28:00 · 1072 阅读 · 0 评论 -
关于数字签名
开发过程中发现,在获取SP的指定进程路径时,访问被拒绝,得到的总是当前运行进程的地址。原因:SP中没有数字签名!所以需要在开发环境下,加入开发证书进行数字签名。同时,在SP机器上,需要安装Microsoft Visual Studio 8/SmartDevices/SDK/SDKTools/sdkcerts.cab原创 2009-03-11 17:35:00 · 542 阅读 · 0 评论 -
关于后缀
*.BAS即BASIC语言源程序*.PAS为PASCAL语言程序*.FOR为Fortran语言程序*.C即为C语言*.ASM即为汇编语言程序)。*.HLP即帮助文件(help)*.CFG即配置文件(config)*.DAT即数据文件(data)*.LOG即日志文件(log)*.TMP为临时文件(temporal)*.drv为设备驱动程序(Driver)*.fon原创 2009-03-12 16:59:00 · 780 阅读 · 0 评论 -
复制Icon和复制Bitmap的方法
1、复制Icon(并拉伸)//// 伸缩图标,指定图标的长和宽//HICON StretchIcon(HICON hIcon, int iWidth, int iHeight){ HICON hTempIcon; HDC hdc = GetDC(NULL); //建立一个兼容DC,用于作图 HDC hMemDc = CreateCompatibleDC(hdc); //注意,这里的原创 2009-03-12 15:52:00 · 1679 阅读 · 0 评论 -
-1和0xFFFFFFFF
让当前进程进入内核模式需要使用以下两句:SetKMode(TRUE);DWORD dwPermit = -1;SetProcPermissions(dwPermit ); 查看SDK发现:DWORD SetProcPermissions( DWORD newperms );This function sets the internal permissions bitm原创 2009-03-12 17:42:00 · 4367 阅读 · 1 评论 -
memcpy的使用学习
memcpy就是内存之间的复制,它的参数可以是任意结构的指针。我们如何使用它呢?typedef struct test1{ TCAHR szName[64]; TCHAR szPath[128]; TCHAR szDetails[512];}TESTONE; typedef struct test2{ TCAHR szName[64]原创 2009-03-20 17:08:00 · 829 阅读 · 0 评论 -
CeFindFirstRegChange
CeFindFirstRegChange原创 2009-04-02 18:11:00 · 1176 阅读 · 0 评论 -
如何读Unicode文件
下面是一个读取Unicode文件的程序: TCHAR* pContent = NULL;//保存从文件中读取的内容 HANDLE fileReadHandle = NULL; TCHAR szFilePath[MAX_PATH]; wcsncpy(szFilePath, _T("//Program Files//test.txt"), MAX_PATH); fileR原创 2009-04-14 10:53:00 · 1851 阅读 · 0 评论 -
wap 1.2在PPC上不支持方向键切换焦点
今天使用PPC打开很多个wap网站,发现都无法通过方向键聚焦在某个超链接上,并且在超链接间切换焦点。但是唯独空中网(kong.net)可以。通过查看源码发现:(1)WAP 1.2标准的WML页面,无法在PPC上使用方向键移动焦点(2)WAP 2.0标准的XHTML,可以在PPC上支持方向键移动焦点由于wap1.2在PPC上本身不支持方向键移动焦点功能,所以不行。目前大部分手机浏览器原创 2009-06-24 17:22:00 · 677 阅读 · 0 评论