控件随窗口大小改变而改变.与窗口的相对大小不变.

HeIsAHandsome 2005-01-14 12:50:06
单文档程序,FormView类的.

我发现程序运行后,如果把窗口最大化,Dialog上及面的控件并不随着一起最大化,
而是保持原有大小,从而使得视图区下方和右方一大片空白..

请问如何能使Dialog及控件随窗口框架一起改变大小。..
谢谢了。...

新手,只能放20分.希望大家多多帮忙 .
再次感谢...
...全文
187 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzheng318 2005-01-15
  • 打赏
  • 举报
回复
virtual BOOL OnSize(
LONG Width,
LONG Height);
老夏Max 2005-01-15
  • 打赏
  • 举报
回复
算法?呵呵,参考http://www.vchelp.net/vchelp/archive.asp?type_id=5&class_id=1&cata_id=1&article_id=539&search_term=


这里的CResizableDialog就是一个很好的东东!
老夏Max 2005-01-14
  • 打赏
  • 举报
回复
处理OnSize即可!
在那里面对每个控件进行MoveWindow!
HeIsAHandsome 2005-01-14
  • 打赏
  • 举报
回复
那,如果ID不相连的话..
那是不是只能一个一个的操作了?..
如果是这样的话,那也是没办法了...
呵呵..
谢谢 vcleaner(我没做大哥已经很久了.......) 了。..

但我还是希望有更好的办法...呵呵...

能给个MoveWindow的例子吗? vcleaner(我没做大哥已经很久了.......) 大哥..
老夏Max 2005-01-14
  • 打赏
  • 举报
回复
控件很多?那就想办法使用一个For循环做啊。只要界面上的控件的ID相连,就可以了!
一个For循环做!前提是你的Group的控件的ID是相连的
直接:
int ViewFirst;// = IDC_BITTON_1;View中的第一个控件
int ViewLast;// = IDC_BITTON_N; View中的最后一个控件
//你可以直接修改resource.h中的控件ID值,使这些ID相连
for(ViewFirst = IDC_BITTON_1;ViewFirst <= ViewLast;ViewFisrt++)
GetDlgItem(ViewFirst)->MoveWindow(....)
HeIsAHandsome 2005-01-14
  • 打赏
  • 举报
回复
如果控件很多的话....那.....

能说具体点吗?谢谢vcleaner大哥了..
或者有什么别的好方法吗?..
....
再次感谢..

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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