社区
界面
帖子详情
怎么可以让list control 随着窗口的大小而变化?
wayne92
2005-07-30 05:09:57
一个基于单文档的程序,窗口可以最小,最大化,添加一个list control在里面.
在窗口最大的时候,怎么可以使list control也变大?
...全文
278
9
打赏
收藏
怎么可以让list control 随着窗口的大小而变化?
一个基于单文档的程序,窗口可以最小,最大化,添加一个list control在里面. 在窗口最大的时候,怎么可以使list control也变大?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
goodboyws
2005-08-01
打赏
举报
回复
m_listCtrl.SetWindowPos(NULL
, layoutRect.left
, layoutRect.top
, layoutRect.Width()-100
, layoutRect.Height()
, SWP_SHOWWINDOW);
m_button1.SetWindowPos(...);
m_button2.SetWindowPos(...);
两个按钮的位置自己算一下吧
wayne92
2005-07-31
打赏
举报
回复
谢谢,已经可以了
但又有另一个问题,没有最大化的时候,list control旁边的两个命令按钮还可以起作用,最大化后,命令按钮就不能用了。请问怎么解决?
caocheng8230
2005-07-31
打赏
举报
回复
右键点击classview中的class名,然后选择添加窗口的消息相应,选择WM_SIZE Add,然后添加上面的那个Onsize中的代码就行了
CRect layoutRect;
GetClientRect(&layoutRect);
if(m_listCtrl.m_hWnd)
{
m_listCtrl.SetWindowPos(NULL
, layoutRect.left
, layoutRect.top
, layoutRect.Width()
, layoutRect.Height()
, SWP_SHOWWINDOW);
}
surstar
2005-07-30
打赏
举报
回复
WM_SIZE响应函数?
我是菜鸟,在哪里找到这个函数?
--------
CTRL + W 找到WM_SIZE 双击就可以了
注意你当时选的类是哪一个类
qrlvls
2005-07-30
打赏
举报
回复
OnSize 中 SetWindowPos 或 MoveWindow
结合 GetClientRect 来调整窗口位置和大小
参考:
http://www.codeproject.com/dialog/dlgresizearticle.asp
oyljerry
2005-07-30
打赏
举报
回复
响应WM_SIZE消息,然后SetWindowPos/MoveWindow等比例设置大小
tangjun237
2005-07-30
打赏
举报
回复
//在View类里用右键弹出菜单后选Add Windows Message Hander
//然后在弹出的对话框中左边的列表框选中WM_SIZE
//点"Add and Edit",会在你的类中多一个OnSize()函数
//在里面添加代码即可
wayne92
2005-07-30
打赏
举报
回复
WM_SIZE响应函数?
我是菜鸟,在哪里找到这个函数?
sun1126
2005-07-30
打赏
举报
回复
在WM_SIZE响应函数中加入如下代码:
CRect layoutRect;
GetClientRect(&layoutRect);
if(m_listCtrl.m_hWnd)
{
m_listCtrl.SetWindowPos(NULL
, layoutRect.left
, layoutRect.top
, layoutRect.Width()
, layoutRect.Height()
, SWP_SHOWWINDOW);
}
List
control
控件随着框架
窗口
的
大小
而
变化
当用户改变框架
窗口
的
大小
后,框架
窗口
会接收到 WM_SIZE 消息,并且提供了改变后的
大小
等信息; 这时,你就可以响应这个消息,根据改变后的情况来控制子
窗口
。 void CTest0826Dlg::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); CRect l_ct; GetCli
让
List
Control
控件随
窗口
自动调整
大小
消息映射 1..h头文件中: afx_msg void OnSize(UINT nType, int cx, int cy ); 2.CPP中申请接收ON_WM_SIZE()消息 3.cpp中实现 ::OnSize(UINT nType, int cx, int cy ){ if(NULL!=m_ctr
List
){ CRect rect; GetCl
控件
大小
随
窗口
变化
的方法(MFC)
VC++之根据对话框
大小
调整控件
大小
1、在对话框类中加入成员变量CRect m_rect;用于保存对话框
大小
变化
前的
大小
; 2、在对话框的OnInitDialog()函数中获取对话框创建时的
大小
:GetClientRect(&m_rect); 3、在WM_SIZE的响应函数OnSize()中加入以下代码: CWnd *pWnd; pWnd = GetDlgItem(IDC_
LIST
)
MFC控件随着
窗口
大小
改变
首先明确的是Windows有一个WM_SIZE消息响应函数,这个函数在对话框
大小
发生
变化
的时候调用,所以我们可以记录下原来对话框的
大小
,还有当前对话框的
大小
(这个不用自己算,系统已给出),然后根据控件做出相应比例的调整。 注释:可以在控件可视化界面右键点击控件,选择“属性”,在属性列表有个“动态布局”栏,里面有个“调整
大小
类型”,选择“两者”。 比如原来对话框
大小
为a,现在为b,原来控件
大小
为......
MFC设置控件跟随
窗口
大小
变化
窗口
自适应(原理:保存坐标点与
窗口
比例)
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章