创建子窗口显示不正常的问题
在父窗口中创建一个子窗口,会出现子窗口有的部分被父窗口覆盖。
CDialogFindString * lDialogFindString;//子窗口
lDialogFindString = new CDialogFindString;
lDialogFindString->Create(CDialogFindString::IDD,this);//在父窗口中创建子窗口
lDialogFindString->ModifyStyle(WS_POPUP,WS_CHILDWINDOW);
//lDialogFindString->SetParent(this);
lDialogFindString->ShowWindow(SW_SHOW);
这样子创建会出问题,也没查到有什么解决的方法。
不过,如果只是两个窗口之间传消息,不用设置为父子窗口的关系,可用如下方法实现。
在要发送消息的窗口中添加一个属性HWND mhMainWnd;
在接收消息的窗口中创建发送消息的窗口:
lDialogFindString->Create(CDialogFindString::IDD,NULL);
lDialogFindString->mhMainWnd = GetSafeHwnd();
lDialogFindString->ShowWindow(SW_SHOW);
在发送消息窗口中发送消息:::PostMessageW(mhMainWnd,WM_FIND_STRING_NEXT,WM_FIND_STRING_NEXT_ANSI,(LPARAM)0)