如何移动windows窗体!

deeply 2005-01-21 04:43:04
我要做个MFC程序,创建一个窗体,然后按一个button,使这个窗体向右移一个象素.
是不是用SetWindowPos.
能不能给个例子,谢谢!
...全文
137 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanqing 2005-01-22
  • 打赏
  • 举报
回复
GetClientRect(&myRect);

窗口客户区(0,0,x,y)

GetWindowRect(rcWin);

整个窗口的区域(x1,y1,x2,y2)相对于桌面


luxiao 2005-01-21
  • 打赏
  • 举报
回复
从函数名就能看出来一个是窗口客户区,一个是整个窗口的区域。
基本上每本vc书都会介绍哪些地方是客户区,那些是窗口区
hiiiiiijiang 2005-01-21
  • 打赏
  • 举报
回复
上面一个是得到客户区,不包括标题栏
下面一个是客户区加标题栏
deeply 2005-01-21
  • 打赏
  • 举报
回复
哦,谢谢大家。我知道了。还有个小问题。
CRect myRect;
GetClientRect(&myRect);
ClientToScreen(myRect);

CRect rcWin;
GetWindowRect(rcWin);

两个得到的窗口有什么区别阿?望不吝赐教!
oyljerry 2005-01-21
  • 打赏
  • 举报
回复
MoveWindow
SetWindowPos
都可以的
老夏Max 2005-01-21
  • 打赏
  • 举报
回复
MoveWindow或者SetWindowPos!
fanqing 2005-01-21
  • 打赏
  • 举报
回复
楼上正解.
SetWindowPos也可以
softofsea 2005-01-21
  • 打赏
  • 举报
回复
用MoveWindow也可以的,
CRect rcWin;
GetWindowRect(rcWin);
MoveWindow(rcWin.left,rcWin.top,rcWin.right + 1,rcWin.bottom);
I_Love_CPP 2005-01-21
  • 打赏
  • 举报
回复
用MoveWindow也可:
例子:
void CAboutDlg::OnButton1()
{
CRect myRect;
GetClientRect(&myRect);

ClientToScreen(myRect);
MoveWindow(myRect.left, myRect.top,
myRect.Width(), myRect.Height());
}

15,979

社区成员

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

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