宏函数 1、因为#defind 用法只能在一行,所以定义宏函数的时候换行的时候应该加一个\,代表永远是在一行的#define INITHOOK(hook, flag, type, function) \{ \ if (dwOptions & flag) \ hook = SetWindowsHookEx(type, function, NULL, GetCurrentThreadId())
更改窗体过程 1、定义一个 成员WNDPROC m_lpfnOldProc;static LRESULT CALLBACK SCWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);2、初始化走一次更改窗体过程 m_lpfnOldProc = (WNDPROC)SetWindowLong(m_Header.GetSafeHwn
mfc析构 DestroyWindow句柄 注意:当析构走完了以后已经没有句柄m_hWdn,所以要在DestroyWindow的时候做一些响应的处理 比如消除以创建的窗口过程;1、创建的时候用SetWindowLong2、消除的时候用RemoveProp3、保留原先的窗口过程用 SetProp(hWnd,(_T("oldWndPro")),m_pOldWndProc); 4、取出保留的GetProp(hWnd,_T("old
MFc 两个类头文件互相引用 当两个类的头文件互相引用的时候会把错,此方法是不可存取,当需要在这个类A用到另一个类B的指针时,其中另一个类B已经应用类A.h文件,此时类Aj就不能引用类B的.h文件应该在类A中定义void * 变量名保存 :例如void *m_pL; 然后在类B中把指针传个类A的m_pL;用的时候强转(B)m_pL;