随笔分类 -  WinSdk!

摘要:WM_MOUSELEAVE是鼠标离开窗口时发出的消息,但是这个消息与普通的鼠标消息不同,要收到WM_MOUSELEAVE消息必须先调用TrackMouseEvent,并且每调用一次TrackMouseEvent窗口只能收到一次WM_MOUSELEAVE,也就说如果要获得WM_MOUSELEAVE消息的话,当鼠标重新进入窗口时必须调用一次TrackMouseEvent。staticBOOLbTrackLeave=FALSE;voidCMyWnd::OnMouseMove(UINTnFlags,CPointpoint){if(!bTrackLeave){//鼠标第一次移入窗口时,请求一个WM_MO 阅读全文
posted @ 2013-11-24 19:02 Tup 阅读(728) 评论(0) 推荐(0)
摘要:wcscpy_s是对应于wcscpy的安全版本。CString cstrVolDesc;wchar_t* label = new wchar_t[100];....//wcscpy_s(label, cstrVolDesc.GetLength(), cstrVolDesc.GetString());//error:"Buffer too small"wcscpy_s(label, cstrVolDesc.GetLength()+1, cstrVolDesc.GetString());..可见,使用wcscpy_s一定要保证目标字符串的大小一定要比源字符串大,而且第二个参数指 阅读全文
posted @ 2013-11-20 19:10 Tup 阅读(2008) 评论(0) 推荐(0)
摘要:memcpy是物理层次的复制 不管你类型是否统一 我就给你复制了^0^这里探讨下常见的情况:实例1: (LPCWSTR-->LPWSTR) ... LPCWSTR strConst = L"ABCDEFGHIJKLMNOPQRSTUVWXYZ"; LPWSTR strNormal = new WCHAR[50]; memcpy(strNormal, strConst, 10);//乱码 ... 这说明:从小的size复制到大的size,只复制少部分字符,是不行的。实例2: (LPCWSTR-->LPWSTR) ... LPCWSTR strConst = L&q 阅读全文
posted @ 2013-11-20 19:03 Tup 阅读(370) 评论(0) 推荐(0)
摘要:CString是微软程序员的偏爱,用不好也会让你很头疼,又爱又恨啊。主要实现在三个文件中atlstr.h cstringt.h atlsimpstr.h, atlsimpstr.h负责最基本的设计,cstringt.h则负责一些高级函数的实现,atlstr.h负责最后的封装。如果在非MFC工程中使用CString的,主要#include 就足够了。看到这段代码,挺有意思^0^templateclass ChTraitsBase{public: typedef char XCHAR; typedef LPSTR PXSTR; typedef LPCSTR PCXSTR; typedef wch. 阅读全文
posted @ 2013-11-20 16:04 Tup 阅读(714) 评论(0) 推荐(0)
摘要:------>-----> ----->效果: main.cpp源码:#include #include #include "resource.h"// Our DDB handle is a global variable.HBITMAP hbm;BOOL gdi01_OnCreate( HWND hwnd, LPCREATESTRUCT lpcs){ // The bitmap should be stored as a resource in the exe file. // We pass the hInstance of the applicat 阅读全文
posted @ 2013-08-27 11:35 Tup 阅读(4895) 评论(0) 推荐(0)