我正在尝试同时创建“按钮”样式和“编辑”样式窗口,以便用户可以输入字符串,然后按按钮继续执行该应用程序。
首先创建按钮:
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的子窗口,它们是否会以某种方式“干扰”?