如何改变一个CListBox的大小。在线等待,立刻结分 在程序显示出来后,让CListBox的大小随着主框架大小的改变成比例改变。我查了CListBox类没有方法,再查CWnd类,只有一个SetWindowPos();可以第一个参数要CWnd *类型。每次都会报访问错误。请问高手,CListBox改变这个控件大小的方法是什么?如果是SetWindowPos()应该怎么用? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在主框架OnSize里m_lb.MoveWindow(0, 0, cx, cy); // 可自行调整或者m_lb.SetWindowPos(NULL, 0, 0, cx, cy, SWP_NOACTIVATE); // 可自行调整可适当使用SWP_NOMOVE标志 多谢 littlepboy(vc小p孩) 的帮助,我用m_lb.SetWindowPos(NULL, 0, 0, cx, cy, SWP_NOACTIVATE);但是会Assert地方是:ASSERT(::IsWindow(m_hWnd));我是在myView类OnSize里面写的。因为我的CListBox m_lb;就写在了myView.h中了。 m_lb窗体未创建;加上:if(IsWindow(m_lb.GetSafeHwnd())){m_lb.SetWindowPos......}判断 在OnSize里if(m_lb.m_hWnd) m_lb.MoveWindow(rect); 加if (m_lb.GetSafeHWnd){// ....}就可以了。 进程间通过共享内存memcpy的问题 ADO操作FoxPro2.5的问题? 英文版的vc能开发中文界面的程序吗? 为什么使用键盘钩子无法屏蔽PrtSc键的功能? 一个简单的作业! DLL中的PROPERTYSHEET中使用CHTMLVIEW出现的问题 用什么方法可知道鼠标已离开当前窗体? 程序出错!who can help me! 突然想起来一个很神奇的问题 GetProcessTimes的lpExitTime有意义吗?????? 太奇怪了!用odbc写access数据库出了奇怪问题,大家来帮忙 【急急,双缓存里textout移动显示文字(效果如网页右上广告),闪烁如何解决?】
或者m_lb.SetWindowPos(NULL, 0, 0, cx, cy, SWP_NOACTIVATE); // 可自行调整
可适当使用SWP_NOMOVE标志
m_lb.SetWindowPos(NULL, 0, 0, cx, cy, SWP_NOACTIVATE);但是会Assert
地方是:ASSERT(::IsWindow(m_hWnd));我是在myView类OnSize里面写的。因为我的CListBox m_lb;就写在了myView.h中了。
加上:
if(IsWindow(m_lb.GetSafeHwnd()))
{
m_lb.SetWindowPos......
}
判断
if(m_lb.m_hWnd)
m_lb.MoveWindow(rect);
if (m_lb.GetSafeHWnd)
{
// ....
}
就可以了。