「ウィンドウプロシージャ」の引数 | 説明 |
---|---|
HWND hWnd | 「ウィンドウ」の「ハンドル名」 |
UINT Msg | メッセージの種類 |
WPARAM wParam | メッセージの補足情報 |
LPARAM lParam | メッセージの補足情報 |
「DefWindowProc」関数の引数 | 説明 |
---|---|
HWND hWnd |
イベントハンドラ |
UINT Msg |
「ウィンドウメッセージ(Window Message)」を指定する引数。 「WM_・・・」などの定数を使用し、 情報を渡す引数。 どのボタンを押したかなどのアクション情報などが渡される。 |
WPARAM wParam | メッセージの補足情報 |
LPARAM lParam | メッセージの補足情報 |
返り値 |
定数 | 説明 |
---|---|
WM_CREATE |
CreateWindow(Ex)が呼ばれたとき.この処理はCreateWindow(Ex)処理中で行われる. wParam:0 lParam:(LPCREATESTRUCT) CREATESTRUCT構造体のポインタ.CreateWindow(Ex)の最後の引数.MDIとかで使われるが,普通使わない. 返り値:(int) 0:ウインドウの作成を継続する.-1:ウインドウを破棄する,このときCreateWindow(Ex)からはNULLが返される. |
WM_CLOSE |
閉じるボタンとかが押された時.ウインドウまたはアプリケーションの終了を示す. wParam:0 IParam:0 システムに処理させると DestroyWindow() などが 呼ばれてウインドウが破棄される. その際 WM_DESTROY メッセージがポストされる. 何もしないで0Lを返すとウインドウは閉じられない. |
WM_DESTROY |
ウインドウが画面から削除された後.最初に破棄されようとしているウインドウに送られ, 次にその子ウインドウに送られる. wParam:0 lParam:0 メインウインドウが閉じられたときなど,アプリケーションを終了したいときは PostQuitMessage() を呼ぶ. |
WM_COMMAND |
・メニューコマンドが選択されたとき, ・コントロール(ボタンとか)からその親ウインドウに通知メッセージが送られたとき, ・アクセラレータキー操作が変換されたとき. |
WM_PAINT |
WM_PAINT ウインドウ(の一部)をペイントしないといけない時. UpdateWindow()やRedrawWindow()が呼び出されたときにも送られる. Section2 で少しやってるのでそちらを参照. wParam:(HDC) 一部のコモンコントロールでのみ使われるパラメタ. このデバイスコンテキストでの描画を可能にする. NULLの場合はデフォルトのデバイスコンテキストを使用. lParam:0 |
WM_MOVE |
ウインドウが移動したとき wParam:0 LOWORD(lParam):(WORD) クライアント領域左上隅のx座標※ HIWORD(lParam):(WORD) クライアント領域左上隅のy座標※ ※オーバーラップウインドウとポップアップウインドウではスクリーン座標, 子ウインドウなら親ウインドウにおける相対座標. |
WM_LBUTTONDOWN |
マウスの左ボタンが押されたときに送られてくる LOWORD(wParam):(WORD) メニュー項目,コントロール,アクセラレータの識別子 HIWORD(wParam):(WORD) 通知コード(コントロールの時),1(アクセラレータ),0(メニュー) lParam:(HWND) コントロールのハンドル(コントロールのとき),NULL(それ以外) |
WM_SIZE |
ウインドウのサイズが変更されたとき. wParam (WPARAM) ウインドウのサイズ変更タイプ |
SIZE_MAXIMIZED |
ウインドウが最大化された. |
SIZE_MINIMIZED |
ウインドウが最小化された. |
SIZE_RESTORED |
最大化,最小化以外でウインドウサイズが変更された. SIZE_MAXHIDE 他のウインドウのどれかが最大化された(このウインドウがポップアップの時) |
SIZE_MAXSHOW |
他のウインドウのどれかの最大化が解除された(〃) LOWORD(lParam) (WORD) クライアント領域の新しい幅 HIWORD(lParam) (WORD) クライアント領域の新しい高さ |
WM_KEYDOWN |
WM_KEYDOWN 非システムキーが押されたとき |
WM_KEYUP |
WM_KEYUP 非システムキーが放されたとき wParam : (int) 仮想キーコード.Section3.2参照. Param:フラグとか. 手元の資料がビット単位で取り出せみたいな勢いなので省略. |
LOWORD(lParam)? |
キー落下中に押されたことになった回数. WM_KEYUPでは常に「1」 |
WM_LBUTTONDOWN |
マウス左ボタンが押された |
WM_MBUTTONDOWN |
中が押された |
WM_RBUTTONDOWN |
右が押された |
WM_LBUTTONUP |
左が放された |
WM_MBUTTONUP |
中が放された |
WM_RBUTTONUP |
右が放された |
WM_LBUTTONDBLCLK |
左ダブルクリック |
WM_MBUTTONDBLCLK |
中ダブルクリック |
WM_RBUTTONDBLCLK |
右ダブルクリック |
WM_MOUSEMOVE |
マウスカーソルが動いた カーソルがウインドウクライアント領域にあるとき, マウスがキャプチャーされている場合はキャプチャーしたウインドウへ, それ以外はカーソルを含むウインドウへポストされる. wParam (WPARAM) どの仮想キーが押されてるか.下表を|(OR)で組み合わせた値. |
MK_CONTROL |
Ctrlキーが押されている. |
MK_LBUTTON |
マウスの左ボタンが押されている. |
MK_MBUTTON |
マウスの中央ボタンが押されている. |
MK_RBUTTON |
マウスの右ボタンが押されている. |
MK_SHIFT |
Shiftキーが押されている. LOWORD(lParam) (WORD)カーソルのx座標(クライアント領域の左上隅が原点) HIWORD(lParam) (WORD)カーソルのy座標(クライアント領域の左上隅が原点) Section3.1で少しやってます. |
WM_HSCROLL |
WM_HSCROLL 水平(横方向) |
WM_VSCROLL |
WM_VSCROLL 垂直(縦方向) ・ウインドウの標準水平(垂直)スクロールバーでイベントが発生したとき, ・そのウインドウの子である水平(垂直)スクロールバーコントロールでイベントが発生したとき. |
SB_LINELEFT(SB_LINEUP) |
左(上)へ1単位だけスクロール.左(上)端の三角ボタンが押されたときなど. |
SB_LINERIGHT(SB_LINEDOWN) |
右(下)へ1単位だけスクロール.右(下)端の三角ボタンが押されたときなど. |
SB_PAGELEFT(SB_PAGEUP) |
左(上)へウインドウの幅に応じてスクロール.スクロールボックスの左(上)側が押されたときなど. |
SB_PAGERIGHT(SB_PAGEDOWN) |
右(下)へウインドウの幅に応じてスクロール.スクロールボックスの右(下)側が押されたときなど. |
SB_THUMBTRACK |
スクロールボックスをドラッグした時.HIWORD(wParam)がその位置 |
SB_THUMBPOSITION |
絶対位置でスクロール.HIWORD(wParam)が現在位置 |
SB_TOP |
左上へスクロール |
SB_BOTTOM |
右下へスクロール |
SB_ENDSCROLL |
スクロールを終了する HIWORD(wParam) (short int) LOWORD(wParam)がSB_THUMB***の時はスクロールボックスの現在地. lParam (LPARAM) スクロールバーコントロールから送られてきた場合は,そのハンドル. |
WM_TIMER |
SetTimer()で指定した時間間隔が経過するたびに, タイマをインストールするようい指定したウインドウのコールバック関数か, 指定したタイマ用コールバック関数に送られる. wParam:タイマの識別子 lParam:SetTimer()に渡されたアプリケーション定義のコールバック関数のポインタ |
UINT style; |
ウィンドウクラスの基本スタイルを表す定数を指定 この場は、よく使われる CS_HREDRAW と CS_VREDRAWを用いましょう CS_HREDRAW は水平に、ウィンドウサイズが変更されるとウィンドウの内容を再描画 CS_VREDRAW は垂直に、ウィンドウサイズが変更されるとウィンドウの内容を再描画 表示するウインドウのスタイルを設定します。CSで始まる値を指定。。"|"で複数指定することもできる。 例::CS_HREDRAW|CS_VREDRAW; 水平垂直方向にウインドウサイズが変更されたときウインドウを再作画する。 |
WNDPROC lpfnWndProc; |
WNDPROC 型とは、ウィンドウプロシージャと呼ばれる関数のポインタ型です lpfnWndProc にウィンドウプロシージャを設定します ウィンドウプロシージャのアドレスを指定する。 (WNDPROC)プロシージャ名;等を代入する。 |
int cbClsExtra; |
次の二つの引数 cbClsExtra と cbWndExtra は クラス構造体、ウィンドウ構造体の追加領域をバイト単位で予約するものです 通常はその必要がないので、多くの場合ここは 0 を指定 |
int cbWndExtra; |
次の二つの引数 cbClsExtra と cbWndExtra は クラス構造体、ウィンドウ構造体の追加領域をバイト単位で予約するものです 通常はその必要がないので、多くの場合ここは 0 を指定 |
HANDLE hInstance; | インスタンスハンドルを渡します WinMainのパラメータのインスタンスハンドルを設定。 |
HICON hIcon; |
タスクバーやタイトルバーに表示されるアイコンのビットマップを指定。 HICON 型は、アイコンのハンドルです アイコンのビットマップを渡すにはLoadIcon()関数を使用します 使用するアイコンを指定する。LoadIcon関数を使用して行う。 HICON LoadIcon(HINSTANCE hInstance , LPCTSTR lpIconName); hInstance には、アイコンのリソースが入っているモジュールのインスタンスを指定。が システム定義のアイコンの場合は NULL にします HICON LoadIcon(HINSTANCE hInstance,LPCTSTR lpIconName) 第1パラメータは、Windowsがもっているアイコンを使うならNULL。自作のアイコンを使う場合は、インスタンスハンドル(WinMainの第1パラメータと同じ)を指定する。 第2パラメータはアイコンの名前を指定。 Windowsがもっているアイコンを使用する場合は以下のものを使用。 名称 説明 IDI_APPLICATION アプリケーションアイコン IDI_ASTERISK アスタリスクのアイコン (吹き出しの中に i の文字) IDI_EXCLAMATION 感嘆符のアイコン IDI_HAND ストップ印のアイコン IDI_QUESTION 疑問符のアイコン IDI_WINLOGO Windows ロゴアイコン 自作の場合は、名前に(MAKEINTRESOURCE)をつけて型変換を行うこと。 例 wndclass.hIcon = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1)); |
HCURSOR hCursor; |
ウィンドウのクライアントエリア上のマウスカーソルを指定。 HCURSOR 型 とは、カーソルのハンドルです 定義済みのカーソルは LoadCursor() 関数で取得します マウスカーソルを指定する。 Windowsが提供するマウスカーソルを使う場合は以下のようにする。 HCURSOR LoadCursor(HINSTANCE hInstance , LPCTSTR lpCursorName); カーソルのリソースが入っているモジュールのインスタンスを指定。 アイコン同様に、システム定義のカーソルの場合は NULL を指定。 カーソルの名前を指定。 第一引数が NULL であれば、定義されているマウスカーソルの定数を指定。 LoadCursor(NULL,IDC_ARROW); 自作したマウスカーソルを使用することも可能。 |
HBRUSH hbrBackground; |
クライアントエリアの背景色を指定。 「HBRUSH」型の、ブラシのハンドルを指定する。 ブラシのハンドルは、 「GetStockObject」関数を使用して指定する。 (HBRUSH)(COLOR_WINDOW + 1); で、白色を表す。 「GetStockObject」関数の書式は、 HGDIOBJ GetStockObject( int fnObject ); 「fnObject」に、取得したいハンドルの定数を指定。 この関数はブラシのほかにも、ペン、パレットといったハンドルも取得可能。 |
LPCTSTR lpszMenuName; |
クラスメニューを指定。が 今回のプログラムにメニューはないので、ここは NULL としましょう Windowにつけるメニューを設定する。 メニューがなければNULLを設定。 |
LPCTSTR lpszClassName; |
「ウィンドウクラス」の名前を表す文字列を指定する。 「CreateWindow」関数の「第一引数」で指定した文字列のこと。 |
要素 | 説明 |
---|---|
UINT cbSize |
構造体のサイズ。 「sizeof」関数を使用した構造体「WNDCLASSEX」のサイズを指定する マシン語には引数の種類を判別できないため、指定する必要がある。 |
Win 3.x | |
UINT style |
クラススタイル 「ウィンドウ」の挙動を決める「クラススタイル」を表す定数を設定する。 |
WNDPROC lpfnWndProc |
ウィンドウプロシージャのメモリアドレス指定。 typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM) 「ウィンドウプロシージャ」関数と同じ型。 |
int cbClsExtra |
構造体の追加バイト数。 追加の特別情報を記憶させたいときに使用する。 不要の場合は、「OL」「0」「NULL」を指定。 |
int cbWndExtra |
構造体の追加バイト数 追加の特別情報を記憶させたいときに使用する。 不要の場合は、「OL」「0」「NULL」を指定。 |
HINSTANCE hInstance | プログラムのインスタンスハンドル |
HICON hIcon | アイコンのハンドル |
HCURSOR hCursor | カーソルのハンドル |
HBRUSH hbrBackground | ウィンドウの背景色 |
LPCTSTR lpszMenuName | メニュー名 |
LPCTSTR lpszClassName | 「クラス名」または「ATOM」 |
Win 4.0 | |
HICON hIconSm |
縮小アイコンのハンドル HICON hIconを参照。 「NULL」を指定すると、「hIcon」に指定したアイコン画像を縮小して使用される。 |
戻り値 |
HWND型 これはウィンドウハンドルと呼ばれるもの HWND 変数名 = CreateWindow( 引数, 引数, 引数, ・・・); と記述する。 | ||||||||||||||||||
DWORD dwExStyle |
拡張型の「CreateWindowEx」関数で増えた「引数」。 他の引数は、「CreateWindow」関数と同じ。 | ||||||||||||||||||
LPCTSTR lpClassName |
重要 「RegisterClass」関数でクラス登録した時に指定した「クラス名(ウィンドウクラス)」を指定 以前のRegisterClass関数またはRegisterClassEx関数の呼び出しにより作成されたウィンドウクラスの名前を表す文字列へのポインタまたはクラスアトムを指定します。アトムを指定する場合には、このパラメータの下位ワードがアトムとなるようにし、上位ワードはゼロになるようにしなければいけません。文字列を指定する場合には、ウィンドウクラス名を指定します。ウィンドウクラスの名前は、RegisterClass関数またはRegisterClassEx関数で登録されたクラス名か、システムの定義済みコントロールのクラス名を指定することができます。クラス名の大文字・小文字は区別されません。 システムの定義済みコントロールのクラス名は、以下のものがあります。
| ||||||||||||||||||
LPCTSTR lpWindowName |
「ウィンドウの名前」を指定。 文字列でも入力が可能だが、 プロジェクトが採用しているも文字コードによって、 「"ウィンドウ名"」「L"ウィンドウ名"」のいずれかで入力可能。 「ウィンドウ名」を表す文字列への「ポインタ」で指定可能。 「タイトルバー」を持つ「ウィンドウスタイル」の場合、この文字列が「タイトルバー」に表示される。 「ボタン」「チェックボックス」「スタティックコントロール」などのコントロールを作成する場合、この文字列「ウィンドウの名前」がコントロールテキストになる。 「SS_ICON」スタイルを持つ「スタティックコントロール」を作成する場合、 この文字列を使用して「アイコン名」「ID」を指定する。 「ID」を指定する場合、「"#num"」(numはIDを表す整数)の形式で指定する。 | ||||||||||||||||||
DWORD dwStyle |
重要 ウィンドウのスタイルを設定する「引数」。 複数指定可能。 複数指定をする場合は、 「|(パイプ)」で区切ることで、 複数指定が可能となる。 「定数 | 定数 | 定数 | 定数」 というように指定する。 ここには、用意されたたくさんの「定数」のいずれかを指定。 ・境界線を持つウィンドウなら「WS_BORDER」 タイトルバーを持つウィンドウならWS_CAPTIONをここで指定する | ||||||||||||||||||
int x |
ウィンドウの初期位置です。xはX軸、yはY軸を示す。 この初期位置は、デスクトップの左上を「0」としてピクセルで指定する | ||||||||||||||||||
int y |
ウィンドウの初期位置です。xはX軸、yはY軸を示す。 この初期位置は、デスクトップの左上を「0」としてピクセルで指定する | ||||||||||||||||||
int nWidth |
「nWidth」は、「ウィンドウ幅」を「ピクセル単位」で指定する | ||||||||||||||||||
int nHeight |
「nHeight」は、「ウィンドウ高さ」を「ピクセル単位」で指定する | ||||||||||||||||||
HWND hWndParent |
親ウィンドウ、またはオーナーウィンドウとなるハンドルを指定。 親ウィンドウを持つ子ウィンドウの表示は、親ウィンドウのクライアントエリアに限定され オーナーウィンドウを持つ場合、オーナーが破棄されるとそのウィンドウも破棄されます ウィンドウの親子関係は、後ほど詳しく解説します 今はトップレベルのウィンドウだけなので NULL を指定してください | ||||||||||||||||||
HMENU hMenu |
メニューのハンドルを渡す。 ない場合は、「NULL」を指定。 「HMENU型」は、「メニューのハンドル」。 | ||||||||||||||||||
HANDLE hInstance |
インスタンスハンドルを渡す | ||||||||||||||||||
LPVOID lpParam |
ない場合は、「NULL」。 メッセージと呼ばれるものに渡されるパラメータを指定する。 「LPVOID型」は、「void *」に相当する「汎用ポインタ型」。 |
定数 | 解説 |
---|---|
スタイル | |
WS_BORDER | 境界線を持つウィンドウを作成。 |
WS_CAPTION |
タイトルバーを持つウィンドウを作成します WS_BORDER スタイルも含みます |
WS_CHILD |
子ウィンドウを定義します WS_POPUP スタイルとは使えません |
WS_CHILDWINDOW |
WS_CHILD スタイルと同じ。 |
WS_CLIPCHILDREN |
親ウィンドウ内部を描画するとき 子ウィンドウが占める領域を除外します このスタイルは、親ウィンドウを作成するときに使います |
WS_CLIPSIBLINGS |
兄弟関係にある子ウィンドウをクリップします つまり、ある特定の子ウィンドウが WM_PAINT メッセージを受け取ると |
WS_CLIPSIBLINGS スタイルは、更新する子ウィンドウの領域から |
オーバーラップする他のすべての子ウィンドウをクリップします |
WS_CLIPSIBLINGS が指定されていない場合に |
子ウィンドウがオーバーラップしていると 子ウィンドウのクライアント領域内を描画するときに 重なっている子ウィンドウのクライアント領域内にも描画されます |
WS_DISABLED |
無効 (使用不能) なウィンドウを作成します 無効なウィンドウは、有効にするまで ユーザーからの入力を受け取りません |
WS_DLGFRAME |
ダイアログボックスで一般的に使われるスタイルの 境界を持つウィンドウを作成。 |
WS_GROUP |
コントロールグループの最初のコントロールを指定。 このコントロールから、次に WS_GROUP スタイルのコントロールがくるまでに定義されたコントロールが、コントロールグループになる 各グループの最初のコントロールは、たいてい、グループからグループへユーザーが移動できる |
WS_TABSTOP スタイルを持ちます |
ユーザーは、方向キーで、グループ内のあるコントロールから 次のコントロールに入力フォーカスを変更。 |
WS_HSCROLL | 水平スクロールバーを持つウィンドウを作成。 |
WS_ICONIC | WS_MINIMIZE スタイルと同じ。 |
WS_MAXIMIZE | ウィンドウを最大化の状態で作成します |
WS_MAXIMIZEBOX |
最大化ボタンを持つウィンドウを作成します WS_SYSMENU スタイルも指定する必要があります WS_EX_CONTEXTHELP スタイルと組み合わせることはできません |
WS_MINIMIZE |
ウィンドウを最小化の状態で作成します WS_ICONIC スタイルと同じ。 |
WS_MINIMIZEBOX |
最小化ボタンを持つウィンドウを作成します WS_SYSMENU スタイルも指定する必要があります WS_EX_CONTEXTHELP スタイルと組み合わせることはできません |
WS_OVERLAPPED |
オーバーラップウィンドウを作成します オーバーラップウィンドウはタイトルと枠を持ちます WS_TILED スタイルと同じ。 |
WS_OVERLAPPEDWINDOW |
WS_OVERLAPPED スタイル、WS_CAPTION スタイル WS_SYSMENU スタイル、WS_THICKFRAME スタイル WS_MINIMIZEBOX スタイル、WS_MAXIMIZEBOX スタイルを持つ オーバーラップウィンドウを作成。 |
WS_POPUP |
ポップアップウィンドウを作成します このスタイルは、WS_CHILD スタイルと一緒には使えません |
WS_POPUPWINDOW |
WS_BORDER スタイル、WS_POPUP スタイル WS_SYSMENU スタイルを持つポップアップウィンドウを作成します ウィンドウメニューを可視化するには、WS_CAPTION スタイルと WS_POPUPWINDOW スタイルを組み合わせる必要があります |
WS_SIZEBOX | WS_THICKFRAME スタイルと同じ。 |
WS_SYSMENU |
タイトルバー上にウィンドウメニューボックスを持つウィンドウを作成します WS_CAPTION スタイルも指定する必要があります |
WS_TABSTOP |
ユーザーが[Tab]キーを押すと 入力フォーカスを受け取るコントロールを指定。 [Tab]キーを押すと、WS_TABSTOP スタイルを持つ次のコントロールに 入力フォーカスが移動します |
WS_THICKFRAME |
サイズ変更境界を持つウィンドウを作成します WS_SIZEBOX スタイルと同じ。 |
WS_TILED | WS_OVERLAPPED スタイルと同じ。 |
WS_TILEDWINDOW | WS_OVERLAPPEDWINDOW スタイルと同じ。 |
WS_VISIBLE | 可視状態のウィンドウを作成。 |
WS_VSCROLL |
垂直スクロールバーを持つウィンドウを作成。 BUTTON専用スタイル |
BS_3STATE |
選択された状態、選択されていない状態 グレー表示の状態を持つチェックボックスを作成します グレーの状態は、チェックボックスの状態が 決められていないことを示すときなどに使います |
BS_AUTO3STATE |
BS_3STATE と同じボタンを作成します ただし、ユーザーがチェックボックスを選択すると ボックスの状態が自動的に変わります |
BS_AUTOCHECKBOX |
チェックボックスを作成します ただし、ユーザーがチェックボックスを選択すると ボックスの状態が自動的に変わります |
BS_AUTORADIOBUTTON |
ラジオボタンを作成します ただし、ユーザーがボタンを選択すると Windows が自動的にボタンを選択状態にし 同じグループのほかのボタンを非選択状態にします |
BS_CHECKBOX |
チェックボックスを作成します デフォルトでは、テキストはボックスの右側に表示されます テキストをボックスの左側に表示するには このフラグと BS_LEFTTEXT スタイル または BS_RIGHTBUTTON スタイル を組み合わせます |
BS_DEFPUSHBUTTON |
プッシュボタンを作成します ただし、黒色の太い境界も持ちます このボタンがダイアログボックスにある場合は ボタンが入力フォーカスを持っていなくても [Enter]キーを押せばボタンを選択できます |
BS_GROUPBOX |
グループボックスを作成します ほかのコントロールを、このコントロールの中にグループ化できます |
BS_LEFTTEXT |
ラジオボタンスタイルやチェックボックススタイルと組み合わせると ラジオボタンの円やチェックボックスの四角の左側にテキストが置かれます BS_RIGHTBUTTON スタイルを同じです |
BS_OWNERDRAW |
オーナー描画ボタンを作成します オーナーウィンドウは、ボタンが作成されると WM_MEASUREITEM メッセージを受け取り ボタンの外観が変わると WM_DRAWITEM メッセージを受け取ります 他のボタンスタイルと組み合わせることはできません |
BS_PUSHBUTTON |
プッシュボタンを作成します ユーザーがボタンを選択すると オーナーウィンドウに WM_COMMAND メッセージがポストされます |
BS_RADIOBUTTON |
ラジオボタンを作成します デフォルトでは、テキストはボタンの右側に表示されます テキストをボタンの左側に表示するには このフラグと BS_LEFTTEXT スタイル または BS_RIGHTBUTTON スタイル を組み合わせます |
BS_USERBUTTON |
使われなくなりました BS_OWNERDRAW スタイルを使ってください |
BS_BITMAP | ビットマップを表示するボタンを作成。 |
BS_BOTTOM | ボタンの下部にテキストを置きます |
BS_CENTER | ボタンの中央にテキスト置きます |
BS_ICON | アイコンを表示するボタンを作成。 |
BS_LEFT |
ボタンの中にテキストを左寄せします ボタンが BS_RIGHTBUTTON スタイルを持たない チェックボックス (またはラジオボタン) の場合 テキストはチェックボックスやラジオボタンの右側に左寄せされます |
BS_MULTILINE |
テキストが長すぎてボタンの中に一行で収まらないとき テキストを複数行に折り返します |
BS_NOTIFY |
親ウィンドウに、ボタンが BN_DBLCLK BN_KILLFOCUS 、BN_SETFOCUS 通知メッセージを送ることを可能にします このスタイルを持つかどうかに関わらず ボタンは BN_CLICKED 通知メッセージを送ります |
BS_PUSHLIKE |
プッシュボタンのような概観と機能を持つ チェックボックスまたはラジオボタンを作ります |
BS_RIGHT |
ボタンの中にテキストを右寄せします ボタンが BS_RIGHTBUTTON スタイルを持たない チェックボックス (またはラジオボタン) の場合は テキストはチェックボックスやラジオボタンの右側に右寄せされます |
BS_RIGHTBUTTON | BS_LEFTTEXT スタイルと同じ。 |
BS_TEXT | ボタンがテキストを表示するよう指定します |
BS_TOP | ボタンの最上部にテキストを置きます |
BS_VCENTER |
ボタンの (垂直方向の) 中央にテキストを置きます COMBOBOX専用スタイル |
COMBOBOX専用スタイル | |
CBS_AUTOHSCROLL | ユーザーが行末に文字を入力すると エディットコントロール内のテキストが自動的に右スクロールします |
CBS_DISABLENOSCROLL |
スクロールするほどの項目数がない場合 リストボックスの垂直方向のスクロールバーが無効状態で表示されます 通常は表示されません |
CBS_DROPDOWN |
ドロップダウンコンボボックスを作成します CBS_SIMPLE に似ていますが ユーザーがエディットコントロールの 横にあるアイコンを選択しないとリストボックスが表示されません |
CBS_DROPDOWNLIST |
ドロップダウンリストボックスを作成します CBS_DROPDOWN に似ていますが テキストの編集はできません |
CBS_HASSTRINGS |
オーナー描画コンボボックスの持つ項目が 文字列であることを指定。 コンボボックスが文字列用のメモリとアドレスを管理するので アプリケーションは CB_GETLBTEXT メッセージを使用して 特定項目のテキストを取り出すことができます |
CBS_LOWERCASE |
コンボボックスのエディットコントロールに入力された大文字を 小文字に変換します |
CBS_NOINTEGRALHEIGHT |
コンボボックスのサイズを指定。 通常は、項目が途中で切れないように Windows システムがコンボボックスのサイズを調整します |
CBS_OEMCONVERT |
コンボボックスのエディットコントロールに 入力されたテキストを変換します テキストは Windows 文字セットから OEM 文字セットに変換され その後にまた Windows 文字セットに変換されます この動作は、CharToOem 関数の変換が正しく行われることを保証します このスタイルはファイル名を項目とする コンボボックスにおいて便利ですが CBS_SIMPLE か CBS_DROPDOWN スタイルにしか適用できません |
CBS_OWNERDRAWFIXED |
各項目の高さがすべて同じ オーナー描画コンボボックスを作成します オーナーウィンドウは、コンボボックスが作成されると WM_MEASUREITEM メッセージを受け取り、コンボボックスの外観が変わると WM_DRAWITEM メッセージを受け取ります |
CBS_OWNERDRAWVARIABLE |
各項目の高さが可変の オーナー描画コンボボックスを作成します オーナーウィンドウは、コンボボックスの各項目について WM_MEASUREITEM メッセージを受け取り、コンボボックスの外観が変わると WM_DRAWITEM メッセージを受け取ります |
CBS_SIMPLE |
常時リストボックスが表示されるコンボボックスを作成します リストボックス内の現在の選択項目は エディットコントロール内に表示されます |
CBS_SORT | リストボックスに追加された文字列を自動的に並べ替えます |
CBS_UPPERCASE |
コンボボックスのエディットコントロールに入力された小文字を 大文字に変換します EDIT専用スタイル |
EDIT専用スタイル | |
ES_AUTOHSCROLL |
ユーザーが行末に文字を入力すると エディットコントロール内のテキストが自動的に右スクロールします |
ES_AUTOVSCROLL |
ユーザーが最下行で[Enter]キーを押すと テキストを自動的に上にスクロールします |
ES_CENTER |
複数行エディットコントロールにおいて テキストを中央揃えで表示します |
ES_LEFT | テキストを左揃えで表示します |
ES_LOWERCASE | エディットコントロールに入力された文字を小文字に変換します |
ES_MULTILINE |
複数行エディットコントロールを作成します デフォルトは一行のエディットコントロールです ダイアログボックス内の複数行エディットコントロールで[Enter]キーを押すと デフォルトのボタンがアクティブになる [Enter]キーを改行のために使うには ES_WANTRETURN スタイルを使用します |
ES_NOHIDESEL |
エディットコントロール内の 選択文字列のデフォルトの動作を無効にします デフォルトでは、コントロールが 入力フォーカスを失うと選択項目が表示されなくなり 入力フォーカスを受け取ると反転表示されます ES_NOHIDESEL を指定すると、選択されたテキストは コントロールがフォーカス持っていない場合も反転表示されます |
ES_NUMBER | 数字だけが入力できるようにします |
ES_OEMCONVERT |
エディットコントロールに入力されたテキストを変換します テキストは Windows 文字セットから OEM 文字セットに変換され その後にまた Windows 文字セットに変換されます この動作は、CharToOem 関数の変換が正しく行われることを保証します このスタイルはファイル名を項目とするコンボボックスにおいて便利です |
ES_PASSWORD |
エディットコントロールに入力された文字を アスタリスク (*) で置き換えて表示します 表示する文字を変更するには EM_SETPASSWORDCHAR メッセージを使います |
ES_READONLY | ユーザーによるテキストの入力や編集をできなくします |
ES_RIGHT | 複数行エディットコントロールにおいて、テキストを右揃えで表示します |
ES_UPPERCASE | エディットコントロールに入力された文字を、大文字に変換します |
ES_WANTRETURN |
ダイアログボックス内の複数行エディットコントロールに テキストを入力しているときに[Enter]キーが押されると 改行が挿入されるようにします このスタイルを指定していないと ダイアログボックスのデフォルトのプッシュボタンが押されます このスタイルは、一行のエディットコントロールでは効果がありません LISTBOX専用スタイル |
LISTBOX専用スタイル | |
LBS_DISABLENOSCROLL |
スクロールするほどの項目数がない場合 リストボックスの垂直スクロールバーが無効状態で表示されます 通常はスクロールバーは表示されません |
LBS_EXTENDEDSEL |
[Shift]キーとマウス、または特殊なキーの組み合わせで 複数の項目を選択できるようにします |
LBS_HASSTRINGS |
リストボックスの項目が、文字列であることを指定。 リストボックスが文字列用のメモリとアドレスを管理するので アプリケーションは LB_GETTEXT メッセージを使用して 特定項目のテキストを取り出すことができます デフォルトでは、オーナー描画のリストボックス以外の すべてのリストボックスが、このスタイルを持ちます |
LBS_MULTICOLUMN |
水平にスクロールする複数列のリストボックスを指定。 LB_SETCOLUMNWIDTH メッセージで列の幅を設定します |
LBS_MULTIPLESEL |
項目をクリックまたはダブルクリックして 複数の項目を選択できるようにします |
LBS_NODATA |
データを持たないリストボックスを指定。 リストボックス内の項目数が 1000 を超えるときにこのスタイルを指定。 データを持たないリストボックスには LBS_OWNERDRAWFIXED スタイルが必要です LBS_SORT スタイルや LBS_HASSTRINGS スタイルは設定できません 項目に文字列やビットマップデータを持たないことを除くと データを持たないリストボックスはオーナー描画リストボックスに似ています 項目の追加、挿入、削除のコマンドは常に無視されます 文字列の検索は、常に失敗します Windows は、項目を描画する必要があると オーナーウィンドウに WM_DRAWITEM メッセージを送ります WM_DELETEITEM メッセージと一緒に送られる DRAWITEMSTRUCT 構造体の itemID メンバは 描画する項目の行数を指定。 データを持たないリストボックスは WM_DELETEITEM メッセージを送りません |
LBS_NOINTEGRALHEIGHT |
リストボックスのサイズを指定。 通常は、項目が途中で切れないように Windows システムがリストボックスのサイズを調整します |
LBS_NOREDRAW |
項目が変更されても リストボックスの外観を更新しないように指定する このスタイルは、WM_SETREDRAW メッセージを送ることでいつでも変更。 |
LBS_NOSEL | 表示するだけで選択できない項目を持つリストボックスを指定。 |
LBS_NOTIFY |
ユーザーがリストボックス内の 文字列をクリック (またはダブルクリック) するたびに 親ウィンドウに入力メッセージを通知します |
LBS_OWNERDRAWFIXED |
各項目の高さがすべて同じ オーナー描画リストボックスを作成します オーナーウィンドウは、リストボックスが作成されると WM_MEASUREITEM メッセージを受け取り リストボックスの外観が変わると WM_DRAWITEM メッセージを受け取ります |
LBS_OWNERDRAWVARIABLE |
各項目の高さがすべて可変の オーナー描画リストボックスを作成します オーナーウィンドウは、リストボックス内の各項目について WM_MEASUREITEM メッセージを受け取り リストボックスの外観が変わると WM_DRAWITEM メッセージを受け取ります |
LBS_SORT | リストボックス内の文字列をアルファベット順にソートします |
LBS_STANDARD |
リストボックス内の文字列をアルファベット順にソートします ユーザーが文字列をクリック (またはダブルクリック) するたびに 親ウィンドウは入力メッセージを受け取ります リストボックスは四方に境界を持ちます |
LBS_USETABSTOPS |
文字列を描画するときに リストボックスがタブ文字を認識し、展開できるようにします デフォルトのタブ位置は 32 ダイアログボックス単位です GetDialogBaseUnits 関数は、ダイアログボックスで 使用される単位をピクセル単位で返します |
LBS_WANTKEYBOARDINPUT |
ユーザーがキーを押してリストボックスが入力フォーカスを持つたびに リストボックスのオーナーが WM_VKEYTOITEM メッセージを受けるようにします これにより、キーボード入力に特殊な処理を行えるようになる SCROLLBAR専用スタイル |
SCROLLBAR専用スタイル | |
SBS_BOTTOMALIGN |
スクロールバーの下端をCreateWindow 関数の x、y、nWidth、nHeight パラメータで 指定した長方形の下端にそろえます スクロールバーの高さはデフォルトの高さになる このスタイルは SBS_HORZ スタイルと一緒に使う。 |
SBS_HORZ |
水平スクロールバーを作成します SBS_BOTTOMALIGN スタイルも SBS_TOPALIGN スタイルも指定しないと スクロールバーは CreateWindow 関数の x、y、nWidth、nHeight パラメータで 指定した位置とサイズになる |
SBS_LEFTALIGN |
スクロールバーの左端を CreateWindow 関数の x、y、nWidth、nHeight パラメータで 指定した長方形の左端にそろえます スクロールバーの幅は、デフォルトの幅になる このスタイルは SBS_VERT スタイルと一緒に使います |
SBS_RIGHTALIGN |
スクロールバーの右端を CreateWindow 関数の x、y、nWidth、nHeight パラメータで 指定した長方形の右端にそろえます スクロールバーの幅は、デフォルトの幅になる このスタイルは SBS_VERT スタイルと一緒に使います |
SBS_SIZEBOX |
サイズボックスを作成します SBS_SIZEBOXBOTTOMRIGHTALIGN スタイルも SBS_SIZEBOXTOPLEFTALIGN スタイルも指定しないとサイズボックスは CreateWindow 関数の x、y、nWidth、nHeight パラメータで 指定した位置とサイズになる SBS_SIZEBOXBOTTOMRIGHTALIGN サイズボックスの右下隅を CreateWindow 関数の x、y、nWidth、nHeight パラメータで 指定した長方形の右下隅にそろえます サイズボックスのサイズは、デフォルトのサイズになる このスタイルは SBS_SIZEBOX スタイルと一緒に使います |
SBS_SIZEBOXTOPLEFTALIGN |
サイズボックスの左上隅を CreateWindow 関数の x、y、nWidth、nHeight パラメータで 指定した長方形の左上隅にそろえます サイズボックスのサイズは、デフォルトのサイズになる このスタイルは SBS_SIZEBOX スタイルと一緒に使います |
SBS_SIZEGRIP |
SBS_SIZEBOX スタイルと同じ。 ただし、縁が盛り上がります |
SBS_TOPALIGN |
スクロールバーの上端を CreateWindow 関数の x、y、nWidth、nHeight パラメータで 指定した長方形の上端にそろえます スクロールバーの高さは、デフォルトの高さになる このスタイルは SBS_HORZ スタイルと一緒に使います |
SBS_VERT |
垂直スクロールバーを作成します SBS_RIGHTALIGN スタイルも SBS_LEFTALIGN スタイルも指定しないと スクロールバーは CreateWindow 関数の x、y、nWidth、nHeight パラメータで 指定した位置とサイズになる STATIC専用スタイル |
STATIC専用スタイル | |
SS_BITMAP |
ビットマップを表示するスタティックコントロールを作成します nWidth と nHeight パラメータは無視され ビットマップに合わせてコントロールのサイズが調整されます |
SS_BLACKFRAME |
ウィンドウの枠と同じ色の枠を持つボックスを作成します Windows のデフォルトの配色は黒です |
SS_BLACKRECT |
ウィンドウの枠と同じ色で塗りつぶされた長方形を作成します Windows のデフォルトの配色は黒です |
SS_CENTER |
テキストを中央揃えで表示します テキストが行末を超える場合は自動的に折り返されます |
SS_CENTERIMAGE |
コントロールのサイズが変更されても SS_BITMAP や SS_ICON スタイルを持つ スタティックコントロールの中心点は変えないようにします |
SS_GRAYFRAME |
画面の背景 (デスクトップ) と同じ色の枠を持つボックスを作成します Windows のデフォルトの配色は灰色です |
SS_GRAYRECT |
画面の背景 (デスクトップ) と同じ色で塗りつぶされた長方形を作成します Windows のデフォルトの配色は灰色です |
SS_ICON |
アイコンを表示するスタティックコントロールを作成します nWidth と nHeight パラメータは無視され アイコンに合わせてコントロールのサイズが調整されます |
SS_LEFT |
テキストを左揃えで表示します テキストが行末を超える場合は自動的に折り返されます |
SS_LEFTNOWORDWRAP |
テキストを左揃えで表示します タブは展開されますが、テキストは折り返されません 行末を超えるテキストはクリップされます |
SS_METAPICT |
メタファイルを表示するスタティックコントロールを作成します メタファイルは、コントロールのサイズに 合わせた大きさで表示されます |
SS_NOPREFIX |
コントロールのテキスト中のアンパサント (&) 文字を アクセラレータのプリフィックス文字として 解釈しないように指定する このスタティックコントロールスタイルは、定義されている どのようなスタティックコントロールとも組み合わせて指定できます アプリケーションは、ビット演算子 OR (|) 使って SS_NOPREFIX スタイルを他のスタイルと組み合わせることができます ダイアログボックスのスタティックコントロール内に アンパサント (&) を含むファイル名や その他の文字列を表示する必要があるときに便利です |
SS_NOTIFY |
ユーザーがコントロールを クリック (またはダブルクリック) するたびに 親ウィンドウに STN_CLICKED 通知メッセージ または STN_DBLCLK 通知メッセージを送ります |
SS_RIGHT |
テキストを右揃えで表示します テキストが行末を超える場合は自動的に折り返されます |
SS_RIGHTIMAGE |
コントロールのサイズが変更されても |
SS_BITMAP スタイルや SS_ICON スタイルを持つ |
スタティックコントロールの右下隅は変えないようにします |
SS_SIMPLE |
単一行のテキストを左揃えで表示します このコントロールの親ウィンドウやダイアログボックスは WM_CTLCOLORSTATIC メッセージを処理してはいけません |
SS_WHITEFRAME |
ウィンドウの背景と同じ色の枠を持つボックスを作成します Windows のデフォルトの配色は白です |
SS_WHITERECT |
ウィンドウの背景と同じ色の 枠で塗りつぶされた長方形を作成します Windows のデフォルトの配色は白です ダイアログボックススタイル |
ダイアログボックススタイル | |
DS_3DLOOK |
ダイアログボックスを立体的に表示します 現在のバージョンの Windows 用にコンパイルされた アプリケーションが作成するダイアログボックスには 自動的に立体的な外観が適用されます |
DS_ABSALIGN |
ダイアログボックスの座標系を、スクリーン座標にします デフォルトでは、クライアント座標になる |
DS_CENTER |
デスクトップの作業領域の中央に ダイアログボックスを配置します 作業領域は、タスクバーに覆われていない領域です |
DS_CENTERMOUSE |
ダイアログボックスの中央にマウスポインタを配置します |
DS_CONTEXTHELP |
ダイアログボックスのタイトルバーに[?]ボタンを追加します ユーザーがこの[?]ボタンをクリックすると マウスポインタに疑問符が付きます その後、ユーザーがダイアログボックス内のコントロールをクリックすると コントロールは WM_HELP メッセージを受け取ります コントロールはダイアログの処理にそのメッセージを送ります このダイアログの処理は、HELP_WM_HELP コマンドを使った WinHelp 関数です ヘルプアプリケーションは、通常、コントロールのヘルプを持つ ポップアップウィンドウを表示します DS_CONTEXTHELP は、プレースホルダーでしかありません ダイアログボックスが作成されると システムは DS_CONTEXTHELP があることを確認し もしあれば、ダイアログボックスの拡張スタイルに WS_EX_CONTEXTHELP を追加します WS_EX_CONTEXTHELP は WS_MAXIMIZEBOX や WS_MINIMIZEBOX スタイルとは一緒に使用できません |
DS_CONTROL |
他のダイアログボックスの子ウィンドウとして適切に機能する プロパティシート内のページのような ダイアログボックスを作成。 |
DS_FIXEDSYS |
SYSTEM_FONT の代わりに SYSTEM_FIXED_FONT を使用します |
DS_LOCALEDIT | 16 ビットのアプリケーションで使用します |
DS_MODALFRAME |
モーダルダイアログボックスフレームを持つ ダイアログボックスを作成。 |
DS_NOFAILCREATE | エラーが発生してもダイアログボックスを作成。 |
DS_NOIDLEMSG | ダイアログボックスが表示されている間 WM_ENTERIDLE メッセージを抑制します |
DS_RECURSE |
コントロールに似たダイアログボックスを作成。 |
DS_SETFONT |
ダイアログボックステンプレートが フォント名とポイントサイズを持つことを示します 対応するフォントは、ダイアログボックスで テキストを表示するために使われます |
DS_SETFOREGROUND |
ダイアログボックスをフォアグラウンドにします 内部で Windows システムが SetForegroundWindow 関数を呼び出します このスタイルは、16 ビット版の Windows には適用できません |
DS_SYSMODAL |
システムモーダルダイアログボックスを作成します このスタイルを指定すると、ダイアログボックスが 最前面ウィンドウ (WS_EX_TOPMOST) になる その他の点では、ダイアログボックス自身や システム内の他のウィンドウの振る舞いに影響を与えません |
WS_EX_ACCEPTFILES | ドラッグアンドドロップで、ファイルを受け入れます |
WS_EX_APPWINDOW | ウィンドウが最小化されるとトップレベルウィンドウがタスクバー上に置かれます |
WS_EX_CLIENTEDGE | 縁が沈んで見える境界線を持つウィンドウを指定。 |
WS_EX_CONTEXTHELP |
ダイアログボックスのタイトルバーに[?]ボタンを追加します ユーザーがこの[?]ボタンをクリックすると マウスポインタに疑問符が付きます その後、ユーザーがダイアログボックス内のコントロールをクリックすると コントロールは WM_HELP メッセージを受け取ります コントロールはダイアログの処理にそのメッセージを送ります このダイアログの処理は、HELP_WM_HELP コマンドを使った WinHelp 関数です ヘルプアプリケーションは、通常 コントロールのヘルプを持つポップアップウィンドウを表示します WS_EX_CONTEXTHELP は WS_MAXIMIZEBOX や WS_MINIMIZEBOX スタイルとは一緒に使用できません |
WS_EX_CONTROLPARENT | ユーザーが[Tab]キーを使って子ウィンドウ間を移動できるようにします |
WS_EX_DLGMODALFRAME |
二重の境界線を持つウィンドウを作成します dwStyle パラメータに WS_CAPTION スタイルを指定することで タイトルバーを持つようにも作成できます |
WS_EX_LEFT | 左揃えされたプロパティを持つウィンドウを作成します。デフォルトです |
WS_EX_LEFTSCROLLBAR |
垂直スクロールバーがクライアント領域の左側に置かれます ヘブライ語やアラビア語をサポートしているシステムで有効です 他の言語では、このスタイルは無視され、エラーとして扱われます |
WS_EX_LTRREADING |
垂直スクロールバーがクライアント領域の左側に置かれます ヘブライ語やアラビア語をサポートしているシステムで有効です 他の言語では、このスタイルは無視され、エラーとして扱われます |
WS_EX_MDICHILD | MDI 子ウィンドウを作成。 |
WS_EX_NOPARENTNOTIFY |
このスタイルで作成された 子ウィンドウが作成されたり破棄されたりするときに その親ウィンドウにWM_PARENTNOTIFY メッセージを送らないように指定します |
WS_EX_OVERLAPPEDWINDOW | WS_EX_CLIENTEDGE と WS_EX_WINDOWEDGE スタイルの組み合わせです |
WS_EX_PALETTEWINDOW |
WS_EX_WINDOWEDGE 、WS_EX_TOOLWINDOW WS_EX_TOPMOST スタイルの組み合わせです |
WS_EX_RIGHT |
右揃えされたプロパティを持つウィンドウを作成します ヘブライ語やアラビア語をサポートしているシステムで有効です 他の言語では、このスタイルは無視され、エラーとして扱われます |
WS_EX_RIGHTSCROLLBAR |
垂直スクロールバーがクライアント領域の右側に置かれます デフォルトです |
WS_EX_RTLREADING |
右から左への読み取り順序を持つプロパティを持ったウィンドウを作成します ヘブライ語やアラビア語をサポートしているシステムで有効です 他の言語では、このスタイルは無視され、エラーとして扱われます |
WS_EX_STATICEDGE |
ユーザーの入力を受け付けない項目用の 立体的に見える境界スタイルを持つウィンドウを作成します |
WS_EX_TOOLWINDOW |
ツールウィンドウを作成します これは、フローティングツールバー用のウィンドウです ツールウィンドウは通常のタイトルバーより小さいタイトルバーを持ちます タスクバーには表示されません ユーザーが[Alt]キーと[Tab]キーを 同時に押すと現れるダイアログ内にも、表示されません |
WS_EX_TOPMOST |
最前面ウィンドウを作成します ウィンドウが非アクティブな状態でも、ほかのウィンドウの前面に表示されます SetWindowPos 関数を使用すると、非最前面ウィンドウに変更できます |
WS_EX_TRANSPARENT |
透過ウィンドウを作成します このウィンドウの下にあるどのようなウィンドウも、遮られることなく表示されます このスタイルで作成されたウィンドウは、その下にある兄弟ウィンドウが すべて更新されたときにだけ、WM_PAINT メッセージを受け取ります |
WS_EX_WINDOWEDGE | ウィンドウが盛り上がった縁の境界線を持つことを指定。 |
返り値 |
戻り値の BOOL 型 は、ブーリアンを格納するデータ型 0以外の「真」か、0の「偽」を格納します ウィンドウが以前表示状態なら0以外、非表示だったのなら0を返します |
hWnd | 対象となるウィンドウのハンドルを指定。 |
nCmdShow |
ウィンドウの表示状態を表す定数を指定。。SW_SHOW でウィンドウを表示します (下のリファレンス参照) 指定されたウィンドウの表示状態を設定します hWndM - 対象のウィンドウのハンドルを指定。 nCmdShow - ウィンドウの表示状態を表す定数を指定。 戻り値 - 以前に表示されていたときは 0 以外、非表示にされていたときは 0 |
定数 | 解説 |
SW_HIDE | ウィンドウを非表示にし、他のウィンドウをアクティブにします |
SW_MAXIMIZE | ウィンドウを最大化します |
SW_MINIMIZE | ウィンドウを最小化し、Z 順位が次のトップレベルウィンドウをアクティブにします |
SW_RESTORE |
ウィンドウをアクティブにし、表示します ウィンドウが最小化されていたり最大化されていたりすると元の位置とサイズに戻ります |
SW_SHOW | ウィンドウをアクティブにして、現在の位置とサイズで表示します |
SW_SHOWDEFAULT |
アプリケーションを起動させたプログラムがCreateProcess 関数に渡す STARTUPINFO 構造体の wShowWindow メンバで指定されたSW_ フラグを基にして、表示状態を設定します |
SW_SHOWMAXIMIZED | ウィンドウをアクティブにして、最大化します |
SW_SHOWMINIMIZED | ウィンドウをアクティブにして、最小化します |
SW_SHOWMINNOACTIVE |
ウィンドウを最小化します。 アクティブなウィンドウは、アクティブな状態を維持します。 非アクティブなウィンドウは、非アクティブなままです |
SW_SHOWNA |
ウィンドウを現在の状態で表示します アクティブなウィンドウはアクティブな状態を維持します |
SW_SHOWNOACTIVATE |
ウィンドウを直前の位置とサイズで表示します。 アクティブなウィンドウはアクティブな状態を維持します。 |
SW_SHOWNORMAL |
ウィンドウをアクティブにして、表示します ウィンドウが最小化または最大化されているときは、位置とサイズを元に戻します |
引数 | 説明 |
---|---|
返り値 |
・問題なくメッセージを受信 = 「1」 ・プログラムの終了「WM_QUIT」を受信 = 「0」 ・エラーが発生した時 = 「-1」 |
LPMSG lpMsg | 構造体「MSG」の「メモリアドレス」を指定する。 |
HWND hWnd |
「ウィンドウ」の「ハンドル」を指定する。 「NULL」を指定すると、プログラムで作成された、すべての「ウィンドウ」のメッセージがされる。 |
UINT wMsgFilterMin |
最初のメッセージ 受診するメッセージの種類を制限したいときに「ウィンドウメッセージ」の定数を指定する。 「0」を指定すると、「制限」しないことになる。 |
UINT wMsgFilterMax |
最後のメッセージ 受診するメッセージの種類を制限したいときに「ウィンドウメッセージ」の定数を指定する。 「0」を指定すると、「制限」しないことになる。 |
構造体の要素 | 説明 |
---|---|
HWND hwnd | メッセージを受け取る「ウィンドウハンドル」 |
UINT message | ウィンドウメッセ時の種類を示す「定数」 |
WPARAM wParam | |
LPARAM lParam | |
DWORD time | メッセージキューが保存された時間 |
POINT pt | メッセージが記憶された時の「マウスポインタ」の座標 |
MSG, *PMSG | 構造体の名前。例は「MSG」「PMSGのポインタ」の2種類の名前 |
引数 | 説明 |
---|---|
LPCTSTR lpClassName | クラス名 |
HINSTANCE hInstance | プログラムのインスタンスハンドル |
WM_DESTROY | 「ウインドウ」を閉じる |
WM_QUIT | 「プログラム」の終了命令 |