在函数里面加100

还是不行
m_listFriend.SetWindowPos(NULL,rc.left,rc.top,rc.Width(),rc.Height()+100,SWP_SHOWWINDOW);
再不行就是控件问题了
用setwindowpos试试
你说的试这样吗???
void CMamaChatDlg::InitFriendList()
{
CRect rc;
m_listFriend.GetWindowRect(&rc);
ScreenToClient(&rc);
rc.bottom += 100 ;
//m_listFriend.MoveWindow(&rc);
m_listFriend.SetWindowPos(NULL, rc.left, rc.top, rc.Width(), rc.Height(), SWP_NOZORDER);
LoadFriendList();
}
可是还是不行,还是没反应。
void CMamaChatDlg::InitFriendList()
{
CRect rc;
m_listFriend.GetWindowRect(&rc);
ScreenToClient(&rc);
//m_listFriend.MoveWindow(&rc);
m_listFriend.SetWindowPos(NULL, rc.left, rc.top, rc.Width(), rc.Height() + 100, SWP_NOZORDER);
LoadFriendList();
}
在函数里面加100
还是不行
m_listFriend.SetWindowPos(NULL,rc.left,rc.top,rc.Width(),rc.Height()+100,SWP_SHOWWINDOW);
再不行就是控件问题了
现在已经好了,是我粗心,谢谢你的帮忙。由于我的背景也是白色的,所以窗口更改后是看不出来的,所以我以为没有改变大小。产生这种问题的原因是我下面有加载好友信息的函数,在没有改变大小的时候这些信息是可以显示的,但现在显示不出来了,不知道为什么。其他任何地方都没有更改,而且,我把这段更改大小的代码注释掉,信息又可以显示出来了,帮忙看看是什么原因,看是不是SetWindowPos函数使用有有什么需要处理的地方
你这样的问题,一般都是坐标计算问题.
你这样来试,
先用鼠标把你的窗口移动到屏幕左上角对齐(为什么是左上角,就是为了排除掉屏幕坐标与客户区坐标的区别)
然后再调用MoveWindow或者SetWindowPos来移动坐标.
注意调试看传入函数的参数是否正确.比如负的坐标负的宽度什么的,需要注意,.
坐标计算没有问题,只是需要用ScreenToClient函数转换下
现在已经好了,是我粗心,谢谢你的帮忙。由于我的背景也是白色的,所以窗口更改后是看不出来的,所以我以为没有改变大小。产生这种问题的原因是我下面有加载好友信息的函数,在没有改变大小的时候这些信息是可以显示的,但现在显示不出来了,不知道为什么。movewindowmovewindow其他任何地方都没有更改,而且,我把这段更改大小的代码注释掉,信息又可以显示出来了,帮忙看看是什么原因,看是不是SetWindowPos函数使用有有什么需要处理的地方
截个图看看
现在已经好了,是我粗心,谢谢你的帮忙。由于我的背景也是白色的,所以窗口更改后是看不出来的,所以我以为没有改变大小。产生这种问题的原因是我下面有加载好友信息的函数,在没有改变大小的时候这些信息是可以显示的,但现在显示不出来了.........
截个图看看
没有改变大小前:
改变大小后:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-25209-3.html
直男癌晚期