随笔分类 - WinSdk!
摘要:WM_MOUSELEAVE是鼠标离开窗口时发出的消息,但是这个消息与普通的鼠标消息不同,要收到WM_MOUSELEAVE消息必须先调用TrackMouseEvent,并且每调用一次TrackMouseEvent窗口只能收到一次WM_MOUSELEAVE,也就说如果要获得WM_MOUSELEAVE消息的话,当鼠标重新进入窗口时必须调用一次TrackMouseEvent。staticBOOLbTrackLeave=FALSE;voidCMyWnd::OnMouseMove(UINTnFlags,CPointpoint){if(!bTrackLeave){//鼠标第一次移入窗口时,请求一个WM_MO
阅读全文
摘要: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一定要保证目标字符串的大小一定要比源字符串大,而且第二个参数指
阅读全文
摘要: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
阅读全文
摘要: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.
阅读全文
摘要:------>-----> ----->效果: 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
阅读全文

浙公网安备 33010602011771号