我正在尝试创建“按钮”样式和“编辑”样式的窗口,以便用户可以输入一个字符串,然后按下按钮继续执行应用程序。
首先创建按钮:
hButton = CreateWindow(L"button",L"Label",WS_CHILD|WS_VISIBLE,100,100,
100,100,hWnd,(HMENU)BUTTON_ID,NULL,NULL);
ShowWindow(hButton,SW_SHOW);
然后,稍后在应用程序中,我重新绘制了窗口,所以我重新显示了按钮......
ShowWindow(hButton,SW_SHOW);
...然后创建文本框:
HWND hTextBox = CreateWindowEx(WS_EX_CLIENTEDGE,TEXT("Edit"),TEXT(""),
WS_CHILD|WS_VISIBLE, 500,500,500,500,hWnd,NULL,NULL,NULL);
HFONT font =CreateFont((int)24.0f,0,0,0,FW_THIN,false,false,false,
ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_DONTCARE,L"Helvetica");
SendMessage(hTextBox,WM_SETFONT,(WPARAM)font,false);
ShowWindow(hTextBox,SW_SHOW);
不幸的是,按钮永远不会重新出现,并且文本框看起来不正确(没有 CLIENTEDGE 样式,没有 Helvetica 字体等)有趣的是,如果我删除文本框代码,按钮在第二个 ShowWindow( hButton,SW_SHOW) 调用。
关于我的问题可能是什么的任何想法?由于按钮和文本框都是 hWnd 的子窗口,它们会以某种方式“干扰”吗?