创建子窗口显示不正常的问题

28 篇文章 0 订阅

创建子窗口显示不正常的问题

在父窗口中创建一个子窗口,会出现子窗口有的部分被父窗口覆盖。

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值