用CreateWindow创建窗口时的注意事项
来源:互联网 发布:双肩包 男 知乎 编辑:程序博客网 时间:2024/04/30 15:47
5.1前,为了模拟一个程序的测试,从那个程序里copy出来一段代码,功能就是调用CreateWindow创建一个窗口;但是怎么也通过不了,CreateWindow老是返回NULL;查了MSDN,上面的代码也基本一样,没找到任何问题,郁闷的要命。
STDMETHODIMP CSetReady::Init( long hInst)
{
HWND s_wndPump = NULL;
WNDCLASS wc;
wc.style = 0;
wc.lpfnWndProc = PumpWndProc;
wc.cbClsExtra = wc.cbWndExtra = 0;
wc.hInstance = (HINSTANCE)hInst;
wc.hIcon = NULL;
wc.hCursor = NULL;
wc.hbrBackground = NULL;
wc.lpszMenuName = NULL;
wc.lpszClassName = _T("Test_Window");
RegisterClass(&wc);
s_wndPump = CreateWindow(wc.lpszClassName, NULL,
WS_DISABLED, 0, 0, 0, 0, NULL, NULL, wc.hInstance, NULL);
return S_OK;
}
原来问题出在传给WNDCLASS的窗口处理函数PumpWndProc上;调用CreateWindow时,CreateWindow会调用一次PumpWndProc,并且要求PumpWndProc返回TRUE。由于代码是copy过来的所以调试CreateWindow,没注意PumpWndProc的返回是什么,造成一直在CSetReady::Init里找原因,白忙活了半天。
STDMETHODIMP CSetReady::Init( long hInst)
{
HWND s_wndPump = NULL;
WNDCLASS wc;
wc.style = 0;
wc.lpfnWndProc = PumpWndProc;
wc.cbClsExtra = wc.cbWndExtra = 0;
wc.hInstance = (HINSTANCE)hInst;
wc.hIcon = NULL;
wc.hCursor = NULL;
wc.hbrBackground = NULL;
wc.lpszMenuName = NULL;
wc.lpszClassName = _T("Test_Window");
RegisterClass(&wc);
s_wndPump = CreateWindow(wc.lpszClassName, NULL,
WS_DISABLED, 0, 0, 0, 0, NULL, NULL, wc.hInstance, NULL);
return S_OK;
}
原来问题出在传给WNDCLASS的窗口处理函数PumpWndProc上;调用CreateWindow时,CreateWindow会调用一次PumpWndProc,并且要求PumpWndProc返回TRUE。由于代码是copy过来的所以调试CreateWindow,没注意PumpWndProc的返回是什么,造成一直在CSetReady::Init里找原因,白忙活了半天。
- 用CreateWindow创建窗口时的注意事项
- 用CreateWindow创建窗口时的注意事项
- 窗口的创建CreateWindow/CreateWindowEx函数使用说明
- 20120816-CreateWindow创建窗口
- 导致CreateWindow创建窗口失败的一种原因
- CreateWindow创建失败的问题
- vc CreateWindow创建窗口控件及设置字体
- C语言初学者:使用CreateWindow创建一个窗口
- C语言初学者:使用CreateWindow创建一个窗口
- vc CreateWindow创建窗口控件及设置字体
- win32 api CreateWindow创建窗口控件及设置字体
- DirectDraw创建窗口程序的注意事项
- 一种采用 Win32 CreateWindow 方式的模态窗口
- CreateWindow 创建edit不能使用中文输入的解决办法
- VC CreateWindow 找不到窗口类
- "易语言.尘土"界面库2.0版源代码分析(2):创建窗口(CreateWindow)
- 如何通过CreateWindow创建RichEdit
- CreateWindow的dwStyle 参数
- 常驻内存servlet配置
- 一个研究生毕业以后的人生规划(转自天涯虚拟社区)
- XDoclet
- IT人必读:写给浮躁的IT同仁(请不要做浮躁的人) 转
- JTree控件的使用
- 用CreateWindow创建窗口时的注意事项
- wimax与电力
- J2EE
- 三种排序算法及三种变量交换的宏实现
- 一段美好的记忆,一份真挚的感情,已经远去......
- 女朋友对男程序员的20大感受
- 新站还有最后一个功能没做,准备用datagrid+datalist来做简单留言本
- Hiweed-Debian 0.6下安装nvidia驱动
- 青春 Youth