你用MOVEWINDOW就可以了BOOL MoveWindow( HWND hWnd, // handle to window int X, // horizontal position int Y, // vertical position int nWidth, // width int nHeight, // height BOOL bRepaint // repaint option );或者用CWnd的方法: CWnd::MoveWindow void MoveWindow( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE );void MoveWindow( LPCRECT lpRect, BOOL bRepaint = TRUE ); SetWindowPos是设置把窗口总放在最前面的。GF
HWND hWnd, // handle to window
int X, // horizontal position
int Y, // vertical position
int nWidth, // width
int nHeight, // height
BOOL bRepaint // repaint option
);或者用CWnd的方法:
CWnd::MoveWindow
void MoveWindow( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE );void MoveWindow( LPCRECT lpRect, BOOL bRepaint = TRUE );
SetWindowPos是设置把窗口总放在最前面的。GF
SetWindowPos(HWND_TOP,
x, //left
y, //top
0, 0, // ignores size arguments
SWP_NOSIZE);
MoveWindow()不但改变位置,而且改变大小
use WM_NCLBUTTONDBLCLK messgae,if the message's WPARAM value equals HTCAPTION,
indicate dblclick the title bar,then use SetWindowPos。
CRect jj;
m.getWindowRect(&jj);
CPoint tt;
m.MoveWindow(tt.x,tt.y,jj.left,jj.top);