[PR]

クライアント領域を掴んでウィンドウを移動する

戻る

 クライアント領域を掴んでウィンドウを移動するには、メッセージ WM_NCHITTEST を処理する時にクライアント領域をキャプションとして扱えばよい。

例:

// クライアント領域を掴んでウィンドウを移動する例です。
LRESULT APIENTRY WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
	// UINT uMsg; はウィンドウに送られてきたメッセージの値
	switch( uMsg )
	{
		case WM_NCHITTEST:
		{
			// クライアント領域をキャプションとして扱う
			LRESULT lResult = DefWindowProc( hWnd, uMsg, wParam, lParam ); // カーソル位置判定
			return (HTCLIENT==lResult) ? HTCAPTION : lResult;
		}

	…… 省略 ……

}//WindowProc

関連

ウィンドウサイズ変更矢印の方向を制限する


Google
ご意見・ご感想をお聞かせ下さい。匿名で送信できます。

 * 返信が必要な場合には postmaster@katsura-kotonoha.sakura.ne.jp へ直接メールしてください。

水無瀬 優 postmaster@katsura-kotonoha.sakura.ne.jp
IDGは全世界85カ国でIT関連雑誌を発行する出版社です。