读书人

基于dialog的控件排列、放大、缩小?解

发布时间: 2013-06-19 10:26:40 作者: rapoo

基于dialog的控件排列、放大、缩小?
如果在dialog中将一个文本和一个编辑框重叠放置(文本所占面积更大),如何保证将编辑框显示在文本的上面?如何让文本和编辑框的尺寸随着dialog的变化而自动放大缩小(保证文本大小与对话框大小的比例不变)? 对话框?文本?编辑框
[解决办法]
文本框属性里面有一个透明属性Transparent,选中它就可以保证将编辑框显示在文本的上面。
至于让文本和编辑框的尺寸随着dialog的变化而自动放大缩小,需要在对话框的WM_SIZE消息响应函数里,根据对话框尺寸的变化,逐个调整对话框上面所有空间的尺寸同比例缩放。这种功能网上应该能找到现成的例子
[解决办法]

//WM_SIZE
void 对话框::OnSize()
{
GetClientRect(...);
子控件.MoveWindow(...);
}

[解决办法]
不要这么设计控件
控件重叠会有很多问题
设计中应该尽量避免
就你这个问题
完全可以直接将文本TextOut输出到背景上

读书人网 >VC/MFC

热点推荐