如何移动windows窗体!
我要做个MFC程序,创建一个窗体,然后按一个button,使这个窗体向右移一个象素.
是不是用SetWindowPos.
能不能给个例子,谢谢!
问题点数:100、回复次数:9Top
1 楼I_Love_CPP(Never stop!)回复于 2005-01-21 16:46:40 得分 40
用MoveWindow也可:
例子:
void CAboutDlg::OnButton1()
{
CRect myRect;
GetClientRect(&myRect);
ClientToScreen(myRect);
MoveWindow(myRect.left, myRect.top,
myRect.Width(), myRect.Height());
}
Top
2 楼softofsea(SeaSoft)回复于 2005-01-21 16:48:53 得分 30
用MoveWindow也可以的,
CRect rcWin;
GetWindowRect(rcWin);
MoveWindow(rcWin.left,rcWin.top,rcWin.right + 1,rcWin.bottom);Top
3 楼fanqing(火影忍者+28%(准备学习进程/线程))回复于 2005-01-21 16:50:14 得分 5
楼上正解.
SetWindowPos也可以
Top
4 楼vcleaner(我没当大哥很久了.......)回复于 2005-01-21 16:52:42 得分 5
MoveWindow或者SetWindowPos!
Top
5 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-01-21 18:52:06 得分 5
MoveWindow
SetWindowPos
都可以的
Top
6 楼deeply(deeply)回复于 2005-01-21 21:14:53 得分 0
哦,谢谢大家。我知道了。还有个小问题。
CRect myRect;
GetClientRect(&myRect);
ClientToScreen(myRect);
和
CRect rcWin;
GetWindowRect(rcWin);
两个得到的窗口有什么区别阿?望不吝赐教!
Top
7 楼hiiiiiijiang(等待毕业)回复于 2005-01-21 21:16:52 得分 5
上面一个是得到客户区,不包括标题栏
下面一个是客户区加标题栏Top
8 楼luxiao(勤劳的农民)回复于 2005-01-21 23:19:34 得分 5
从函数名就能看出来一个是窗口客户区,一个是整个窗口的区域。
基本上每本vc书都会介绍哪些地方是客户区,那些是窗口区Top
9 楼fanqing(火影忍者+28%(准备学习进程/线程))回复于 2005-01-22 09:21:55 得分 5
GetClientRect(&myRect);
窗口客户区(0,0,x,y)
GetWindowRect(rcWin);
整个窗口的区域(x1,y1,x2,y2)相对于桌面
Top




