MFC中如何实现Tab控件里子对话框里的控件跟着对主话框伸缩而改变位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中如何实现Tab控件里子对话框里的控件跟着对主话框伸缩而改变位置相关的知识,希望对你有一定的参考价值。

wssuniverwssuniver等级:结帖率:100%
楼主

发表于:
2012-09-17 16:03:29

用VC 编对话框,添加 了Tab控件,控件里添加了三个子对话框,子对话框里有其他控件,程序运行后拉伸对话框时只有Tab控件会跟着边框伸缩,而子对话框里的控件位置都不发生改变。

参考技术A 在子窗口中,筛上部分的移动控件。 参考技术B 在子窗口的OnSize里移动控件。追问

能具体点不?

来自:求助得到的回答
参考技术B 需要在子对话框中onsize中写代码
针对对话框大小改变时改变各控件的位置追问

能具体点不?

参考技术C MFC是实现不了的,你可以用别的

如何在 MFC 静态控件中增加字符限制

【中文标题】如何在 MFC 静态控件中增加字符限制【英文标题】:How to increase character limit in MFC static control 【发布时间】:2011-05-04 10:41:37 【问题描述】:

我们在对话框中使用 MFC 静态控件向用户显示一些内容。静态控件和对话框都在资源文件 (.rc) 中定义为 LTEXT 和 DIALOG。问题是如果内容超过 256 个字符,它会被截断。有谁知道如何增加这个限制。控件和对话框都是老式的。

【问题讨论】:

【参考方案1】:

您可以为这个问题投票here。不要指望奇迹,资源编译器是新石器时代的。您必须通过使用多个静态控件或在运行时在 WM_INITDIALOG 消息处理程序中设置文本来解决它。不要高估用户的耐心。

【讨论】:

我刚刚在将旧的 BC5 应用程序迁移到 Visual Studio 2017 时遇到了这个问题。显然它还没有解决。【参考方案2】:

静态控件显示文本但没有用户交互;它们没有滚动条,并且会截断文本以适应控件的边界。如果您的问题是文本填充控件并被截断,请考虑切换到只读编辑控件。

如果控件只接受 256 个字符,即使还有更多空间,我不知道为什么会这样。 MSDN 没有提到对控件文本大小的限制。

【讨论】:

是后一种情况,即控制只接受 256 个字符。我很困惑。 奇数。如果调用 GetWindowTextLength() 会得到什么? 这不是 STATIC 窗口类的限制。我已经创建了一个带有大型静态控件的快速 MFC 对话框应用程序,并用文本填充它。我可以在 306 * 139 单位控件中看到 1377 个字符。【参考方案3】:

据我了解,编译器似乎对可编译模块中的内联字符串有限制。如果您使用如此大的文本作为标题,为什么不介意创建一个字符串表?对于静态控件,256K 字符没有这样的限制。

【讨论】:

以上是关于MFC中如何实现Tab控件里子对话框里的控件跟着对主话框伸缩而改变位置的主要内容,如果未能解决你的问题,请参考以下文章

VC6.0中基于对话框的MFC EXE中的Tab Control控件如何使用???

MFC如何选中combo box的一个内容,将这个内容显示在edit中?请高手指点?

VC6.0中基于对话框的MFC EXE中的Tab Control控件如何使用???

MFC标签控件CTabCtrl

mfc对话框tab control怎么用

MFC编程 | tab control控件的使用