创建第二个子窗口导致第一个窗口消失?

时间:2013-10-09 16:03:20

标签: visual-studio visual-c++ msdn

我正在尝试同时创建“按钮”样式和“编辑”样式窗口,以便用户可以输入字符串,然后按按钮继续执行该应用程序。

首先创建按钮:

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的子窗口,它们是否会以某种方式“干扰”?

0 个答案:

没有答案