WinAPI関数
戻る
ウィンドウ系
- CloseWindow()
ウィンドウを閉じる.
CloseWindow
(HWND
);
戻る
- CreateWindow()
ウィンドウを作成する.成功すればウィンドウハンドルを返す.
HWND CreateWindow //失敗するとNULLを返す
(LPSTR //ウィンドウを定義したクラス名
,LPSTR //ウィンドウのタイトル(NULL=NoName)
,WS_OVERLAPPEDWINDOW //ウィンドウスタイル(以下の3つは基本的な大きなスタイル)
//標準(オーバーラップ) WS_OVERLAPPEDWINDOW
//ポップアップ(ダイアログ型)
//子ウィンドウ
//見えないウィンドウを作成 WS_VISIBLE (ShowWindow()関数で表示)
,UINT,UINT //X,Y...ウィンドウの左上座標( CW_USEDEFAULT でシステムのデフォルト)
,UINT,UINT //CX,CY..ウィンドウの大きさ(同上)
,HWND //親のウィンドウハンドル(NULLならこれが親ウィンドウ).子ウィンドウを作成する場合指定する
,HWND //メインメニューのハンドル(NULLならメニューなしまたはクラスで定義)
,HINSTANCE //ここにインスタンスを設定するとプログラムが終了すればウィンドウは破棄される
,NULL //WM_CREATEに渡すパラメータ(ウィンドウの違いをここにセット).これを介してプロシージャに渡す
);
戻る
- DestroyWindow()
ウィンドウを破棄する.
DestroyWindow
(HWND //ウィンドウハンドル
);
- MoveWindow()
○
(HWND hWnd
,int X
,int Y
,int nWidth
,int nHeight
,BOOL bRepaint
);
戻る
- setWindowText()
ウィンドウタイトルを変更する.
(*ランタイムリンクではSetWindowTextA)
setWindowText
(HWND //CreateWindow()で取得したウィンドウハンドル
,LPSTR //ウィンドウタイトル
);
戻る
- ShowWindow()
WS_VISIBLEで表示されない設定になっているウィンドウを表示する.
ただしWM_PAINTに処理がたまると表示が遅延する可能性があるので
直ちに反映したい場合はUpdateWindow()を代わりに用いる.
ShowWindow
(???
);
戻る
- UpdateWindow()
ウィンドウの状態を直ちに反映する.
UpdateWindow
(HWND //ウィンドウハンドル
);
戻る
- GetMessage()
イベントメッセージをキュー(FIFO)から取り出す.
メッセージとはWindowsがユーザー、環境のウィンドウへの様々な
イベントをキューに格納してあるものです.
GetMessageはWM_QUITを取得するとFalseを返し,メッセージデータ
としてmsg構造体のwParamメンバーを返す.
Bool GetMessage //取得できる情報がなければFalse
(UINT &msg //メッセージを格納する構造体
,NULL //メッセージ取得する対象とするウィンドウのハンドル.NULLなら
//呼び出したスレッドに属する全てのウィンドウを対象にする
,0,0 //取得するメッセージの範囲(0,0なら無制限)
);
-例-
while (GetMessage(UINT &msg,NULL,0,0))
{
TranslateMessage(UINT &msg);
DispatchMessage(UINT &msg);
}
return msg.wParam;
戻る
- TranslateMessage()
仮想キーのメッセージを文字メッセージに変換し、再ポストして
TranslateMessage
(UINT &msg //GetMessageまたはPeekMessageで取得した情報
);
戻る
- PeekMessage()
メッセージをキューから取得.
PeekMessage();
戻る
- DispatchMessage()
指定したメッセージをプロシージャに送出(ディスパッチ)する。
つまり、プロシージャをコールしてメッセージを渡す。
DispatchMessage
(UINT &msg //GetMessageまたはPeekMessageで取得した情報
);
戻る
- PostMessage()
メッセージをキューにポストする.普通、メッセージをポストするのは
システムなので自動実行や何か特殊な動作をする時以外は使わない.
PostMessage
(???
);
- SendMessage()
メッセージをプロシージャにセンドする.プロシージャをコールし,
プロシージャの処理が終了するまで制御は返ってこない.
SendMessage
(???
);
- PostQuitMessage()
WM_QUITメッセージをポストする.ディスパッチされたプロシージャ内から
GetMessageループを終了するときに用いる.
PostQuitMessage();
- IsDialogMessage()
未稿
IsDialogMessage
(HWND //ウィンドウハンドル
,UINT &msg //GetMessageまたはPeekMessageで取得した情報
);
- PropSheet_GetCurrentPageHwnd()
未稿。プロパティシートのカレントページハンドルを取得
PropSheet_GetCurrentPageHwnd
(HWND //hHLPWndなど.ウィンドウハンドル
);
- PropSheet_IsDialogMessage()
IsDialogMessageのプロパティシート版
PropSheet_IsDialogMessage
(HWND //ウィンドウハンドル
,UINT &msg //GetMessageまたはPeekMessageで取得した情報
);
戻る
- TranslateAccelerator()
指定したウィンドウに、指定されたアクセラレータがあるときに
それを何れかのプロシージャが対応できるメッセージに変換して
対応するプロシージャに直接送る.また,アクセラレータがなけれ
ばこの関数は偽を返す.
TranslateAccelerator
(HWND //ウィンドウハンドル
,hAccel //アクセラレータハンドル
,UINT &msg //GetMessageまたはPeekMessageで取得した情報
);
戻る
- TranslateMDISysAccel()
MDIに関するアクセラレータキー処理.MDIタイプのウィンドウの場合に必要.
詳細はTranslateAccelerator()を参照.
TranslateMDISysAccel
(HWND //ウィンドウハンドル
,UINT &msg //GetMessageまたはPeekMessageで取得した情報
);
戻る