函数MoveWindow声明如下:
WINUSERAPI
BOOL
WINAPI
MoveWindow(
__in HWND hWnd,
__in int X,
__in int Y,
__in int nWidth,
__in int nHeight,
__in BOOL bRepaint);
hWnd是窗口的句柄。
X是窗口在X轴的位置。
Y是窗口在Y辆的位置。
nWidth是窗口的宽度。
nHeight是窗口的高度。
bRepaint是设置是否重画窗口和父窗口。当设置为TRUE时,就进行重画。当设置为FALSE时,就不进行重画,需要手功进行更新指定的区域。
调用这个函数的例子如下:
// 响应命令
LRESULT CCaiWinMsg::OnCommand(int nID,int nEvent)
{
// 菜单选项命令响应:
switch (nID)
{
case IDC_CREATEBTN:
//显示一个按钮。
if (!m_hBtn)
{
m_hBtn = CreateWindow(_T("BUTTON"),_T("按钮"),
WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON,
50,50,100,32,
m_hWnd,(HMENU)IDC_BTN,m_hInstance,NULL);
}
break;
case IDC_BTN:
OutputDebugString(_T("按钮按下/r/n"));
{
static bool bChangeText = true;
if (bChangeText)
{
//设置按钮的文字。
SetWindowText(m_hBtn,_T("改变它"));
//改变按钮窗口的位置和大小。
MoveWindow(m_hBtn,10,10,100,32,TRUE);
}
else
{
//设置按钮的文字。
SetWindowText(m_hBtn,_T("按钮"));
//改变按钮窗口的位置和大小。
MoveWindow(m_hBtn,50,50,100,32,TRUE);
}
//每一次都改变。
bChangeText = !bChangeText;
}
break;
default:
return CCaiWin::OnCommand(nID,nEvent);
}
return 1;
}