MFC 的onsize函数不响应

lmBLCU 2012-06-20 05:16:58
在做一个简易total commander的时候,建立了两个FormView各占一边,分别在这两个视图类上放置了ListCtrl空间,然后用OnSize函数调整控件的显示,使控件可以占满视图,这是两个OnSize函数的实现,为什么只有一个调整好了,FromView2却没有反应啊
void FinalFromView1::OnSize(UINT nType, int cx, int cy)
{
CFormView::OnSize(nType, cx, cy);

// TODO: Add your message handler code here

if(m_Listctrl1)
{
m_Listctrl1.MoveWindow(0,0,cx,cy);
}

}
void Finalc::OnSize(UINT nType, int cx, int cy)
{
CFormView::OnSize(nType, cx, cy);

// TODO: Add your message handler code here
if(m_Listctrl2)
{
m_Listctrl2.MoveWindow(0,0,cx,cy);
}

}
...全文
545 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2013-03-07
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
shen_wei 2012-06-21
  • 打赏
  • 举报
回复
根据你要改变的FromView来实现相应的消息。。
  • 打赏
  • 举报
回复
这个在孙鑫的<菜单>那一讲里有说过的
  • 打赏
  • 举报
回复
消息是有接收次序的
你如果你的FinalFromView1接收了OnSize()消息
FromView2就肯定接收不到的
你的窗口改变尺寸只是发送一个Message
这个消息一旦被能接收它的控件或窗口类接受了
它就不继续走了
---------------
处理方法
---------------
你可以在FinalFromView1接收到这个消息之后
调用GetDlgItem获得FromView2的资源ID
来改变FromView2的尺寸
  • 打赏
  • 举报
回复
if(m_Listctrl2.GetSafeHWnd())
elaine 2012-06-20
  • 打赏
  • 举报
回复
BEGIN_MESSAGE_MAP(CMoveScrollBarList, CListCtrl)
ON_WM_SIZE()
END_MESSAGE_MAP()
看一下有消息映射没?

15,979

社区成员

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

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