首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

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

2013-06-19 
基于dialog的控件排列、放大、缩小?如果在dialog中将一个文本和一个编辑框重叠放置(文本所占面积更大),如何

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

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

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

热点排行