返回信息流大家好。
我是在做window mobile的编程,我查了相关资料,这个编程和window的编程差别很小。
我的思路是:创建了一个主窗口,然后,按下一号数字键创建一个子窗口,之后就显示这个子窗口。
现在,我遇到的问题是:这个子窗口无法显示出来。
有可能是某一个参数设置错了,但因为我不熟悉windows编程,所以我也不知道该修改哪个参数,特来此请教兄弟姐妹们~~~
随便提一句:如果作为两个单独的窗口(没有父子关系),两个窗口都是可以显示出来的。
简单的示例代码如下:
主窗口:
WNDCLASS wc;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = (WNDPROC)BaseWndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY1022));
wc.hCursor = 0;
wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
wc.lpszMenuName = 0;
wc.lpszClassName = L"Demo";
RegisterClass(&wc);
hwnd = CreateWindow( L"Demo;, L"Main", WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, (void *)this);
子窗口:
WNDCLASS wc;
BOOL bSuccess;
HWND hWndDetail;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = (WNDPROC)DetailWndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = g_hInst;
wc.hIcon = LoadIcon(g_hInst, MAKEINTRESOURCE(IDI_MY1022));
wc.hCursor = 0;
wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
wc.lpszMenuName = 0;
wc.lpszClassName = L"demo";
bSuccess = RegisterClass(&wc);
hWndDetail = CreateWindow (L"demo", L"Detail", WS_VISIBLE|WS_CHILD,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
g_hWnd, NULL, g_hInst, (LPSTR)NULL);
ShowWindow(hWndDetail, SW_SHOW);
UpdateWindow(hWndDetail);
这是一条镜像帖。来源:北邮人论坛 / soft-design / #21896同步于 2007/10/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
【求助】windows编程:创建子窗口
onion
2007/10/22镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
呵呵~~~
谢谢楼上的。
问题已经解决了。
我看了MSND,发现原因是:在创建子窗口的时候,CW_USEDEFAULT的值是零。
ps:上面帖的示例代码,是分别从两个函数中截取的一段。