+ -
当前位置:首页 → 问答吧 → 让控件随着DIALOG而动,需要响应什么事件?

让控件随着DIALOG而动,需要响应什么事件?

时间:2011-11-29

来源:互联网

我想让CStatusBar,CTreeCtrl,CListCtrl跟着对话框的拉伸一起变动,是要响应什么事件吗?代码在哪里添加呢?没有头绪,想请教

作者: lrypower   发布时间: 2011-11-29

一般是响应对话框的OnSize(WM_SIZE),然后计算好控件在对话框上的位置比例,重新对控件MoveWindow

作者: dingxz105090   发布时间: 2011-11-30

我这一个基于对话框的程序,下有一个子对话框,ChildDialog,Style为child,上面有个CListCtrl,view为report,想让它跟着子对话框位伸,响应OnSize,在这个函数里面,我用GetWindowRect获取不到控件的区域,后来,我在头文件中增加一个CRect变量,在OnInitDialog里面获取了控件的大小,但转到OnSize后,数据又丢失了,所以现在的情况是编绎通过了,但只要一打开对话框,就被中断,得不到控件的大小,连对话框都打不开了,请问应该如何解决总题呢?

作者: lrypower   发布时间: 2011-12-02

OnWindowPosChanged,在这里面写,dialog添加window消息

作者: ljmanage   发布时间: 2011-12-02

onsize

getclientwindow 

 movewindow

作者: eyinlu   发布时间: 2011-12-02

http://blog.csdn.net/zyrr159487/article/details/7011081

作者: zyrr159487   发布时间: 2011-12-02

直接提供示例:http://www.codeproject.com/KB/dialog/easysize.aspx
注册帐号后可以下载。

作者: fight_in_dl   发布时间: 2011-12-02

引用 4 楼 eyinlu 的回复:
onsize

getclientwindow

movewindow

++

作者: shiyunqiang   发布时间: 2011-12-02

自动适应窗口大小,如果样式要改变可以发消息给这个控件,通知它改变。

作者: xiaoxiaoyu85   发布时间: 2011-12-02

引用 6 楼 fight_in_dl 的回复:

直接提供示例:http://www.codeproject.com/KB/dialog/easysize.aspx
注册帐号后可以下载。

研究下这个就明白了

作者: gameslq   发布时间: 2011-12-02

WM_SIZING/WM_SIZE消息中MoveWindow/SetWindowPos()子控件

作者: VisualEleven   发布时间: 2011-12-02

BCG中有实现好的: 

CBCGPStaticLayout* pLayout = (CBCGPStaticLayout*)GetLayout();

pLayout->AddAnchor(IDC_RECENT_FILES, CBCGPStaticLayout::e_MoveTypeNone, CBCGPStaticLayout::e_SizeTypeBoth);

作者: Kaile   发布时间: 2011-12-02