MFC中 如何设置CDialog可以拉伸? 就像单文档的窗口那样? 还是要自己去实现的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中 如何设置CDialog可以拉伸? 就像单文档的窗口那样? 还是要自己去实现的?相关的知识,希望对你有一定的参考价值。

在对话框资源的属性中选择Style中的Border中选择Resizing即可。 参考技术A ?你设置下窗口样式就可以拉伸了,具体属性记不得了,你google之

如何在 MFC C++ 中实例化相同的对话框?

【中文标题】如何在 MFC C++ 中实例化相同的对话框?【英文标题】:How to instanciate same dialog in MFC C++? 【发布时间】:2012-07-25 18:05:25 【问题描述】:

我想构建一个 MFC 对话框,在其中添加一个简单的TabControl。我希望我的标签页是相同 CDialog 的实例,但具有一些不同的参数(例如显示哪些按钮)。

我正在使用 Visual Studio 2008。

我对 C++ 比较陌生,但我看到每个组件(CButton、CDialog)都有自己的 ID(这是静态的,所以我理论上不能实例化同一个组件两次)。

我想知道如何做这样的事情:

for (index = 0 to tabNumber) 
  name = "TAB"+index;
  tabCtrl.add(new CustomDialog(name, i));

【问题讨论】:

实际上创建同一个对话框可以根据需要多次。控件 ID 始终参考父对话框窗口,因此没有冲突。 【参考方案1】:

您必须在创建项目时提供不同的 TabID。

OnInitDialog()

m_cTab.Init();

m_cTab.InsertItem(0,"Register new user");//tabID=0
m_cTab.InsertItem(1,"Identify");// TabID=1

//注册新用户 m_cTab.CreateButton("加载图片",23,TabID=0, 0, m_cTab.RightOf(22)+15, m_cTab.TopOf(19),60); //确认 m_cTab.CreateButton("注册用户",24,TabID=1,P_LEFT,0, m_cTab.TopOf(20) ,60);


【讨论】:

以上是关于MFC中 如何设置CDialog可以拉伸? 就像单文档的窗口那样? 还是要自己去实现的?的主要内容,如果未能解决你的问题,请参考以下文章

★VC-MFC◆CToolbarCtrl && CDialog 下拉菜单 ★

如何在 MFC CDialog 类中自动删除事件处理程序?

MFC中CDialog 的OnKeyDown()为啥不好使?

模态 CDialog 找不到资源 (MFC)

MFC OnPaint()函数中最先调用CDialog::OnPaint()和最后调用CDialog::OnPaint()的巨大区别

如何使用修改后的 DLGTEMPLATEEX 调用 CDialog::DoModal()