C++ による Windows プログラミングの学習 1-4 ウィンドウに描画する

MSDN ライブラリ>Windows 開発>C++ による Windows プログラミングの学習>モジュール 1. 初めての Windows プログラム>ウィンドウに描画する
https://msdn.microsoft.com/ja-jp/library/ff381401(v=vs.85).aspx

ウィンドウの再描画が必要なの時
(画面を最初に表示されるとき、
他のウィンドウなどと重なっていて表示されていなかった領域が再び表示された時,
ウィンドウサイズの変更により新たな領域が表示された時等)
そのウィンドウに対してWM_PAINTが送信されます。
タイトルバーやウィンドウの周りのフレームはWindowsにより描画されるため、
描画コードを書く必要があるのはクライアント領域のみになります。

BeginPaint関数を呼び出して描画を開始し、終了時にはEndPaint関数を呼び出します。
BeginPaint関数では、引数に渡すPAINTSTRUCT構造体に再描画要求に関する情報が
渡されます。描画が必要な領域はクライアント領域の相対位置として、rcPaint メンバーに代入されています。

	case WM_PAINT:
	{
		PAINTSTRUCT ps;
		HDC hdc = BeginPaint(hwnd, &ps);
		// すべての描画がこの BeginPaint と EndPaint の間で実行される
		::FillRect(hdc, &ps.rcPaint, (HBRUSH)(COLOR_WINDOW + 1));
		EndPaint(hwnd, &ps);

		return 0;
	}
広告

akatukisiden について

フリーランスプログラマ 使用言語はC++,C#とそのつなぎのC++/CLI 専門はクライアントアプリ開発
カテゴリー: C++, WinAPI タグ: , , , , パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中