BOOL SetWindowPos( HWND hWnd, // 変更したいウィンドウのハンドル HWND hWndInsertAfter, // Zオーダー指定のためのハンドル int X, // 左上のX位置 int Y, // 左上のY位置 int cx, // 横幅 int cy, // 高さ UINT uFlags // いろいろなフラグ ); | ||||||||||||||||||||||||||||||||||||||
フラグ系を説明します。
|
BOOL SetWindowText( HWND hWnd, // ウィンドウのハンドル LPCTSTR lpString // 文字列 ); int GetWindowText( HWND hWnd, // 取得したいウィンドウのハンドル LPTSTR lpString, // 保存先の文字列 int nMaxCount // lpStringの長さ ); int GetWindowTextLength( // 戻り値はタイトルの長さ HWND hWnd // タイトルの長さを取得したいウィンドウのハンドル ); |
BOOL ShowWindow( HWND hWnd, // ウィンドウのハンドル int nCmdShow // どう表示するか ); BOOL IsZoomed( // 最大化してればTRUE HWND hWnd // ウィンドウのハンドル ); BOOL IsIconic( // 最小化してればTRUE HWND hWnd // ウィンドウのハンドル );
|
HWND GetDesktopWindow(VOID) // デスクトップウィンドウのハンドルが返ります。 HWND GetForegroundWindow(VOID) // フォアグラウンドのウィンドウのハンドルが返ります。 BOOL SetForegroundWindow( HWND hWnd // フォアグラウンドにしたいウィンドウのハンドル ); BOOL EnableWindow( HWND hWnd, // ウィンドウのハンドル BOOL bEnable // 有効ならTRUE、無効ならFALSE。 ); BOOL IsWindowEnabled( // 有効ならTRUE HWND hWnd // ウィンドウハンドル ); |
BOOL GetClientRect( HWND hWnd, // ウィンドウのハンドル LPRECT lpRect // クライアント領域の矩形を受け取るRECT構造体のポインタ ); BOOL GetWindowRect( HWND hWnd, // ウィンドウのハンドル LPRECT lpRect // クライアント領域の矩形を受け取るRECT構造体のポインタ ); BOOL AdjustWindowRectEx( LPRECT lpRect, // セットしたいクライアント領域サイズ DWORD dwStyle, // ウィンドウのスタイル BOOL bMenu, // メニューの有無 DWORD dwExStyle // 拡張ウィンドウスタイル ); |
// ウィンドウサイズを設定 RECT rc={0,0,256,256}; AdjustWindowRectEx(&rc,WS_OVERLAPPEDWINDOW,TRUE,NULL); int cx=rc.right - rc.left; int cy=rc.bottom - rc.top ; SetWindowPos(hwnd,HWND_TOP,0,0,cx,cy,SWP_NOMOVE); // ウィンドウを画面中央に表示 HWND hwndDesk=GetDesktopWindow(); RECT rcDesk,rcWnd; GetWindowRect(hwndDesk,&rcDesk); GetWindowRect(hwnd ,&rcWnd ); int x=rcDesk.right /2 - rcWnd.right /2; int y=rcDesk.bottom/2 - rcWnd.bottom/2; SetWindowPos(hwnd,HWND_TOP,x,y,0,0,SWP_NOSIZE); |
![]() |