MFC基于单文档模式下对话框的控件样式问题。

SymphonySaki 2015-04-10 11:10:11
我之前的MFC工程都是基于对话框的,所以一般采用如下方式来打开一个对话框,Dlg的Style为Popup。
CMainDlg dlg;
dlg.DoModal();

这样得到的对话框上的控件样式如下(和资源视图中Dlg预览一致):


现在我开始接触基于单文档(with ribbon)的工程,在CXXView.cpp里面,我采取如下方式打开一个对话框,Dlg的Style为Child,并且Border和TitleBar都是None。
	m_pMainDlg = new CMainDlg(this);
m_pMainDlg->Create(IDD_DIALOG_MAIN, this);
m_pMainDlg->ShowWindow(SW_SHOW);
m_pMainDlg->MoveWindow(&g_rcClient);

这样的话,对话框出来的控件样式就成了这样:


感觉变丑了很多啊,有没有什么方法能够使得像这样以Child风格展现出来的对话框上的控件,也能像以前Popup出来的对话框上的控件那样好看呢?最好能说一下实现原理,希望高人指教,谢谢~
...全文
176 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
schlafenhamster 2015-04-11
  • 打赏
  • 举报
回复
使用 CFormView(即对话框的view风格)
worldy 2015-04-11
  • 打赏
  • 举报
回复
对话框不要使用Child风格,应该使用POPUP
SymphonySaki 2015-04-11
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
样式风格可能两种模板不一样,你想要对话框就还是用对话框工程
但是我在单文档工程里用Domodal()得到的Popup式的风格依旧是基于对话框工程的那样,我在想是不是有什么地方可以设置。。。
oyljerry 2015-04-10
  • 打赏
  • 举报
回复
样式风格可能两种模板不一样,你想要对话框就还是用对话框工程

16,371

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧