Mfc

MFCSetWindowPosとMoveWindowの使用法



Usage Mfc Setwindowpos



MFCSetWindowPosとMoveWindowの使用法

1. MoveWindowは、ダイアログボックス内のコントロールの位置を移動し、コントロールのサイズを変更します。

例:ボタンm_btnを座標点(x、y)に移動し、幅を幅に設定し、高さを高さに設定します



m_btn.MoveWindow(x,y,width,height)

座標の原点は、コントロールが属する親ウィンドウの左上隅です。
MoveWindow関数のパラメーターboolbRepaintは、デフォルト値trueです。

次に、SetWindowPosは、ダイアログボックス内のコントロールの位置を移動したり、コントロールのサイズを変更したりするだけでなく、ウィンドウのスタック関係も変更できます。
例:ツリービューコントロールをクライアント領域の指定された位置に移動し、幅と高さを設定し、カスケード関係を設​​定しないでください



CRect rectClient GetClientRect(rectClient) //Get the client area of ​​the parent window m_TreeClr.SetWindowPos(NULL,rectClient.left+1,rectClient.top+1,rectClient.Width()-2,rectClient.Height()-2,SWP_NOACTIVATE | SWP_NOZORDER)

最初のパラメーターpWndInsertAfterはNULLに設定されます。これにより、このCWndオブジェクトの前にあるCWndオブジェクトをZ軸の順序で識別できます。
SWP_NOACTIVATEはウィンドウをアクティブにしません
SWP_NOZORDERは、現在の順序を保持します(Z軸のスタック順序はありません)