有对话框A和对话框B, A嵌套到B中. B中右上角有三个按钮, n1, n2, n3. 其中,n2为放大按钮.对话框B是黑色背景的,对话框A显示一幅图片. 当点击放大按钮n2时,由于窗口重绘, 对话框B的黑色背景覆盖了对话框A的画面. 请问各位网友, 如何解决背景色覆盖问题?
1条回答
关注 不知道你这个问题是否已经解决, 如果还没有解决的话:- 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/220294
- 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:我自己想到了解决MFC背景图片覆盖控件的方法,非常简单
- 除此之外, 这篇博客: MFC 返回上一级对话框中的 当使用在一个对话框A(父对话框)内打开另一个对话框B(子对话框),如何实现父对话框的隐藏,然后当子对话框关闭时,如何将子对话框关闭的同时打开隐藏的父对话框? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
在父对话框中创建并显示子对话框,同时隐藏父对话框:
void Student_Login::OnBnClickedButtonCc() { // TODO: 在此添加控件通知处理程序代码 ChooseCourse *m_dlg = new ChooseCourse(this); m_dlg->Create(IDD_DIALOG_COURSE, this); //隐藏本对话框 this->ShowWindow(SW_HIDE); //显示子对话框 m_dlg->ShowWindow(SW_SHOW); }
在子对话框中关闭子对话框同时显示出父对话框:
1、首先定义一个全局变量CWnd *m_pParent来保存从父对话框传过来的父对话框窗口句柄。private: CWnd *m_pParent;
2、在子对话框类的构造函数中将父对话框传过来的父对话框窗口句柄保存到m_pParent中。
ChooseCourse::ChooseCourse(CWnd* pParent /*=nullptr*/) : CDialogEx(IDD_DIALOG_COURSE, pParent) { m_pParent = pParent; }
3、在子对话框函数中显示父对话框,同时关闭子对话框:
void ChooseCourse::OnBnClickedButtonBack1() { // TODO: 在此添加控件通知处理程序代码 m_pParent->ShowWindow(SW_SHOW); DestroyWindow(); delete this; }
大功告成!!!
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报
悬赏问题
- ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
- ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
- ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
- ¥20 腾讯企业邮箱邮件可以恢复么
- ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
- ¥15 错误 LNK2001 无法解析的外部符号
- ¥50 安装pyaudiokits失败
- ¥15 计组这些题应该咋做呀
- ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
- ¥15 让node服务器有自动加载文件的功能