mfc 窗口大小变化时,如何让窗口内部控件也一起随比例改变位置,解决办法:
对应窗口的属性Maximize Box和Minimize Box设置为true,从而能够使窗口最大化和最小化,Border属性设置为Resizing从而可以改变窗口的大小。
在消息有个WM_SIZE,添加函数OnSize,这样可以在函数内调整控件的大小,特别说明很多代码中利用当前控件比值与窗口大小比值再乘上当前窗口大小来改变控件大小,但是由于精度的问题,调整多次就会出问题,那么这里可以利用一个结构体保存每个控件与原窗口的比值。
如以上回答未解决问题,请尝试:
使用SetWindowPos函数。
使用MoveWindow函数
你在文本方式打开RC之后,搜索IDD_LICENSE_SCENE,你会发现有三个地方对这个对话框进行了定义(VC版本不同,这个有差异),对话框的大小,不止是一组宽高数据,而是需要对应调整对齐数据和控件位置数据,单独调整一个,有时候甚至会造成死机错误。如果你只是系统调整对话框大小,为什么要用文本编辑方式呢?图形编辑方式下,鼠标拉伸大小,右下角会显示对话框宽高的,用这个调整比较好,你可以保存一下RC里面的几段文本,拉伸后对比变化,就知道数据之间的关联了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)