怎么可以让list control 随着窗口的大小而变化?

wayne92 2005-07-30 05:09:57
一个基于单文档的程序,窗口可以最小,最大化,添加一个list control在里面.
在窗口最大的时候,怎么可以使list control也变大?
...全文
274 9 打赏 收藏 转发到动态 举报
写回复
用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);
}

15,978

社区成员

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

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