定数 | 解説 |
---|---|
ボタン | |
MB_ABORTRETRYIGNORE | [ 中止 ]、[ 再試行 ]、[ 無視 ] プッシュボタンを表示します |
MB_OK | [OK] プッシュボタンを表示します。デフォルトです |
MB_OKCANCEL | [OK]、[ キャンセル ] プッシュボタンを表示します |
MB_RETRYCANCEL | [ 再試行 ]、[ キャンセル ] プッシュボタンを表示します |
MB_YESNO | [ はい ]、[ いいえ ] プッシュボタンを表示します |
MB_YESNOCANCEL | [ はい ]、[ いいえ ]、[ キャンセル ] プッシュボタンを表示します |
アイコン | |
MB_ICONEXCLAMATION MB_ICONWARNING |
感嘆符アイコンを表示します |
MB_ICONINFORMATION MB_ICONASTERISK |
吹き出しの中に小文字の「 i 」があるアイコンを表示します |
MB_ICONQUESTION | 疑問符のアイコンを表示します |
MB_ICONSTOP
MB_ICONERROR MB_ICONHAND |
停止 |
デフォルトプッシュ | |
MB_DEFBUTTON1 | 最初のボタンをデフォルトプッシュボタンにします デフォルトです |
MB_DEFBUTTON2 | 2 番目のボタンをデフォルトプッシュボタンにします |
MB_DEFBUTTON3 | 3 番目のボタンをデフォルトプッシュボタンにします |
MB_DEFBUTTON4 | 4 番目のボタンをデフォルトプッシュボタンにします |
動作 | |
MB_APPLMODAL | ユーザーは、メッセージボックスに応答しなければ hWnd パラメータで指定されたウィンドウで作業を継続することはできません ほかのアプリケーションのウィンドウに移動して作業することはできます デフォルトです |
MB_SYSTEMMODAL | メッセージボックスが WS_EX_TOPMOST スタイルを持つ以外はMB_APPLMODAL と同じです ユーザーがすぐに気付く必要があるような重大なエラーを通知するために使用します |
MB_TASKMODAL | hWnd パラメータが NULL のときに 現在のタスクに属するすべてのトップレベルウィンドウが無効になることを除いて MB_APPLMODAL と同じです 呼び出し側のアプリケーション (またはライブラリ) が 有効なウィンドウのハンドルを持っておらず かつ、ほかのアプリケーションを中断せずに 現在のアプリケーションのほかのウィンドウへの入力を禁止したいときに使用します |
その他 | |
MB_DEFAULT_DESKTOP_ONLY | 現在入力を受け取るデスクトップは デフォルトのデスクトップでなければなりません それ以外の場合には、関数が失敗します デフォルトのデスクトップは、ユーザーがログオンした後で アプリケーションが動作するデスクトップです |
MB_HELP | [ヘルプ]プッシュボタンを追加します ユーザーがヘルプボタンを選択したり F1 キーを押したりすると ヘルプイベントが生成されます |
MB_RIGHT | テキストを右寄せします |
MB_RTLREADING | 右から左へテキストを表示します ヘブライ語やアラビア語をサポートしているシステムで有効です |
MB_SETFOREGROUND | メッセージボックスをフォアグラウンドウィンドウにします Windows システムは、内部で SetForegroundWindow 関数を呼び出します |
MB_TOPMOST | メッセージボックスを最前面ウィンドウ (WS_EX_TOPMOST) で作成します |
MB_SERVICE_NOTIFICATION | Windows NT 専用です 呼び出し側がユーザーにイベントを通知するサービスのときに指定します ユーザーがログオンしていないときも 現在のアクティブなデスクトップにメッセージボックスを表示します このフラグをセットするときは hWnd パラメータに NULL を指定してください |
MB_SERVICE_NOTIFICATION_NT3X | Windows NT 専用です この値は、Windows NT バージョン 3.51 で MB_SERVICE_NOTIFICATION として定義された値と同じです |
戻り値 | |
IDABORT | [中止]ボタンが選択されました |
IDCANCEL | [キャンセル]ボタンが選択されました |
IDIGNORE | [無視]ボタンが選択されました |
IDNO | [いいえ]ボタンが選択されました |
IDOK | [OK]ボタンが選択されました |
IDRETRY | [再試行]ボタンが選択されました |
IDYES | [はい]ボタンが選択されました |
LPTSTR lstrcpyn( LPTSTR lpString1 , LPCTSTR lpString2, int iMaxLength );指定文字数だけ、文字列をコピーします
LPTSTR lstrcat(LPTSTR lpString1, LPCTSTR lpString2);
文字列を別の文字列に結合します
lpString1 - lpString2 を結合する文字列へのポインタ
lpString2 - lpString1 に結合させる文字列へのポインタを指定します
戻り値 - 結合した文字列へのポインタ、失敗すれば NULL
現在のプロセスのコマンドライン文字列を返します
戻り値 - コマンドライン文字列へのポインタを返します
HWND CreateWindow( LPCTSTR lpClassName , LPCTSTR lpWindowName, DWORD dwStyle , int x , int y , int nWidth , int nHeight , HWND hWndParent , HMENU hMenu , HANDLE hInstance , LPVOID lpParam );
オーバーラップウィンドウ、ポップアップウィンドウ
子ウィンドウのいずれかを作成します
lpClassName - ウィンドウクラス名を指定します
lpWindowName - ウィンドウ名を指定します。タイトルバーなどに表示されます
dwStyle - ウィンドウのスタイル を定数で指定します
x - ウィンドウの初期位置のX座標を指定します
y - ウィンドウの初期位置のY座標を指定します
nWidth - ウィンドウの横幅を指定します
nHeight 0 ウィンドウの縦幅を指定します
hWndParend - 作成されるウィンドウのオーナー、または親ウィンドウを指定します
hMenu - メニューまたは子ウィンドウ ID を指定します
hInstance - ウィンドウに関連付けられたインスタンスハンドルを指定します
lpParam - WM_CREATE メッセージの lParam パラメータとして渡される構造体ポインタを指定します
戻り値 - 成功すると作成されたウィンドウハンドル、失敗するとNULL
定数 | 解説 |
---|---|
定義済みウィンドウクラス | |
BUTTON | ユーザーがクリックできるボタンを表す、小さな長方形の子ウィンドウです ボタンコントロールは単独またはグループの両方で使え ラベルを付けることもテキストなしで表示することもできます |
COMBOBOX | コンボボックスです リストボックスの部分は、常に表示させておくか ユーザーの指示によってドロップダウンするようにします コンボボックスのスタイルによって、ユーザーが選択フィールドの内容を 編集できるかできないかが決まります |
EDIT | キーボードからテキストを入力できる、長方形の子ウィンドウです エディットコントロールは可変ピッチのシステムフォントを使用し ANSI 文字セットの文字を表示します フォントを変更するよう、WM_SETFONT メッセージを エディットコントロールに送ることもできます エディットコントロールは、タブ文字をタブ長と同じ長さの空白文字列に展開します タブストップは 8 文字間隔で設定されているものとみなされます |
LISTBOX | 文字列のリスト (一覧) です クリックで文字列を選択できます また、このとき、親ウィンドウに通知メッセージが送られます コントロールウィンドウより長いリストをスクロールするには リストボックスのスクロールバーを使います リストボックスは、スクロールバーを必要に応じて 自動的に表示したり消したりします |
MDICLIENT | MDI クライアントウィンドウです このウィンドウは、MDI アプリケーションの子ウィンドウを 制御するメッセージを受け取ります 推奨されるスタイルビットは、WS_CLIPCHILDREN と WS_CHILD です スクロールバーを付けるときは、WS_HSCROLL と WS_VSCROLL を使います |
SCROLLBAR | つまみを持ち、両端に矢印ボタンがある長方形です ユーザーがコントロールをクリックするたびに スクロールバーは親ウィンドウに通知メッセージを送ります つまみの位置の更新は、必要に応じて親ウィンドウが行います スクロールバークラスは、サイズボックスコントロールも含みます |
STATIC | 簡単なテキストのフィールド、ボックス または他のコントロールにラベルを付けたり、囲んだり 分離したりするときに使う長方形です スタティックコントロールは入出力を行いません dw パラメータでは、次のウィンドウスタイルが指定できます |
HWND CreateWindowEx( DWORD dwExStyle, LPCTSTR lpClassName , LPCTSTR lpWindowName, DWORD dwStyle , int x , int y , int nWidth , int nHeight , HWND hWndParent , HMENU hMenu , HANDLE hInstance , LPVOID lpParam );
拡張スタイルが指定できること以外は CreateWindow() と同じです
dwExStyle 以外の引数については CreateWindow() を参照してください
dwExStyle - 拡張スタイル を指定します
BOOL ShowWindow( HWND hWnd , int nCmdShow );
指定されたウィンドウの表示状態を設定します
hWndM - 対象のウィンドウのハンドルを指定します
nCmdShow - ウィンドウの表示状態を表す定数を指定します
戻り値 - 以前に表示されていたときは 0 以外、非表示にされていたときは 0
nCmdShow には以下の定数を指定します
定数 | 解説 |
---|---|
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 | ウィンドウをアクティブにして、表示します ウィンドウが最小化または最大化されているときは、位置とサイズを元に戻します |
LRESULT DefWindowProc(HWND hWnd , UINT Msg , WPARAM wParam , LPARAM lParam);
デフォルトウィンドウプロシージャを呼び出します
デフォルトウィンドウプロシージャは、ウィンドウが持つ基本的なふるまいをサポートします
hWnd - メッセージを受け取ったウィンドウのハンドルを指定します
Msg - メッセージを指定します
wParam - メッセージの追加情報を指定します
lParam - メッセージの追加情報を指定します
戻り値 - メッセージ処理の結果が返ります。意味はメッセージにより異なります
HICON LoadIcon(HINSTANCE hInstance , LPCTSTR lpIconName);
インスタンスに関連付けられた実行ファイルからアイコンリソースをロードします
この関数は、LoadImage 関数に取って代わられています
hInstance - ロードするインスタンスを指定します。システム定義の場合は NULL
lpIconName - ロードするアイコンをあらわす文字列を指定します
戻り値 - ロードされたアイコンのハンドルを返します。失敗した時は NULL
定数 | 解説 |
---|---|
システム定義のアイコン | |
IDI_APPLICATION | アプリケーションアイコン |
IDI_ASTERISK | アスタリスクのアイコン (吹き出しの中に i の文字) |
IDI_EXCLAMATION | 感嘆符のアイコン |
IDI_HAND | ストップ印のアイコン |
IDI_QUESTION | 疑問符のアイコン |
IDI_WINLOGO | Windows ロゴアイコン |
HCURSOR LoadCursor(HINSTANCE hInstance , LPCTSTR lpCursorName);
hInstance - ロードするインスタンスを指定します。システム定義の場合は NULL
lpIconName - ロードするカーソルをあらわす文字列を指定します
戻り値 - ロードされたカーソルのハンドルを返します。失敗した時は NULL
インスタンスに関連付けられた実行ファイルからカーソルリソースをロードします
この関数は、LoadImage 関数に取って代わられています
定数 | 解説 |
---|---|
システム定義のマウスカーソル | |
IDC_APPSTARTING | 標準矢印カーソルおよび小型砂時計カーソル |
IDC_ARROW | 標準矢印カーソル |
IDC_CROSS | 十字カーソル |
IDC_IBEAM | アイビーム (縦線) カーソル |
IDC_ICON | 現在は使われません |
IDC_NO | 禁止カーソル |
IDC_SIZE | 現在は使われません |
IDC_SIZEALL | 4 方向矢印カーソル |
IDC_SIZENESW | 斜め左下がりの両方向矢印カーソル |
IDC_SIZENS | 上下両方向矢印カーソル |
IDC_SIZENWSE | 斜め右下がりの両方向矢印カーソル |
IDC_SIZEWE | 左右両方向矢印カーソル |
IDC_UPARROW | 垂直の矢印カーソル |
IDC_WAIT | 砂時計カーソル |
HGDIOBJ GetStockObject( int fnObject );
定義済みのペン、ブラシ、フォント、パレットのいずれかのハンドルを取得します
fnObject - 要求するハンドルの定数を指定します
戻り値 - 成功すると要求したハンドルが、失敗すると NULL が返ります
定数 | 解説 |
---|---|
ストックオブジェクト | |
BLACK_BRUSH | 黒のブラシ |
DKGRAY_BRUSH | 濃い灰色のブラシ |
GRAY_BRUSH | 灰色のブラシ |
HOLLOW_BRUSH | 中空のブラシ (NULL_BRUSH と同じ) |
LTGRAY_BRUSH | 明るい灰色のブラシ |
NULL_BRUSH | 空のブラシ (HOLLOW_BRUSH と同じ) |
WHITE_BRUSH | 白のブラシ |
BLACK_PEN | 黒のペン |
NULL_PEN | 空のペン |
WHITE_PEN | 白のペン |
ANSI_FIXED_FONT | Windows 文字セットの固定幅システムフォント |
ANSI_VAR_FONT | Windows 文字セットの可変幅システムフォント |
DEVICE_DEFAULT_FONT | Windows NT のみ : デバイス依存のフォント |
DEFAULT_GUI_FONT | Windows 95 のみ : ユーザーインターフェイス用のデフォルトフォント (メニューやダイアログボックスなどで使われる) |
OEM_FIXED_FONT | OEM 文字セットの固定幅フォント |
SYSTEM_FONT | システムフォント デフォルトでメニューやダイアログボックスなどで使われる可変幅フォント |
SYSTEM_FIXED_FONT | 古い Windows との互換性で残されている 現在は使わない |
DEFAULT_PALETTE | デフォルトのカラーパレット (システムパレット内のスタティックカラーで構成されます。) |
ATOM RegisterClass(CONST WNDCLASS *lpwcx);
ウィンドウクラスを登録します
lpwcx - ウィンドウクラスのポインタを指定します
戻り値 - 成功すると登録されたクラスを一意的に識別するアトムが、失敗すると0が返ります
BOOL GetMessage(LPMSG lpMsg , HWND hWnd , UINT wMsgFilterMin , UINT
wMsgFilterMax);
指定された MSG 構造体型変数にメッセージを格納します
lpMsg - メッセージ情報を格納する、MSG 構造体型変数のポインタを指定します
hWnd - メッセージを取得するウィンドウのハンドルを指定します。全ての場合は NULL
wMsgFilterMin - メッセージの最小値を指定し、フィルタリングします。しない場合は0
wMsgFilterMax - メッセージの最大値を指定し、フィルタリングします。しない場合は0
戻り値 - WM_QUIT を受け取った時は 0、そうでないなら 0 以外、エラーの時は -1 を返します
LONG DispatchMessage(CONST MSG *lpmsg);
指定されたメッセージをウィンドウプロシージャにディスパッチします
lpmsg - ディスパッチするメッセージを格納した MSG 構造体変数のポインタを指定します
戻り値 - ウィンドウプロシージャの戻り値が返ります
VOID PostQuitMessage(int nExitCode);
メッセージキューに WM_QUIT メッセージをポストします
nExitCode - WM_QUIT の wParam の値を指定します
BOOL DestroyWindow(HWND hWnd);
WM_DESTROY メッセージとWM_NCDESTROY メッセージをウィンドウに送り
ウィンドウの破棄に必要な作業を行います
hWnd - 破棄するウィンドウを指定します
戻り値 - 成功すると 0 以外の値、失敗すると 0 が返ります
指定されたウィンドウのクライアントエリアに対する
デバイスコンテキストのハンドルを取得します
hWnd - デバイスコンテキストを取得するウィンドウのハンドルを指定します
戻り値 - 指定されたウィンドウに対するデバイスコンテキストのハンドルを返します
デバイスコンテキストを解放します
hWnd - デバイスコンテキストに対応しているウィンドウのハンドル
hDC - 解放するデバイスコンテキストのハンドルを指定します
戻り値 - 解放された時は1、されなかったときは0を返します
BOOL TextOut( HDC hdc, int nXStart, int nYStart, LPCTSTR lpString, int cbString );
文字列を描画します
hdc - 描画するデバイスコンテキストのハンドルを指定します
nXstart - 参照点 X 座標を指定します
nYstart - 参照点 Y 座標を指定します
lpString - 描画する文字列へのポインタを指定します
cbString - 文字列の文字数を指定します
戻り値 - 成功すると0以外、失敗すると0が返ります
HDC BeginPaint(HWND hwnd , LPPAINTSTRUCT lpPaint);
描画領域をの無効矩形を消去し、描画の準備をします
hwnd - 再描画するウィンドウのハンドルを指定します
lpPaint - PAINTSTRUCT へのポインタを指定します
戻り値 - デバイスコンテキストのハンドルを返します
BOOL EndPaint(HWND hWnd , CONST PAINTSTRUCT *lpPaint);
BeginPaint() で得たデバイスコンテキストを解放します
hWnd - 再描画したウィンドウのハンドルを指定します
lpPaint - BeginPaint() 関数が取得した、PAINTSTRUCT 構造体へのポインタを指定します
戻り値 - 常に0以外の値
BOOL GetTextMetrics(HDC hdc , LPTEXTMETRIC lptm);
現在のフォントの情報を取得します
hdc - デバイスコンテキストへのハンドルを指定します
lptm - TEXTMETRIC 構造体へのポインタを指定します
戻り値 - 成功すると0以外、失敗すると0が返ります
COLORREF SetTextColor(HDC hdc , COLORREF crColor);
デバイスコンテキストの文字色を変更します
hdc - デバイスコンテキストのハンドルを指定します
crColor - 設定する色を指定します
戻り値 - 以前の文字色が返ります。失敗した場合は CLR_INVALID が返ります
COLORREF RGB(BYTE bRed , BYTE bGreen , BYTE bBlue);
引数で指定された 赤、緑、青(RGB)の値を
カラー値で用いる COLORREF 型の値に変換して返します
bRed - 赤の要素値を指定します
bGreen - 緑の要素値を指定します
bBlue - 青の要素値を指定します
戻り値 - 引数の値を32ビットのカラー値に変換した値
BOOL GetClientRect(HWND hWnd , LPRECT lpRect);
ウィンドウのクライアントエリアの座標を得ます
左上の座標は常に (0 , 0) の値になり
右下は、左上からの相対的座標になります
hWnd - 座標を取得するウィンドウのハンドルを指定します
lpRect - RECT 構造体へのポインタを指定します。この構造体に座標が格納されます
戻り値 - 関数が成功すると0以外、失敗すると0が返ります
int DrawText( HDC hdc , LPTSTR lpchText , int cchText , LPRECT lprc , UINT uFormat , );
指定された長方形に、指定された形式でフォーマットした文字列を表示します
hdc - デバイスコンテキストのハンドルを指定します
lpchText - 表示する文字列を渡します。cchTextが -1 の場合 NULL で終わる文字列を指定します
cchText - 文字数を指定します。NULL で終わる文字列の場合 -1 を指定すると自動で計算します
lprc - 表示する長方形の座標が入った RECT 構造体へのポインタを指定します
uFormat - フォーマット方法を指定します
戻り値 - 描画したテキストの高さが返ります
定数 | 解説 |
---|---|
フォーマット指定 | |
DT_BOTTOM | 長方形の下辺にテキストを揃えます DT_SINGLELINE と同時に指定しなければなりません |
DT_CALCRECT | RECT 構造体で指定した長方形の幅と高さを 実際にテキストを表示するために必要な大きさに変更します テキストは描画しません |
DT_CENTER | テキストを水平方向に中央揃えで表示します |
DT_EDITCONTROL | 複数行エディットコントロールがもつ特性と同じ特性で描画します 部分的に見えている最後の行は表示しません |
DT_END_ELLIPSIS | 指定した長方形に収まるよう 必要に応じてテキストの最後を省略符号 (...) に置き換えます |
DT_PATH_ELLIPSIS | 指定した長方形に収まるよう 必要に応じてテキストの途中を省略符号 (...) に置き換えます パス名の描画に適しています |
DT_EXPANDTABS | タブ文字を展開します デフォルトのタブ間隔は 8 文字です |
DT_EXTERNALLEADING | 行の高さに、外部レディングの高さ (テキストの行間として適切な高さ) を加算します 通常、外部レディングはテキスト行の高さに加えられません |
DT_LEFT | テキストを左揃えにします |
DT_MODIFYSTRING | lpString パラメータが指すバッファに 表示された文字列を格納します DT_END_ELLIPSIS または DT_PATH_ELLIPSIS フラグを 指定したときにしか意味をもちません |
DT_NOCLIP | クリッピングをしません。描画が多少速くなります |
DT_NOPREFIX | プリフィックス文字の処理を行わないようにします 通常、ニーモニックプレフィクス「 & 」は その次にくる文字にアンダースコア (_) を付けて 表示する命令であると解釈されます また、「 && 」を 1 つの「 & 」として表示します DT_NOPREFIX を指定すると、この処理が行われなくなります |
DT_RIGHT | テキストを右揃えにします |
DT_RTLREADING | 右から左への読み取り順序で表示します ヘブライ語やアラビア語を表示するときに有効です |
DT_SINGLELINE | テキストを単一行で表示します テキストがキャリッジリターンやラインフィードを含んでいても、改行されません |
DT_TABSTOP | タブ間隔を設定します この値を指定したときは、uFormat パラメータの 15 ビットから 8 ビット (下位ワードの上位バイト) で タブ間隔の文字数を指定します デフォルトのタブ間隔は 8 文字です |
DT_TOP | 長方形の上辺にテキストを揃えます (単一行のときのみ) |
DT_VCENTER | テキストを垂直方向に中央揃えで表示します (単一行のときのみ) |
DT_WORDBREAK | テキストを複数行で表示します 折り返しは自動的に行われます キャリッジリターンとラインフィードの組み合わせによっても折り返されます |
int SaveDC(HDC hdc);
デバイスコンテキストの状態を保存します
hdc - 保存するデバイスコンテキストを指定します
戻り値 - デバイスコンテキストの ID。失敗すると 0
BOOL RestoreDC(HDC hdc , int nSavedDC);
デバイスコンテキストの状態を SaveDC() で保存した状態に復元します
hdc - デバイスコンテキストを指定します
nSavedDC - デバイスコンテキストの ID、または負数でスタックの要素を指定します
戻り値 - 成功すると 0 以外。失敗すると 0
COLORREF SetBkColor(HDC hdc , COLORREF crColor);
デバイスコンテキストの背景色を指定します
hdc - デバイスコンテキストのハンドルを指定します
crColor - 背景色を指定します
戻り値 - 戻り値は、以前設定されていた色、失敗するとCLR_INVALID
int SetBkMode(HDC hdc , int iBkMode);
背景モードを変更します
hdc - デバイスコンテキストのハンドルを指定します
iBkMode - 背景モードを指定します
戻り値 - 以前設定されていた背景モード、失敗すると 0
定数 | 解説 |
---|---|
OPAQUE | テキスト、ハッチブラシ、またはペンが描画される前に 現在の背景色で背景を塗りつぶします |
TRANSPARENT | 背景をそのまま残します |
COLORREF GetBkColor(HDC hdc);
現在の背景色を返します
hdc - デバイスコンテキストのハンドルを指定します
戻り値 - 現在の背景色、失敗すると、CLR_INVALID
int GetBkMode(HDC hdc);
現在の背景モードを返します
hdc - デバイスコンテキストのハンドルを指定します
戻り値 - 現在の背景モード、失敗すると、0
COLORREF SetPixel(HDC hdc , int X , int Y , COLORREF crColor);
指定位置にピクセルをセットします
hdc - デバイスコンテキストのハンドルを指定します
X - 描画するX座標を指定します
Y - 描画するY座標を指定します
crColor - 描画するピクセルの色を指定します
戻り値 - 設定した色の RGB 値、またはその近似色。失敗すると、-1
COLORREF GetPixel(HDC hdc , int XPos , int nYPos);
指定座標のピクセルの色を取得します
hdc - デバイスコンテキストのハンドルを指定します
XPos - X座標を指定します
YPos - Y座標を指定します
戻り値 - RGB値。現在のクリッピング領域の外側の座標が指定されたときは CLR_INVALID
BOOL MoveToEx(HDC hdc , int X , int Y , LPPOINT lpPoint);
カレントポジションを設定します
hdc - デバイスコンテキストへのハンドルを指定します
X - 設定するカレントポジションのX座標を指定します
Y - 設定するカレントポジションのY座標を指定します
lpPoint - 以前のカレントポジションを格納します。必要ない場合はNULL
戻り値 - 成功すると0以外、失敗すると0
BOOL LineTo(HDC hdc , int nXEnd , int nYEnd);
カレントポジションから指定位置まで線を描画し
終点を新しいカレントポジションとして設定します
hdc - デバイスコンテキストへのハンドルを指定します
nXEnd - 終点となるX座標を指定します
nYEnd - 終点となるY座標を指定します
戻り値 - 成功すると0以外、失敗すると0
BOOL PolylineTo(HDC hdc , CONST POINT *lppt , DWORD cCount);
カレントポジションを始点として、lpptの各座標へ線を描画します
最後の線の終点を新しいカレントポジションとして設定します
hdc - デバイスコンテキストへのハンドルを指定します
lppt - 線の座標を表すPOINT構造体へのポインタを指定します
cCount - lpptの点の数を指定します
戻り値 - 成功すると0以外、失敗すると0
BOOL Polyline(HDC hdc , CONST POINT *lppt , int cPoints);
カレントポジションを使用しないで
連続した線を一括して描画します
hdc - デバイスコンテキストへのハンドルを指定します
lppt - 線の座標を表すPOINT構造体へのポインタを指定します
cPoints - lpptの点の数を指定します。必ず2以上です
戻り値 - 成功すると0以外、失敗すると0
BOOL PolyPolyline( HDC hdc , CONST POINT *lppt , CONST DWORD *lpdwPolyPoints , DWORD cCount );
複数の連続線を描画します
hdc - デバイスコンテキストへのハンドルを指定します
lppt - 線の座標を表すPOINT構造体へのポインタを指定します
lpdwPolyPoints - 連続した線分が持つ点の数が格納されている配列のポインタを指定します
cCount - 連続した線分の総数を指定します
戻り値 - 成功すると0以外、失敗すると0
BOOL Rectangle( HDC hdc , int nLeftRect , int nTopRect , int nRightRect , int nBottomRect );
長方形を描画します
長方形は、現在のペンで描かれ、現在のブラシで塗りつぶされます
hdc - デバイスコンテキストのハンドルを指定します
nLiftRect - 左上X座標を指定します nTopRect - 左上Y座標を指定します
nRightRect - 右下X座標を指定します
nBottomRect - 右下のY座標を指定します
戻り値 - 関数が成功すると0以外、失敗すると0
BOOL Ellipse( HDC hdc, int nLeftRect , int nTopRect , int nRightRect , int nBottomRect );
楕円形を描画します
楕円形は、現在のペンで描かれ、現在のブラシで塗りつぶされます
hdc - デバイスコンテキストのハンドルを指定します
nLiftRect - 左上X座標を指定します nTopRect - 左上Y座標を指定します
nRightRect - 右下X座標を指定します
nBottomRect - 右下のY座標を指定します
戻り値 - 関数が成功すると0以外、失敗すると0
BOOL RoundRect( HDC hdc, int nLeftRect , int nTopRect, int nRightRect , int nBottomRect, int nWidth , int nHeight );
角の丸い長方形を描画します
角の丸い長方形は、現在のペンで描かれ、現在のブラシで塗りつぶされます
hdc - デバイスコンテキストのハンドルを指定します
nLiftRect - 左上X座標を指定します nTopRect - 左上Y座標を指定します
nRightRect - 右下X座標を指定します
nBottomRect - 右下のY座標を指定します
nWidth - 長方形の角の丸みの幅を指定します
nHeight - 長方形の角の丸みの高さを指定します
戻り値 - 関数が成功すると0以外、失敗すると0
BOOL Arc( HDC hdc, int nLeftRect , int nTopRect , int nRightRect , int nBottomRect , int nXStartArc , int nYStartArc , int nXEndArc , int nYEndArc );
始点から終点まで半時計回りの楕円弧を描画します
hdc - デバイスコンテキストのハンドルを指定します
nLiftRect - 左上X座標を指定します nTopRect - 左上Y座標を指定します
nRightRect - 右下X座標を指定します
nBottomRect - 右下のY座標を指定します
nXStartArc - 楕円弧の始点のX座標を指定します
nYStartArc - 楕円弧の始点のY座標を指定します
nXEndArc - 楕円弧の終点のX座標を指定します
nYEndArc - 楕円弧の終点のY座標を指定します
戻り値 - 関数が成功すると0以外、失敗すると0
BOOL Pie( HDC hdc, int nLeftRect , int nTopRect , int nRightRect , int nBottomRect , int nXRadial1, int nYRadial1, int nXRadial2 , int nYRadial2 );
扇形を描画します
扇形は、現在のペンで描かれ、現在のブラシで塗りつぶされます
hdc - デバイスコンテキストのハンドルを指定します
nLiftRect - 左上X座標を指定します nTopRect - 左上Y座標を指定します
nRightRect - 右下X座標を指定します
nBottomRect - 右下のY座標を指定します
nXRadia1 - 楕円弧の始点のX座標を指定します
nYRadia1 - 楕円弧の始点のY座標を指定します
nXRadia2 - 楕円弧の終点のX座標を指定します
nYRadia2 - 楕円弧の終点のY座標を指定します
戻り値 - 関数が成功すると0以外、失敗すると0
BOOL Chord( HDC hdc, int nLeftRect , int nTopRect , int nRightRect , int nBottomRect , int nXRadial1, int nYRadial1, int nXRadial2 , int nYRadial2 );
弓形を描画します
弓形は、現在のペンで描かれ、現在のブラシで塗りつぶされます
hdc - デバイスコンテキストのハンドルを指定します
nLiftRect - 左上X座標を指定します nTopRect - 左上Y座標を指定します
nRightRect - 右下X座標を指定します
nBottomRect - 右下のY座標を指定します
nXRadia1 - 楕円弧の始点のX座標を指定します
nYRadia1 - 楕円弧の始点のY座標を指定します
nXRadia2 - 楕円弧の終点のX座標を指定します
nYRadia2 - 楕円弧の終点のY座標を指定します
戻り値 - 関数が成功すると0以外、失敗すると0
BOOL PolyBezierTo(HDC hdc , CONST POINT *lppt , DWORD cCount);
一つ以上のベジェ曲線を描画します
開始点はカレントポジションを使用し
最後に描画したベジェ曲線の終了点にカレントポジションを設定します
hdc - デバイスコンテキストのハンドルを指定します
lppt - 制御点を表すPOINT構造体変数へのポインタを指定します
cCount - 制御点の数を指定します
戻り値 - 成功すると0以外、失敗すると0
BOOL PolyBezier(HDC hdc , CONST POINT *lppt , DWORD cCount);
一つ以上のベジェ曲線を描画します
hdc - デバイスコンテキストのハンドルを指定します
lppt - 制御点を表すPOINT構造体変数へのポインタを指定します
cCount - 制御点の数を指定します
戻り値 - 成功すると0以外、失敗すると0
HGDIOBJ SelectObject(HDC hdc , HGDIOBJ hgdiobj);
指定されたデバイスコンテキストに、指定されたオブジェクトを選択します
hdc - デバイスコンテキストのハンドルを指定します
hgdiobj - 選択するオブジェクトを指定します
戻り値 - 成功すると置き換えられる前のオブジェクトのハンドル、失敗するとNULL
リージョンを指定した場合は、次のいずれかが返ります
定数 | 解説 |
---|---|
SIMPLEREGION | リージョンは単一の長方形です |
COMPLEXREGION | リージョンは単一の長方形よりも複雑な形です |
NULLREGION | リージョンは空です |
GDI_ERROR | 失敗 |
HPEN CreatePen(int fnPenStyle , int nWidth , COLORREF crColor);
指定されたスタイル、幅、色を持つ論理ペンを作成します
fnPenStyle - ペンのスタイルを表す定数を指定します
nWidth - ペンの幅を指定します crColor - ペンの色を指定します
戻り値 - 論理ペンのハンドルが返ります。失敗するとNULL
スタイルには次のいずれかの定数を指定します
PS_SOLID | 実線のペンを作成します |
PS_DASH | 破線のペンを作成します このスタイルは、ペンの幅がデバイス単位で 1 以下のときにだけ有効です |
PS_DOT | 点線のペンを作成します このスタイルは、ペンの幅がデバイス単位で 1 以下のときにだけ有効です |
PS_DASHDOT | 一点鎖線のペンを作成します このスタイルは、ペンの幅がデバイス単位で 1 以下のときにだけ有効です |
PS_DASHDOTDOT | 二点鎖線のペンを作成します このスタイルは、ペンの幅がデバイス単位で 1 以下のときにだけ有効です |
PS_NULL | 空のペンを作成します 描画は行われません |
PS_INSIDEFRAME | 実線のペンを作成します 境界長方形を指定するRectangle()やEllipse()などでこのペンを使うと その長方形に完全に収まるように図形が縮小されます ジオメトリックペンにだけ有効です |
HPEN CreatePenIndirect(CONST LOGPEN *lplgpn);
LOGPEN構造体の論理ペンのハンドルを返します
lplgpn - LOGPEN型構造体へのポインタを指定します
戻り値 - 論理ペンのハンドルが返ります。失敗するとNULL
BOOL DeleteObject(HGDIOBJ hObject);
ペン、ブラシ、フォント、ビットマップ、リージョン、パレットのいずれかのオブジェクトを削除し
オブジェクトに関連付けられていたシステムリソースをすべて解放します
オブジェクトを削除すると、ハンドルは無効になります
hObject - GDIオブジェクトのハンドルを指定します
戻り値 - 成功すると0以外、失敗すると0が返ります
HBRUSH CreateSolidBrush(COLORREF crColor);
指定した色のブラシを生成します
crColor - ブラシの色を指定します
戻り値 - 指定した色のブラシのハンドルを返します
HBRUSH CreateHatchBrush(int fnStyle , COLORREF clrref);
指定したハッチパターンと色のブラシを返します
fnStyle - ブラシのハッチスタイルを定数で指定します
clrref - ブラシの色を指定します
戻り値 - 指定した色のハッチブラシを返します
ハッチスタイルは次の定数を指定します
定数 | 解説 |
---|---|
HS_BDIAGONAL | 45 度の右下がりのハッチ |
HS_CROSS | 水平と垂直のクロスハッチ |
HS_DIAGCROSS | 45 度のクロスハッチ |
HS_FDIAGONAL | 45 度の右上がりのハッチ |
HS_HORIZONTAL | 水平ハッチ |
HS_VERTICAL | 垂直ハッチ |
HBRUSH CreateBrushIndirect(CONST LOGBRUSH *lplb);
指定しされた論理ペン構造体のブラシハンドルを返します
lplb - ブラシを表すLOGBRUSH構造体型へのポインタ
戻り値 - 指定した色のハッチブラシを返します
int SetROP2(HDC hdc , int fnDrawMode);
前景モードを設定します
hdc - デバイスコンテキストのハンドルを指定します
fnDrawMode - 前景モードを指定します
戻り値 - 以前の前景モードの値を返します。失敗した時は0
前景モードは、次の定数から指定します
定数 | 解説 |
---|---|
R2_BLACK | ピクセルは、常に 0 です |
R2_COPYPEN | ピクセルは、描画する色です |
R2_MASKNOTPEN | ピクセルは、画面の色と、描画する色を反転した色の 両方に共通な色の組み合わせです |
R2_MASKPEN | ピクセルは、描画する色と、画面の色の 両方に共通な色の組み合わせです |
R2_MASKPENNOT | ピクセルは、描画する色と、画面の色の 両方に共通な色の組み合わせです |
R2_MERGENOTPEN | ピクセルは、画面の色と、描画する色を反転した色の組み合わせです |
R2_MERGEPEN | ピクセルは、描画する色と、画面の色の組み合わせです |
R2_MERGEPENNOT | ピクセルは、描画する色と、画面の色を反転した色の組み合わせです |
R2_NOP | ピクセルは、変更されません |
R2_NOT | ピクセルは、スクリーンの色を反転した色です |
R2_NOTCOPYPEN | ピクセルは、描画する色を反転した色です |
R2_NOTMASKPEN | ピクセルは、R2_MASKPEN の色を反転した色です |
R2_NOTMERGEPEN | ピクセルは、R2_MERGEPEN の色を反転した色です |
R2_NOTXORPEN | ピクセルは、R2_XORPEN の色を反転した色です |
R2_WHITE | ピクセルは、常に 1 です |
R2_XORPEN | ピクセルは、描画する色と、画面の色との組み合わせですが 両方に共通する色は除きます |
int GetROP2(HDC hdc);
指定したデバイスコンテキストの前景モードを返します
hdc - デバイスコンテキストのハンドルを指定します
戻り値 - 成功すると前傾モードを表す数値、失敗すると0
BOOL Polygon(HDC hdc , CONST POINT *lpPoints , int nCount);
閉じた多角形を描画します
hdc - デバイスコンテキストのハンドルを指定します
lpPoints - 多角形の角頂点の位置を表した配列へのポインタを指定します
nCount - 多角形の頂点の数を指定します
戻り値 - 成功すると0以外、失敗すると0
BOOL PolyPolygon( HDC hdc, CONST POINT *lpPoints, CONST INT *lpPolyCounts, int nCount );
複数の閉じた多角形を描画します
hdc - デバイスコンテキストのハンドルを指定します
lpPoints - 多角形の角頂点の位置を表した配列へのポインタを指定します
lpPolyCounts - 各多角形の頂点の数が入った配列へのポインタを指定します
nCount - 多角形の総数を指定します
戻り値 - 成功すると0以外、失敗すると0
int SetPolyFillMode(HDC hdc , int iPolyFillMode);
多角形塗りつぶしモードを設定します
hdc - デバイスコンテキストのハンドルを指定します
iPolyFillMode - 塗りつぶしモードを表す定数を指定します
戻り値 - 以前の塗りつぶしモード、失敗した時は0
塗りつぶしモードは次の定数を指定します
定数 | 解説 |
---|---|
ALTERNATE | 交互モードを選択します 多角形の各走査行について、多角形の奇数番目の辺から 偶数番目の辺までの間の領域が塗りつぶされます |
WINDING | 全域モードを選択します 0 以外のワインディング値をもつすべての領域が塗りつぶされます |
左 | 右 |
---|---|
VK_LSHIFT | VK_RSHIFT |
VK_LCONTROL | VK_RCONTROL |
VK_LMENU | VK_RMENU |
定数 | 数値 | IBM 互換キーボード |
---|---|---|
VK_LBUTTON | 0x01 | マウス左ボタン |
VK_RBUTTON | 0x02 | マウス右ボタン |
VK_CANCEL | 0x03 | Ctrl-Break |
VK_MBUTTON | 0x04 | マウス中央ボタン |
VK_BACK | 0x08 | Backspace |
VK_TAB | 0x09 | Tab |
VK_CLEAR | 0x0C | NumLock を外した状態のテンキー5 |
VK_RETURN | 0x0D | Enter |
VK_SHIFT | 0x10 | Shift |
VK_CONTROL | 0x11 | Ctrl |
VK_MENU | 0x12 | Alt |
VK_PAUSE | 0x13 | Pause |
VK_CAPITAL | 0x14 | Caps Lock |
VK_KANA | 0x15 | |
VK_HANGEUL | ||
VK_HANGUL | ||
VL_JUNJA | 0x17 | |
VK_FINAL | 0x18 | |
VK_HANJA | 0x19 | |
VK_KANJI | ||
VK_ESCAPE | 0x1B | Esc |
VK_CONVERT | 0x1C | |
VK_NONCONVERT | 0x1D | |
VK_ACCEPT | 0x1E | |
VK_MODECHANGE | 0x1F | |
VK_SPACE | 0x20 | Spacebar |
VK_PRIOR | 0x21 | Page Up |
VK_NEXT | 0x22 | Page Down |
VK_END | 0x23 | End |
VK_HOME | 0x24 | Home |
VK_LEFT | 0x25 | 左方向キー |
VK_UP | 0x26 | 上方向キー |
VK_RIGHT | 0x27 | 右方向キー |
VK_DOWN | 0x28 | 下方向キー |
VK_SELECT | 0x29 | |
VK_PRINT | 0x2A | |
VK_EXECUTE | 0x2B | |
VK_SNAPSHOT | 0x2C | PringScreen |
VK_INSERT | 0x2D | Insert |
VK_DELETE | 0x2E | Delete |
VK_HELP | 0x2F | |
-- | 0x30~0x39 | メインキーボード 0~9 |
-- | 0x41~0x5A | 文字キー A から Z |
VK_LWIN | 0x5B | 左 Windows キー |
VK_RWIN | 0x5C | 右 Windows キー |
VK_APPS | 0x5D | アプリケーションキー |
VK_NUMPAD0 | 0x60 | NumLock がオンになっている状態で それぞれテンキーの 0 ~ 9 まで |
VK_NUMPAD1 | 0x61 | |
VK_NUMPAD2 | 0x62 | |
VK_NUMPAD3 | 0x63 | |
VK_NUMPAD4 | 0x64 | |
VK_NUMPAD5 | 0x65 | |
VK_NUMPAD6 | 0x66 | |
VK_NUMPAD7 | 0x67 | |
VK_NUMPAD8 | 0x68 | |
VK_NUMPAD9 | 0x69 | |
VK_MULTIPLY | 0x6A | テンキー * |
VK_ADD | 0x6B | テンキー + |
VK_SEPARATOR | 0x6C | |
VK_SUBTRACT | 0x6D | テンキー - |
VK_DECIMAL | 0x6E | テンキー . |
VK_DIVIDE | 0x6F | テンキー / |
VK_F1 | 0x70 | それぞれ F1 から F24 までのファンクションキー |
VK_F2 | 0x71 | |
VK_F3 | 0x72 | |
VK_F4 | 0x73 | |
VK_F5 | 0x74 | |
VK_F6 | 0x75 | |
VK_F7 | 0x76 | |
VK_F8 | 0x77 | |
VK_F9 | 0x78 | |
VK_F10 | 0x79 | |
VK_F11 | 0x7A | |
VK_F12 | 0x7B | |
VK_F13 | 0x7C | |
VK_F14 | 0x7D | |
VK_F15 | 0x7E | |
VK_F16 | 0x7F | |
VK_F17 | 0x80 | |
VK_F18 | 0x81 | |
VK_F19 | 0x82 | |
VK_F20 | 0x83 | |
VK_F21 | 0x84 | |
VK_F22 | 0x85 | |
VK_F23 | 0x86 | |
VK_F24 | 0x87 | |
VK_NUMLOCK | 0x90 | Num Lock |
VK_SCROLL | 0x91 | Scroll |
VK_LSHIFT | 0xA0 | Windows NT : 左Shiftキー |
VK_RSHIFT | 0xA1 | Windows NT : 右Shiftキー |
VK_LCONTROL | 0xA2 | Windows NT : 左Ctrlキー |
VK_RCONTROL | 0xA3 | Windows NT : 右Ctrlキー |
VK_LMENU | 0xA4 | Windows NT : 左Altキー |
VK_RMENU | 0xA5 | Windows NT : 右Altキー |
VK_PROCESSKEY | 0xE5 | WINVER が 0x400 と同じかそれ以上であれば定義される |
VK_ATTN | 0xF6 | |
VK_CRSEL | 0xF7 | |
VK_EXSEL | 0xF8 | |
VK_EREOF | 0xF9 | |
VK_PLAY | 0xFA | |
VK_ZOOM | 0xFB | |
VK_NONAME | 0xFC | |
VK_PA1 | 0xFD | |
VK_OME_CLEAR | 0xFE |
HRGN CreateRectRgn( int nLeftRect , int nTopRect , int nRightRect , int nBottomRect );
長方形のリージョンを作成します
nLeftRect - 左上隅のX座標を指定します
nTopRect - 左上隅のY座標を指定します
nRigthRect - 右下隅のX座標を指定します
nButtomRect - 右下隅のY座標を指定します
戻り値 - 成功するとリージョンのハンドル。失敗すると、NULL
HRGN CreateRectRgnIndirect(CONST RECT *lprc);
長方形のリージョンを作成します
lprc - 長方形の座標が入った RECT 構造体へのポインタを指定します
戻り値 - 成功するとリージョンのハンドル。失敗すると、NULL
HRGN CreateEllipticRgn( int nLeftRect , int nTopRect, int nRightRect , int nBottomRect );
楕円のリージョンを作成します
nLeftRect - 左上隅のX座標を指定します
nTopRect - 左上隅のY座標を指定します
nRigthRect - 右下隅のX座標を指定します
nButtomRect - 右下隅のY座標を指定します
戻り値 - 成功するとリージョンのハンドル。失敗すると、NULL
HRGN CreateEllipticRgnIndirect(CONST RECT *lprc;); 楕円のリージョンを作成します
lprc - 長方形の座標が入った RECT 構造体へのポインタを指定します
戻り値 - 成功するとリージョンのハンドル。失敗すると、NULL
HRGN CreateRoundRectRgn( int nLeftRect , int nTopRect , int nRightRect , int nBottomRect , int nWidthEllipse , int nHeightEllipse );
角の丸い長方形のリージョンを作成します
nLeftRect - 左上隅のX座標を指定します
nTopRect - 左上隅のY座標を指定します
nRigthRect - 右下隅のX座標を指定します
nButtomRect - 右下隅のY座標を指定します
nWidthEllipse - 角の丸みの幅を指定します
nHeightEllipse - 角の丸みの高さを指定します
戻り値 - 成功するとリージョンのハンドル。失敗すると、NULL
HRGN CreatePolygonRgn( CONST POINT *lppt, int cPoints, int fnPolyFillMode );
多角形のリージョンを作成します
lppt - 各頂点の座標を示す POINT 構造体の配列へのポインタを指定します
cPoints - 頂点の数を指定します
fnPoluFillMode - 多角形塗りつぶしモードを指定します
戻り値 - 成功するとリージョンのハンドル。失敗すると、NULL
塗りつぶしモードは次の定数を指定します
定数 | 解説 |
---|---|
ALTERNATE | 交互モードを選択します 多角形の各走査行について、多角形の奇数番目の辺から 偶数番目の辺までの間の領域が塗りつぶされます |
WINDING | 全域モードを選択します 0 以外のワインディング値をもつすべての領域が塗りつぶされます |
HRGN CreatePolyPolygonRgn( CONST POINT *lppt, CONST INT *lpPolyCounts, int nCount, int fnPolyFillMode );
複数の多角形のリージョンを作成します
lppt - 多角形の角頂点の位置を表した配列へのポインタを指定します
lpPolyCounts - 各多角形の頂点の数が入った配列へのポインタを指定します
nCount - 多角形の総数を指定します
fnPolyFillMode - 多角形の塗りつぶしモードを指定します
戻り値 - 成功するとリージョンのハンドル。失敗すると、NULL
塗りつぶしモードは次の定数を指定します
定数 | 解説 |
---|---|
ALTERNATE | 交互モードを選択します 多角形の各走査行について、多角形の奇数番目の辺から 偶数番目の辺までの間の領域が塗りつぶされます |
WINDING | 全域モードを選択します 0 以外のワインディング値をもつすべての領域が塗りつぶされます |
BOOL FillRgn(HDC hdc , HRGN hrgn , HBRUSH hbr);
指定されたブラシを使って、指定されたリージョンを塗りつぶします
hdc - デバイスコンテキストへのハンドルを指定します
hrgn - 塗りつぶすリージョンのハンドルを指定します
hbr - ブラシのハンドルを指定します
戻り値 - 成功すると 0 以外、失敗すると 0
BOOL FrameRgn( HDC hdc , HRGN hrgn , HBRUSH hbr , int nWidth , int nHeight );
指定されたブラシを使って、指定されたリージョンの境界を描きます
hdc - デバイスコンテキストへのハンドルを指定します
hrgn - 塗りつぶすリージョンのハンドルを指定します
hbr - ブラシのハンドルを指定します
nWidth - 水平方向の境界の幅を指定します
nHeight - 垂直方向の境界の幅を指定します
戻り値 - 成功すると 0 以外、失敗すると 0
BOOL PaintRgn(HDC hdc , HRGN hrgn);
デバイスコンテキストに選択されているブラシを使って
指定されたリージョンを塗りつぶします
hdc - デバイスコンテキストへのハンドルを指定します
hrgn - 塗りつぶすリージョンのハンドルを指定します
戻り値 - 成功すると 0 以外、失敗すると 0
BOOL InvalidateRect(HWND hWnd , CONST RECT *lpRect , BOOL bErase);
指定された長方形を更新領域として追加する
hWnd - ウィンドウのハンドルを指定。NULL の場合、全てのウィンドウを無効化します
lpRect - RECT 構造体のポインタを指定。NULL の場合クライアント領域全体が対象
bErase - TRUE なら BeginPaint() 実行時に背景を消去、FALSE ならそのまま
戻り値 - 成功すれば 0 以外、失敗すれば 0
BOOL InvalidateRgn(HWND hWnd , HRGN hRgn , BOOL bErase);
指定されたリージョンを更新領域として追加する
hWnd - ウィンドウのハンドルを指定。NULL の場合、全てのウィンドウを無効化します
lpRgn - リージョンのハンドルを指定。NULL の場合クライアント領域全体が対象
bErase - TRUE なら BeginPaint() 実行時に背景を消去、FALSE ならそのまま
戻り値 - 常に 0 以外
BOOL ValidateRect(HWND hWnd , CONST RECT *lpRect);
指定された長方形を更新領域から削除する
hWnd - ウィンドウのハンドルを指定。NULL の場合、全てのウィンドウを無効化します
lpRect - RECT 構造体のポインタを指定。NULL の場合クライアント領域全体が対象
戻り値 - 成功すれば 0 以外、失敗すれば 0
BOOL ValidateRgn(HWND hWnd , HRGN hRgn);
指定されたリージョンを更新領域から削除する
hWnd - ウィンドウのハンドルを指定
lpRgn - リージョンのハンドルを指定。NULL の場合クライアント領域全体が対象
戻り値 - 成功すれば 0 以外、失敗すれば 0
int CombineRgn( HRGN hrgnDest , HRGN hrgnSrc1 , HRGN hrgnSrc2 , int fnCombineMode );
二つのリージョンを組み合わせた新しいリージョンを生成する
hrgnDest - 結合した結果となる有効なリージョンを指定します
hrgnSrc1 - 結合する一方のリージョンを指定します
hrgnSrc2 - 結合するもう一方のリージョンを指定します
fnCombineMode - 結合方法を表す定数を指定します
戻り値 - 結合結果を表す定数
結合方法を表す定数は、次の定数を指定します
定数 | 解説 |
---|---|
RGN_AND | 2つのリージョンの重なり合う領域を、新しいリージョンとします |
RGN_COPY | hrgnSrc1 のコピーを作成します hrgnScr2は無視する |
RGN_DIFF | hrgnSrc1 から、hrgnSrc2 を除いた領域を、新しいリージョンとします |
RGN_OR | 両方のリージョンを組み合わせた領域を、新しいリージョンとします |
RGN_XOR | 両方のリージョンを組み合わせた領域から 両方のリージョンが重なり合う領域を除いた領域を、新しいリージョンとします |
定数 | 解説 |
---|---|
NULLREGION | リージョンは空です |
SIMPLEREGION | リージョンは単一の長方形です |
COMPLEXREGION | リージョンは単一の長方形よりも複雑な形です |
ERROR | リージョンは作成されませんでした |
定数 | 解説 | |
---|---|---|
DRIVERVERSION | デバイスドライバのバージョン | |
TECHNOLOGY | デバイステクノロジー 次の値のいずれかになります。 |
|
値 | 意味 | |
DT_PLOTTER | ベクタプロッタ | |
DT_RASDISPLAY | ラスタディスプレイ | |
DT_RASPRINTER | ラスタプリンタ | |
DT_RASCAMERA | ラスタカメラ | |
DT_CHARSTREAM | 文字ストリーム | |
DT_METAFILE | メタファイル | |
DT_DISPFILE | ディスプレイファイル | |
hdc パラメータで拡張メタファイルのデバイスコンテキストを指定したときは CreateEnhMetaFile()関数に対して指定した参照デバイスのデバイステクノロジーが返ります 拡張メタファイルのデバイスコンテキストかどうかを調べるには GetObjectType() 関数を使います |
||
HORZSIZE | 物理画面の幅 (ミリメートル単位) | |
VERTSIZE | 物理画面の高さ (ミリメートル単位) | |
HORZRES | 画面の幅 (ピクセル単位) | |
VERTRES | 画面の高さ (ピクセル単位) | |
LOGPIXELSX | 画面の水平方向のピクセル数 (論理インチ当たり) | |
LOGPIXELSY | 画面の垂直方向のピクセル数 (論理インチ当たり) | |
BITSPIXEL | ピクセルあたりのカラービットの数 (プレーンごと) | |
PLANES | カラープレーンの数 | |
NUMBRUSHES | デバイス固有のブラシの数 | |
NUMPENS | デバイス固有のペンの数 | |
NUMFONTS | デバイス固有のフォントの数 | |
NUMCOLORS | デバイスのカラーテーブルのエントリ数
ピクセルあたり 8 ビットを超える場合は -1 |
|
ASPECTX | 線の描画に使うデバイスピクセルの相対幅 | |
ASPECTY | 線の描画に使うデバイスピクセルの相対高さ | |
ASPECTXY | 線の描画に使うデバイスピクセルの対角線の幅 | |
PDEVICESIZE | 予約済み | |
CLIPCAPS | デバイスのクリッピング能力を示すフラグ 長方形のクリップをサポートする場合は 1 それ以外の場合は 0 |
|
SIZEPALETTE | システムパレット内のエントリ数
RASTERCAPS インデックスに RC_PALETTE ビットがセットされていること |
|
NUMRESERVED | システムパレット内の予約エントリ数
RASTERCAPS インデックスに RC_PALETTE ビットがセットされていること |
|
COLORRES | デバイスの実際のカラー解像度を表す ピクセル当たりのビット数 RASTERCAPS インデックスに RC_PALETTE ビットがセットされていること |
|
PHYSICALWIDTH | 印刷デバイス用 物理的なページ全体の幅 (デバイス単位) |
|
PHYSICALHEIGHT | 印刷デバイス用 物理的なページ全体の高さ (デバイス単位) |
|
PHYSICALOFFSETX | 印刷デバイス用 物理的なページの左辺から 印刷可能領域の左辺までの距離 (デバイス単位) |
|
PHYSICALOFFSETY | 印刷デバイス用 物理的なページの上辺から 印刷可能領域の上辺までの距離 (デバイス単位) |
|
VREFRESH | Windows NT のみ 現在のディスプレイ出力の垂直周波数 (Hz) 0 または 1 はディスプレイのデフォルト周波数を示す |
|
DESKTOPHORZRES | Windows NT のみ 仮想デスクトップの幅 ( ピクセル単位 ) |
|
DESKTOPVERTRES | Windows NT のみ 仮想デスクトップの高さ (ピクセル単位) |
|
BLTALIGNMENT | Windows NT のみ デバイスに適した水平方向のアラインメント 適したアラインメントが特にないときは 0 |
|
RASTERCAPS | デバイスのラスタ能力を示します 次の値の組み合わせになります |
|
値 | 意味 | |
RC_BANDING | バンド処理のサポートが必要 | |
RC_BITBLT | ビットマップの転送をサポート | |
RC_BITMAP64 | 64K バイトより大きいビットマップをサポート | |
RC_DI_BITMAP | SetDIBits 関数と GetDIBits 関数をサポート | |
RC_DIBTODEV | SetDIBitsToDevice 関数をサポート | |
RC_FLOODFILL | 塗りつぶしをサポート | |
RC_GDI20_OUTPUT | Windows2.0 の機能をサポート | |
RC_PALETTE | パレットベースのデバイス | |
RC_SCALING | スケーリングをサポート | |
RC_STRETCHBLT | StretchBlt 関数をサポート | |
RC_STRETCHDIB | StretchDIBits 関数をサポート | |
CURVECAPS | デバイスの曲線描画能力を示します 次の値の組み合わせになります |
|
値 | 意味 | |
CC_NONE | 曲線をサポートしない | |
CC_CIRCLES | 円をサポート | |
CC_PIE | 扇形をサポート | |
CC_CHORD | 弓形をサポート | |
CC_ELLIPSES | 楕円をサポート | |
CC_WIDE | 太い線をサポート | |
CC_STYLED | スタイル付きの線をサポート | |
CC_WIDESTYLED | スタイル付きの太い線をサポート | |
CC_INTERIORS | 内部の塗りつぶしをサポート | |
CC_ROUNDRECT | 角の丸い長方形をサポート | |
LINECAPS | デバイスの直線描画能力を示します 次の値の組み合わせになります |
|
値 | 意味 | |
LC_NONE | 直線をサポートしない | |
LC_POLYLINE | 折れ線をサポート | |
LC_MARKER | マーカーをサポート | |
LC_POLYMARKER | ポリマーカーをサポート | |
LC_WIDE | 太い直線をサポート | |
LC_STYLED | スタイル付きの直線をサポート | |
LC_WIDESTYLED | スタイルを持つ太い直線をサポート | |
LC_INTERIORS | 内部の塗りつぶしをサポート | |
POLYGONALCAPS | デバイスの多角形描画能力を示します 次の値の組み合わせになります |
|
値 | 意味 | |
PC_NONE | 多角形をサポートしない | |
PC_POLYGON | 交互モードの塗りつぶしをサポート | |
PC_RECTANGLE | 長方形をサポート | |
PC_WINDPOLYGON | 全域モードでの塗りつぶしをサポート | |
PC_SCANLINE | 単一の走査行の描画をサポート | |
PC_WIDE | 太い線をサポート | |
PC_STYLED | スタイル付きの線をサポート | |
PC_WIDESTYLED | スタイル付きの太い線をサポート | |
PC_INTERIORS | 内部の塗りつぶしをサポート | |
TEXTCAPS | デバイスがテキスト表示能力を示します 次の値の組み合わせになります |
|
値 | 意味 | |
TC_OP_CHARACTER | キャラクタの出力精度をサポート | |
TC_OP_STROKE | ストロークの出力精度をサポート | |
TC_CP_STROKE | ストローククリップの精度をサポート | |
TC_CR_90 | キャラクタの 90 度回転をサポート | |
TC_CR_ANY | キャラクタの任意の角度の回転をサポート | |
TC_SF_X_YINDEP | x 方向と y 方向の両方の 独立したスケーリングをサポート |
|
TC_SA_DOUBLE | キャラクタの 2 倍のスケーリングをサポート | |
TC_SA_INTEGER | キャラクタの整数倍のスケーリングをサポート | |
TC_SA_CONTIN | キャラクタの任意の倍率の スケーリングをサポート |
|
TC_EA_DOUBLE | 太字をサポート | |
TC_IA_ABLE | イタリック体をサポート | |
TC_UA_ABLE | 下線をサポート | |
TC_SO_ABLE | 取り消し線をサポート | |
TC_RA_ABLE | ラスタフォントをサポート | |
TC_VA_ABLE | ベクトルフォントをサポート | |
TC_RESERVED | 予約済み (0) | |
TC_SCROLLBLT | ビットブロック転送による スクロールをサポートしない |
定数 | 解説 |
---|---|
SM_ARRANGE | 最小化ウィンドウの配置方法を示す値を取得します |
SM_CLEANBOOT | システムがどのように起動されたかを示す値を取得します 次の値のいずれかになります 0 = 通常のブート 1 = 「 Safe モード」でのブート 2 = 「ネットワークを使った Safe モード」でのブート |
SM_CMOUSEBUTTONS | マウスボタンの数 (マウスがないときは 0) を取得します |
SM_CXBORDER, SM_CYBORDER |
非立体的なウィンドウの縁の幅と高さを取得します SM_CXEDGE と SM_CYEDGE も参照 |
SM_CXCURSOR,
SM_CYCURSOR |
マウスカーソルのサイズを取得します |
SM_CXDLGFRAME, SM_CYDLGFRAME |
SM_CXFIXEDFRAME, SM_CYFIXEDFRAME と同じ |
SM_CXDOUBLECLK, SM_CYDOUBLECLK |
ダブルクリックにおける 2 回目の クリック位置の許容範囲を取得します 1 回目のクリックの後、許容範囲内かつ 許容時間内にもう一度マウスをクリックすると ダブルクリックが行れたものとみなされます |
SM_CXDRAG,
SM_CYDRAG |
ドラッグ操作の開始とはみなされない範囲を取得します マウスボタンを押した後、この範囲を越えてマウスを動かすと ドラッグ操作が開始されたものとみなされます |
SM_CXEDGE,
SM_CYEDGE |
立体的なウィンドウの縁の幅と高さを取得します SM_CXBORDER と SM_CYBORDER の 3D 版です |
SM_CXFIXEDFRAME, SM_CYFIXEDFRAME |
タイトルバーを持ち、かつ サイズが変更できないウィンドウにおける 枠の幅と高さを取得します SM_CXDLGFRAME, SM_CYDLGFRAME と同じ |
SM_CXFRAME, SM_CYFRAME |
SM_CXSIZEFRAME, SM_CYSIZEFRAME と同じ |
SM_CXFULLSCREEN, SM_CYFULLSCREEN |
最大化されたウィンドウのクライアント領域のサイズを取得します |
SM_CXHSCROLL, SM_CYHSCROLL |
水平スクロールバーの矢印の幅 または、水平スクロールバーの高さを取得します |
SM_CXHTHUMB | 水平スクロールバーのつまみの幅を取得します |
SM_CXICON,
SM_CYICON |
アイコンのデフォルトのサイズを取得します 通常は 32×32 ピクセルです |
SM_CXICONSPACING, SM_CYICONSPACING |
アイコンを整列するときに使われるグリッドのサイズを取得します 常に、SM_CXICON, SM_CYICON 以上になります |
SM_CXMAXIMIZED, SM_CYMAXIMIZED |
最大化されたウィンドウのサイズを取得します |
SM_CXMAXTRACK, SM_CYMAXTRACK |
ウィンドウの最大トラッキングサイズを取得します このサイズよりも大きくウィンドウの枠をドラッグすることはできません アプリケーションで WM_GETMINMAXINFO メッセージを処理すると 最大トラッキングサイズが変更できます |
SM_CXMENUCHECK, SM_CYMENUCHECK |
メニューのチェックマークのサイズを取得します |
SM_CXMENUSIZE, SM_CYMENUSIZE |
メニューバーに表示されるボタンのサイズを取得します |
SM_CXMIN,
SM_CYMIN |
ウィンドウの最小サイズを取得します |
SM_CXMINIMIZED, SM_CYMINIMIZED |
最小化されたウィンドウのデフォルトのサイズを取得します |
SM_CXMINSPACING, SM_CYMINSPACING |
最小化されたウィンドウの配置に使われる グリッドのサイズを取得します 常に、SM_CXMINIMIZED, SM_CYMINIMIZED 以上になります |
SM_CXMINTRACK, SM_CYMINTRACK |
ウィンドウの最小トラッキングサイズを取得します このサイズよりも小さくウィンドウの枠をドラッグすることはできません アプリケーションで WM_GETMINMAXINFO メッセージを処理すると 最小トラッキングサイズが変更できます |
SM_CXSCREEN,
SM_CYSCREEN |
画面全体のサイズを取得します |
SM_CXSIZE,
SM_CYSIZE |
ウィンドウのタイトルバー内のボタンのサイズを取得します |
SM_CXSIZEFRAME, SM_CYSIZEFRAME |
サイズが変更できるウィンドウにおける枠の幅と高さを取得します SM_CXFRAME, SM_CYFRAME と同じ |
SM_CXSMICON, SM_CYSMICON |
小さいアイコンの推奨サイズを取得します |
SM_CXSMSIZE, SM_CYSMSIZE |
小さいタイトルバー内のボタンのサイズを取得します |
SM_CXVSCROLL, SM_CYVSCROLL |
垂直スクロールバーの幅 または、垂直スクロールバーの矢印の高さを取得します |
SM_CYCAPTION | タイトルバーの高さを取得します |
SM_CYKANJIWINDOW | 画面下の漢字ウィンドウの高さを取得します |
SM_CYMENU | 一行分のメニューバーの高さを取得します |
SM_CYSMCAPTION | 小さなタイトルバーの高さを取得します |
SM_CYVTHUMB | 垂直スクロールバーのつまみの高さを取得します |
SM_DBCSENABLED | USER.EXE がダブルバイト文字セット (DBCS) を サポートしているかどうかを示す値を取得します サポートしているときは 0 以外の値が サポートしていないときは 0 が返ります |
SM_DEBUG | USER.EXE がデバッグバージョンかどうかを示す値を取得します デバッグバージョンのときは 0 以外の値が デバッグバージョンでないときは 0 が返ります |
SM_MENUDROPALIGNMENT | メニューバーの項目に対して ドロップダウンメニューが右寄せされるかどうかを示す値を取得します 右寄せされるときは 0 以外の値が 左寄せされるときは 0 が返ります |
SM_MIDEASTENABLED | ヘブライ語やアラビア語が 利用可能なシステムかどうかを示す値を取得します 利用できるときは TRUE が返ります |
SM_MOUSEPRESENT | マウスが接続されているかどうかを示す値を取得します 接続されているときは 0 以外の値が 接続されていないときは 0 が返ります |
SM_MOUSEWHEELPRESENT | Windows NT ホイールを持つマウスが接続されているかどうかを示す値を取得します 接続されているときは 0 以外の値が 接続されていないときは 0 が返ります |
SM_NETWORK | ネットワークが存在するかどうかを示す値を取得します 存在するときは最下位ビットが 1 の値が そうでないときは最下位ビットが 0 の値が返ります 最下位ビット以外のビットは予約されています |
SM_PENWINDOWS | Window for Pen computing extensions が インストールされているかどうかを示す値を取得します インストールされているときは 0 以外の値が インストールされていないときは 0 が返ります |
SM_SECURE | セキュリティが存在するかどうかを示す値を取得します 存在するときは TRUE が 存在しないときは FALSE が返ります |
SM_SHOWSOUNDS | ユーザー補助の「サウンド解説を使う」が 有効になっているかどうかを調べます 有効になっているときは 0 以外の値が そうでないときは 0 が返ります |
SM_SLOWMACHINE | コンピュータのプロセッサが遅いかどうかを示す値を取得します 遅いときは TRUE が それ以外のときは FALSE が返ります |
SM_SWAPBUTTON | 左右のマウスボタンの機能を交換しているかどうかを示す値を取得します 交換しているときは 0 以外の値が 交換していないときは 0 が返ります |
定数 | 解説 |
---|---|
開始位置 | |
ARW_BOTTOMLEFT | スクリーンの左下隅 (デフォルト) |
ARW_BOTTOMRIGHT | スクリーンの右下隅 (ARW_STARTRIGHT と同じ) |
ARW_HIDE | 画面の外に隠す |
ARW_TOPLEFT | スクリーンの左上隅 (ARW_STARTTOP と同じ) |
ARW_TOPRIGHT | スクリーンの右上隅 (ARW_STARTTOP | ARW_STARTRIGHT と同じ) |
方向 | |
ARW_DOWN | 上から下へ、垂直方向に配置 |
ARW_LEFT | 左から右へ、水平方向に配置 |
ARW_RIGHT | 右から左へ、水平方向に配置 |
ARW_UP | 下から上へ、垂直方向に配置 |
BOOL PeekMessage( LPMSG lpMsg , HWND hWnd , UINT wMsgFilterMin , UINT wMsgFilterMax , UINT wRemoveMsg );スレッドのメッセージキューにメッセージがあるかどうかをチェックし
UINT SetTimer( HWND hWnd , UINT nIDEvent , UINT uElapse , TIMERPROC lpTimerFunc );タイマーを指定したタイムアウト値で作成します
VOID CALLBACK TimerProc( HWND hwnd , UINT uMsg , UINT idEvent , DWORD dwTime );アプリケーション定義のコールバック関数です
int SetScrollInfo( HWND hwnd , int fnBar , LPSCROLLINFO lpsi , BOOL fRedraw );スクロールバーの情報を設定します
定数 | 解説 |
---|---|
SB_CTL | スクロールバーコントロールの情報を設定します hwnd は、スクロールバーコントロールのハンドルでなければなりません |
SB_HORZ | 水平スクロールバーの情報を設定します hwnd は、ウィンドウのハンドルでなければなりません |
SB_VERT | 垂直スクロールバーの情報を設定します hwnd は、ウィンドウのハンドルでなければなりません |
定数 | 解説 |
---|---|
SB_CTL | スクロールバーコントロールの情報を設定します hwnd は、スクロールバーコントロールのハンドルでなければなりません |
SB_HORZ | 水平スクロールバーの情報を設定します hwnd は、ウィンドウのハンドルでなければなりません |
SB_VERT | 垂直スクロールバーの情報を設定します hwnd は、ウィンドウのハンドルでなければなりません |
LRESULT SendMessage( HWND hWnd , UINT Msg , WPARAM wParam , LPARAM lParam );メッセージを一つ、または複数のウィンドウに送ります
BOOL PostMessage( HWND hWnd , UINT Msg , WPARAM wParam , LPARAM lParam );メッセージを一つ、または複数のウィンドウに関連付けられた
定数 | 解説 |
---|---|
GWL_EXSTYLE | 拡張ウィンドウスタイルを取得します |
GWL_STYLE | ウィンドウスタイルを取得します |
GWL_WNDPROC | ウィンドウプロシージャのアドレス またはウィンドウプロシージャのアドレスを示すハンドルを取得します |
GWL_HINSTANCE | アプリケーションのインスタンスハンドルを取得します |
GWL_HWNDPARENT | 親ウィンドウがあれば、そのハンドルを取得します |
GWL_ID | ウィンドウの ID を取得します |
GWL_USERDATA | ウィンドウに関連付けられた アプリケーション定義の 32 ビット値を取得します |
定数 | 解説 |
---|---|
COLOR_3DDKSHADOW | 3D オブジェクトの暗い影の色 |
COLOR_3DFACE, COLOR_BTNFACE |
3D オブジェクトの表面色 |
COLOR_3DHILIGHT, COLOR_3DHIGHLIGHT, COLOR_BTNHILIGHT, COLOR_BTNHIGHLIGHT |
3D オブジェクトの最も明るい色 (光源方向の縁用) |
COLOR_3DLIGHT | 3D オブジェクトの明るい色 (光源方向の縁用) |
COLOR_3DSHADOW, COLOR_BTNSHADOW |
3D オブジェクトの影の色 (光源の反対方向の縁用) |
COLOR_ACTIVEBORDER | アクティブウィンドウの境界の色 |
COLOR_ACTIVECAPTION | アクティブウィンドウのタイトルバーの色 |
COLOR_APPWORKSPACE | マルチドキュメントインターフェイス (MDI) アプリケーションの背景色 |
COLOR_BACKGROUND, COLOR_DESKTOP |
デスクトップの色 |
COLOR_BTNTEXT | プッシュボタンのテキストの色 |
COLOR_CAPTIONTEXT | アクティブウィンドウのタイトルバーのテキストの色 |
COLOR_GRAYTEXT | 淡色状態 (無効状態) のテキストの色 |
COLOR_HIGHLIGHT | コントロール内における選択された項目の色 |
COLOR_HIGHLIGHTTEXT | コントロール内における選択された項目のテキストの色 |
COLOR_INACTIVEBORDER | 非アクティブウィンドウの境界色 |
COLOR_INACTIVECAPTION | 非アクティブウィンドウのタイトルバーのテキストの色 |
COLOR_INFOBK | ツールチップコントロールの背景色 |
COLOR_INFOTEXT | ツールチップコントロールのテキストの色 |
COLOR_MENU | メニューの背景色 |
COLOR_MENUTEXT | メニュー内のテキストの色 |
COLOR_SCROLLBAR | スクロールバーの軸の色 |
COLOR_WINDOW | ウィンドウの背景色 |
COLOR_WINDOWFRAME | ウィンドウの枠の色 |
COLOR_WINDOWTEXT | ウィンドウ内のテキストの色 |
BOOL WINAPI SetSysColors( int cElements, CONST INT *lpaElements, CONST COLORREF *lpaRgbValues );システムカラーを設定します
定数 | 解説 |
---|---|
GWL_EXSTYLE | 拡張ウィンドウスタイルを取得します |
GWL_STYLE | ウィンドウスタイルを取得します |
GWL_WNDPROC | ウィンドウプロシージャのアドレス またはウィンドウプロシージャのアドレスを示すハンドルを取得します |
GWL_HINSTANCE | アプリケーションのインスタンスハンドルを取得します |
GWL_HWNDPARENT | アプリケーションのインスタンスハンドルを取得します |
GWL_ID | ウィンドウの ID を取得します |
GWL_USERDATA | ウィンドウに関連付けられた アプリケーション定義の 32 ビット値を取得します |
定数 | 解説 |
---|---|
DWL_DLGPROC | ダイアログボックスプロシージャのアドレスを設定します |
DWL_MSGRESULT | ダイアログボックスプロシージャ内で処理された メッセージの戻り値を設定します |
DWL_USER | ハンドルやポインタなどの、アプリケーション固有の拡張情報を設定します |
LRESULT CallWindowProc( WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam );指定したウィンドウプロシージャにメッセージを渡します
定数 | 解説 |
---|---|
GCW_ATOM | ウィンドウクラスを一意的に識別するアトム値を取得します これは、RegisterClass 関数 (または RegisterClassEx 関数) が返すアトムと同じです |
GCL_CBCLSEXTRA | 拡張クラスメモリのサイズを、バイト単位で取得します |
GCL_CBWNDEXTRA | 拡張ウィンドウメモリのサイズを、バイト単位で取得します このメモリへのアクセス方法については GetWindowLong 関数や GetWindowWord 関数の説明を参照してください |
GCL_HBRBACKGROUND | 背景ブラシのハンドルを取得します |
GCL_HCURSOR | マウスカーソルのハンドルを取得します |
GCL_HICON | アイコンのハンドルを取得します |
GCL_HICONSM | 小さいアイコンのハンドルを取得します |
GCL_HMODULE | クラスを登録したモジュールのハンドルを取得します |
GCL_MENUNAME | メニュー名が入った文字列へのポインタ (またはメニューの ID) を取得します |
GCL_STYLE | ウィンドウクラスのスタイルを取得します |
GCL_WNDPROC | このクラスのウィンドウプロシージャのアドレスを取得します |
int LoadString( HINSTANCE hInstance , UINT uID , LPTSTR lpBuffer , int nBufferMax );文字列リソースをバッファに読みこみます
定数 | 解説 |
---|---|
RT_ACCELERATOR | アクセラレータテーブル |
RT_ANICURSOR | アニメーションカーソル |
RT_ANIICON | アニメーションアイコン |
RT_BITMAP | ビットマップリソース |
RT_CURSOR | ハードウェア依存のカーソルリソース |
RT_DIALOG | ダイアログボックス |
RT_FONT | フォントリソース |
RT_FONTDIR | フォントディレクトリリソース |
RT_GROUP_CURSOR | ハードウェア独立のカーソルリソース |
RT_GROUP_ICON | ハードウェア独立のアイコンリソース |
RT_ICON | ハードウェア依存のアイコンリソース |
RT_MENU | メニューリソース |
RT_MESSAGETABLE | メッセージテーブルエントリ |
RT_RCDATA | アプリケーション定義のリソース |
RT_STRING | 文字列テーブルエントリ |
RT_VERSION | バージョンリソース |
BOOL TrackPopupMenu( HMENU hMenu , UINT uFlags , int x , int y , int nReserved, HWND hWnd, CONST RECT *prcRect );指定された位置にショートカットメニューを表示
定数 | 解説 |
---|---|
水平方向 | |
TPM_CENTERALIGN | ショートカットメニューの中心を、x パラメータが指定する座標に合わせます |
TPM_LEFTALIGN | ショートカットメニューの左端を、x パラメータが指定する座標に合わせます |
TPM_RIGHTALIGN | ショートカットメニューの右端を、x パラメータが指定する座標に合わせます |
垂直方向 | |
TPM_BOTTOMALIGN | ショートカットメニューの下端を、y パラメータが指定する座標に合わせます |
TPM_TOPALIGN | ショートカットメニューの上端を、y パラメータが指定する座標に合わせます |
TPM_VCENTERALIGN | ショートカットメニューの中心を、y パラメータが指定する座標に合わせます |
親ウィンドウが無い場合 | |
TPM_NONOTIFY | ユーザーがメニュー項目をクリックしたとき、通知メッセージを送りません |
TPM_RETURNCMD | 関数の戻り値として、ユーザーが選択したメニュー項目の ID を返します |
マウスボタン処理 | |
TPM_LEFTBUTTON | マウスの左ボタンでポップアップ メニューからの選択が行えるようにします |
TPM_RIGHTBUTTON | マウスの右ボタンでポップアップ メニューからの選択が行えるようにします |
BOOL SetMenuItemInfo( HMENU hMenu , UINT uItem , BOOL fByPosition , LPMENUITEMINFO lpmii );メニューの状態を新しく設定します
BOOL GetMenuItemInfo( HMENU hMenu , UINT uItem , BOOL fByPosition , LPMENUITEMINFO lpmii );メニューの状態を取得します
BOOL WINAPI InsertMenuItem( HMENU hMenu , UINT uItem , BOOL fByPosition , LPMENUITEMINFO lpmii );指定したメニューに新しい項目を追加します
定数 | 解説 |
---|---|
MF_BYCOMMAND | uPosition パラメータがメニュー項目の ID を指定していることを示します デフォルトです |
MF_BYPOSITION | uPosition パラメータがメニュー項目の位置を指定していることを示します 位置は、0 からの相対位置で指定します |
定数 | 解説 |
---|---|
MF_BYCOMMAND | uPosition パラメータがメニュー項目の ID を指定していることを示します デフォルトです |
MF_BYPOSITION | uPosition パラメータがメニュー項目の位置を指定していることを示します 位置は、0 からの相対位置で指定します |
int DialogBox( HINSTANCE hInstance , LPCTSTR lpTemplate , HWND hWndParent , DLGPROC lpDialogFunc );モーダルダイアログボックスを生成して表示します
BOOL CALLBACK DialogProc( HWND hwndDlg , UINT uMsg , WPARAM wParam , LPARAM lParam );ユーザー定義のコールバック関数です
LONG SendDlgItemMessage( HWND hDlg , int nIDDlgItem , UINT Msg, WPARAM wParam , LPARAM lParam );ダイアログの指定コントロールにメッセージを送ります
BOOL CheckRadioButton( HWND hDlg , int nIDFirstButton , int nIDLastButton , int nIDCheckButton );列挙されているオプションボタンのグループから
定数 | 解説 |
---|---|
BST_CHECKED | ボタンをチェックされた状態にします |
BST_INDETERMINATE | ボタンをグレイ表示 (不確定) の状態にします ボタンが、BS_3STATEまたは BS_AUTO3STATE スタイルを 持つときにだけ使用してください |
BST_UNCHECKED | ボタンをチェックされていない状態にします |
定数 | 解説 |
---|---|
BST_CHECKED | ボタンをチェックされた状態である |
BST_INDETERMINATE | ボタンをグレイ表示 (不確定) の状態である |
BST_UNCHECKED | ボタンをチェックされていない状態である |
HWND CreateDialog( HINSTANCE hInstance , LPCTSTR lpTemplate, HWND hWndParent , DLGPROC lpDialogFunc );ダイアログボックステンプレートリソースから、モードレスダイアログボックスを作成します
定数 | 解説 |
---|---|
GMEM_FIXED | 固定メモリを確保します GMEM_MOVEABLE や GMEM_DISCARDABLE と組み合わせることはできません 戻り値は、メモリブロックへのポインタになります 戻り値を単純にポインタ型にキャストすると、メモリにアクセスできます |
GMEM_MOVEABLE | 移動可能メモリを確保します GMEM_FIXED と組み合わせることはできません 戻り値は、メモリオブジェクトのハンドルになります ハンドルをポインタに変換するには、GlobalLock 関数を使用します |
GPTR | GMEM_FIXEDと GMEM_ZEROINIT との組み合わせです |
GHND | GMEM_MOVEABLE と GMEM_ZEROINIT との組み合わせです |
GMEM_ZEROINIT | 確保したメモリの内容を、0 に初期化します |
以下の定数は16-bit Windows との互換性用 | |
GMEM_DDESHARE GMEM_SHARE |
ダイナミックデータエクスチェンジ (DDE) 対話のために DDE 関数が使用するメモリを確保します Windows 3.x とは異なり、このメモリはグローバルには共有されませんが 互換性のために使用できます プロセス間通信のために DDE またはクリップボードを使用するプロセスにおいてのみ このフラグを指定してください |
GMEM_DISCARDABLE | 廃棄可能メモリを確保します GMEM_FIXED と組み合わせることはできません Win32 アプリケーションの一部は、このフラグを無視することがあります |
GMEM_LOWER | 無視されます Windows の以前のバージョンとの互換性のために残されています |
GMEM_NOCOMPACT | メモリ確保の要求を満たすためのメモリの圧縮または廃棄を行わないようにします |
GMEM_NODISCARD | メモリ確保の要求を満たすためのメモリの廃棄を行わないようにします |
GMEM_NOT_BANKED | メモリ確保の要求を満たすためのメモリの廃棄を行わないようにします |
GMEM_NOTIFY | 無視されます Windows の以前のバージョンとの互換性のために残されています |
GMEM_SHARE | GMEM_DDESHARE と同じです |
定数 | 解説 |
---|---|
CF_BITMAP | ビットマップのデータです (HBITMAP) |
CF_DIB BITMAPINFO | 構造体とビットマップビットから成るメモリオブジェクトです |
CF_DIF | Software Arts 社の DIF データ交換形式です |
CF_DSPBITMAP | プライベートな形式のビットマップデータです |
CF_DSPENHMETAFILE | プライベートな形式の拡張メタファイルデータです |
CF_DSPMETAFILEPICT | プライベートな形式のメタファイル画像表示形式データです |
CF_DSPTEXT | プライベートな形式のテキストデータです |
CF_ENHMETAFILE | 拡張メタファイルのデータです (HENHMETAFILE) |
CF_GDIOBJFIRST から CF_GDIOBJLAST までの値 |
GDI オブジェクトによって表現される、アプリケーション定義のクリップボード形式です hMem パラメータは GDI オブジェクトのハンドルではありません GMEM_DDESHARE と GMEM_MOVEABLE を持つ GlobalAlloc 関数で割り当てられたハンドルになります |
CF_HDROP | HDROP 型です DragQueryFile 関数にこのハンドルを渡すことで ファイルに関する情報を受け取ることができます |
CF_LOCALE | テキストデータのロケール ID ハンドルです |
CF_METAFILEPICT | METAFILEPICT 構造体のメモリオブジェクトです。メタファイル画像形式です |
CF_OEMTEXT | OEM 文字セットの文字を持つ、テキスト形式データです 各行は改行復帰 (CR-LF) コードで終わります データの終端は NULL 文字です |
CF_OWNERDISPLAY | オーナー表示形式です クリップボードのオーナーが、クリップボードビューアウィンドウの表示と 更新を行なわなければなりません オーナーは、WM_ASKCBFORMATNAME、WM_HSCROLLCLIPBOARD WM_PAINTCLIPBOARD、WM_SIZECLIPBOARD WM_VSCROLLCLIPBOARD メッセージを受け取ります Hmem パラメータは、NULL でなければなりません |
CF_PALETTE | カラーパレットのハンドルです カラーパレットに依存するか カラーパレットを想定するデータをクリップボードに入れるときには カラーパレットもクリップボードに入れるようにしてください また、クリップボードの画像データを表示するときは このパレットデータも取得してください |
CF_PENDATA | Windows のペン拡張機能のためのデータです |
CF_PRIVATEFIRST | から CF_PRIVATELAST までの値 プライベートなクリップボード形式です プライベートなクリップボード形式に関係づけられたハンドルは 自動的には開放されません オーナーが明示的に解放しなければなりません (通常は、WM_DESTROYCLIPBOARD メッセージ処理時) |
CF_RIFF | RIFF 形式の音声データです WAVE 形式よりも複雑です |
CF_SYLK | Microsoft シンボリックリンク (SYLK) 形式のデータです |
CF_TEXT | テキスト形式のデータです 各行は復帰改行 (CR-LF) コードで終わります データの終端は NULL 文字です この形式は、ANSI テキストに使います |
CF_WAVE | WAVE 形式の音声データです |
CF_TIFF | TIFF 形式の画像データです |
CF_UNICODETEXT | Unicode のテキスト形式です 各行は復帰改行 (CR-LF) コードで終わります データの終端は NULL 文字です Windows NT でのみサポートされています |
HDC CreateDC( LPCTSTR lpszDriver , LPCTSTR lpszDevice , LPCTSTR lpszOutput , CONST DEVMODE *lpInitData );指定されたデバイスのデバイスコンテキストを、指定の名前で作成します
BOOL MoveWindow( HWND hWnd, int X , int Y , int nWidth , int nHeight , BOOL bRepaint );指定されたウィンドウの位置とサイズを変更します
BOOL SetWindowPos( HWND hWnd , HWND hWndInsertAfter , int X , int Y , int cx , int cy , UINT uFlags );子ウィンドウ、ポップアップウィンドウ、トップレベルウィンドウにおいて
定数 | 解説 |
---|---|
HWND_BOTTOM | ウィンドウを Z 順位の最後 (一番下) に置きます hWnd パラメータで指定したウィンドウが 最前面ウィンドウ (WS_EX_TOPMOST) のときは そのウィンドウは最前面ウィンドウではなくなり ほかのすべてのウィンドウの下に置かれます |
HWND_NOTOPMOST | ウィンドウを最前面ウィンドウ (WS_EX_TOPMOST) 以外の すべてのウィンドウの上位 (すべての最前面のウィンドウの下位 ) に置きます hWnd パラメータで指定したウィンドウが最前面ウィンドウでないときは このフラグは意味を持ちません |
HWND_TOP | ウィンドウを Z 順位の最初 (一番上) に置きます ただし、非最前面ウィンドウが最前面ウィンドウにされることはありません |
HWND_TOPMOST | ウィンドウを最前面ウィンドウにします |
定数 | 解説 |
---|---|
SWP_DRAWFRAME | ウィンドウを囲む (ウィンドウクラスの記述部分で定義されている) 枠を描画します |
SWP_FRAMECHANGED | たとえウィンドウのサイズが変更されなくても ウィンドウに WM_NCCALCSIZE メッセージを送ります このフラグを指定しない場合は、ウィンドウのサイズが変更されるときにだけ WM_NCCALCSIZE メッセージが送られます |
SWP_HIDEWINDOW | ウィンドウを非表示にします |
SWP_NOACTIVATE | ウィンドウをアクティブ化しません このフラグを指定しない場合は、ウィンドウはアクティブ化され (hWndInsertAfter パラメータの設定によって) 最前面 または非最前面のどちらかのグループの最上位に移動します |
SWP_NOCOPYBITS | クライアント領域の内容全体を破棄します このフラグを指定しない場合は、クライアント領域の有効な内容が保存され ウィンドウの再配置後にクライアント領域にコピーし直されます |
SWP_NOMOVE | 現在の位置を維持します (X パラメータと Y パラメータを無視します ) |
SWP_NOOWNERZORDER | オーナーウィンドウの Z 順位を変えません |
SWP_NOREDRAW | 変更結果を再描画しません どんな種類の再ペイントも発生しません このフラグは、クライアント領域 非クライアント領域 (タイトルバーやスクロールバーを含む) ウィンドウが移動した結果現れた親ウィンドウのどのような部分にも、適用されま このフラグを指定した場合、アプリケーションは、ウィンドウや親ウィンドウの 再描画の必要な部分を明示的に無効化または再描画しなければなりません |
SWP_NOREPOSITION | SWP_NOOWNERZORDER フラグと同じです |
SWP_NOSENDCHANGING | ウィンドウに WM_WINDOWPOSCHANGING メッセージを 受け取らせないようにします |
SWP_NOSIZE | 現在のサイズを維持します (cx パラメータと cy パラメータを無視します ) |
SWP_NOZORDER | 現在の Z 順位を維持します (hWndInsertAfter パラメータを無視します) |
SWP_SHOWWINDOW | ウィンドウを表示します |
BOOL BitBlt( HDC hdcDest, int nXDest , int nYDest , int nWidth , int nHeight , HDC hdcSrc, int nXSrc , int nYSrc , DWORD dwRop );ビットブロック転送を行います
定数 | 解説 |
---|---|
BLACKNESS | 物理パレットのインデックス 0 に対応する色 (デフォルトは黒) で コピー先の長方形を塗りつぶします |
DSTINVERT | コピー先長方形の色を反転します |
MERGECOPY | コピー元の色と、コピー先の色を 論理 AND 演算子で結合します |
MERGEPAINT | コピー元の色を反転した色と コピー先の色を、論理 OR 演算子で結合します |
NOTSRCCOPY | コピー元の色を反転して コピー先にコピーします |
NOTSRCERASE | コピー元の色と、コピー先の色を 論理 OR 演算子で結合し、さらに反転します |
PATCOPY | 指定したパターンをコピー先にコピーします |
PATINVERT | 指定したパターンの色と、コピー先の色を 論理 XOR 演算子で結合します |
PATPAINT | 指定したパターンの色と、コピー元の色を反転した色を 論理 OR 演算子で結合し、さらにその結果を コピー先の色と論理 OR 演算子で結合します |
SRCAND | コピー元の色と、コピー先の色を 論理 AND 演算子で結合します |
SRCCOPY | コピー元をコピー先にそのままコピーします |
SRCERASE | コピー先の色を反転した色と、コピー元の色を 論理 AND 演算子で結合します |
SRCINVERT | コピー元の色と、コピー先の色を 論理 XOR 演算子で結合します |
SRCPAINT | コピー元の色と、コピー先の色を 論理 OR 演算子で結合します |
WHITENESS | 物理パレットのインデックス 1 に対応する色 (デフォルトは白) で コピー先の長方形を塗りつぶします |
BOOL StretchBlt( HDC hdcDest, int nXOriginDest , int nYOriginDest , int nWidthDest , int nHeightDest , HDC hdcSrc , int nXOriginSrc , int nYOriginSrc , int nWidthSrc , int nHeightSrc, DWORD dwRop );コピー元の長方形からコピー先の長方形にビットマップをコピーします
定数 | 解説 |
---|---|
BLACKONWHITE, STRETCH_ANDSCANS |
残す点の色と、取り除く点の色を、論理 AND 演算子で結合します ビットマップがモノクロビットマップの場合 白のピクセルが消され、黒のピクセルが残ります |
COLORONCOLOR , STRETCH_DELETESCANS |
ピクセルを削除します 取り除く点の情報を保存することなく、削除します |
HALFTONE , STRETCH_HALFTONE |
コピー元のピクセルをコピー先のピクセルブロックに対応づけます コピー先のブロックの平均的な色が、コピー元のピクセルの色に近い色になります HALFTONEモードを設定した場合は、ブラシのずれを防ぐため SetBrushOrgEx() 関数を呼び出してください |
WHITEONBLACK , STRETCH_ORSCANS |
残す点の色と、取り除く点の色を、論理 OR 演算子で結合します ビットマップがモノクロビットマップの場合 黒のピクセルが消され、白のピクセルが残ります |
BOOL PatBlt( HDC hdc, int nXLeft , int nYLeft , int nWidth , int nHeight , DWORD dwRop );指定された長方形を現在のブラシでペイントします
定数 | 解説 |
---|---|
PATCOPY | 指定したパターンを描画先にコピーします |
PATINVERT | 指定したパターンの色と、描画先の色を、論理 XOR 演算子で結合します |
DSTINVERT | 描画先長方形の色を反転します |
BLACKNESS | 物理パレットのインデックス 0 に対応する色 (デフォルトは黒) で 描画先の長方形を塗りつぶします |
WHITENESS | 物理パレットのインデックス 0 に対応する色 (デフォルトは黒) で 描画先の長方形を塗りつぶします |
定数 | 定数 |
---|---|
OBM_BTNCORNERS | OBM_OLD_RESTORE |
OBM_BTSIZE | OBM_OLD_RGARROW |
OBM_CHECK | OBM_OLD_UPARROW |
OBM_CHECKBOXES | OBM_OLD_ZOOM |
OBM_CLOSE | OBM_REDUCE |
OBM_COMBO | OBM_REDUCED |
OBM_DNARROW | OBM_RESTORE |
OBM_DNARROWD | OBM_RESTORED |
OBM_DNARROWI | OBM_RGARROW |
OBM_LFARROW | OBM_RGARROWD |
OBM_LFARROWD | OBM_RGARROWI |
OBM_LFARROWI | OBM_SIZE |
OBM_MNARROW | OBM_UPARROW |
OBM_OLD_CLOSE | OBM_UPARROWD |
OBM_OLD_DNARROW | OBM_UPARROWI |
OBM_OLD_LFARROW | OBM_ZOOM |
OBM_OLD_REDUCE | OBM_ZOOMD |
HBITMAP CreateBitmap( int nWidth , int nHeight , UINT cPlanes, UINT cBitsPerPel, CONST VOID *lpvBits );指定された幅、高さ、色形式を持つビットマップを作成します
GDI オブジェクト | バッファ |
---|---|
HBITMAP | BITMAP 構造体 |
HBITMAP (CreateDIBSection() 関数で作成した場合 ) |
DIBSECTION 構造体 (cbBuffer に sizeof(DIBSECTION) を設定したとき) または、BITMAP 構造体 (cbBuffer に sizeof(BITMAP) を設定したとき) |
HPALETTE | WORD 型 (論理パレットのエントリ数が格納されます) |
HPEN (ExtCreatePen() 関数で作成した場合) |
EXTLOGPEN 構造体 |
HPEN | LOGPEN 構造体 |
HBRUSH | LOGBRUSH 構造体 |
HFONT | LOGFONT 構造体 |
BOOL CreateDirectory( LPCTSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes );新しいディレクトリを作成します
BOOL CreateDirectoryEx( LPCTSTR lpTemplateDirectory , LPCTSTR lpNewDirectory , LPSECURITY_ATTRIBUTES lpSecurityAttributes );新しいディレクトリを作成します
HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile );ファイルを作成、または開きます
定数 | 解説 |
---|---|
0 | デバイスの属性を問い合わせます |
GENERIC_READ | 読み取りアクセスです データの読み取りとファイルポインタの移動ができます 読み書きアクセスをするには、GENERIC_WRITE と組み合わせて指定します |
GENERIC_WRITE | 書き込みアクセスです データの書き込みとファイルポインタの移動ができます 読み書きアクセスをするには、GENERIC_READ と組み合わせて指定します |
定数 | 解説 |
---|---|
0 | このオブジェクトは共有しない ハンドルがクローズされるまでこのオブジェクトのオープン操作は失敗します |
FILE_SHARE_DELETE | Windows NT のみ 後続のオープン操作で削除アクセスが要求された場合 そのオープンを許可します |
FILE_SHARE_READ | 後続のオープン操作で読み取りアクセスが要求された場合 そのオープンを許可します |
FILE_SHARE_WRITE | 後続のオープン操作で書き込みアクセスが要求された場合 そのオープンを許可します |
定数 | 解説 |
---|---|
CREATE_NEW | 新しいファイルを作成します 指定ファイルがすでに存在している場合、関数は失敗します |
CREATE_ALWAYS | 新しいファイルを作成します 指定ファイルがすでに存在している場合、そのファイルは上書きされます |
OPEN_EXISTING | ファイルをオープンします 指定ファイルが存在していない場合、関数は失敗します デバイス (コンソールも含む) 上で CreateFile 関数を使う場合は このフラグを指定しなければなりません |
OPEN_ALWAYS | ファイルをオープンします 指定ファイルが存在していない場合、関数は新しいファイルを作成します。 |
TRUNCATE_EXISTING | ファイルをオープンし、ファイルのサイズを 0 バイトにします 指定ファイルが存在していない場合、関数は失敗します dwDesiredAccess パラメータで 少なくとも GENERIC_WRITE を指定しなければなりません |
定数 | 解説 |
---|---|
属性 | |
FILE_ATTRIBUTE_ARCHIVE | アーカイブファイルです この属性は、ファイルのバックアップや 削除のためのマークとして使われます |
FILE_ATTRIBUTE_ COMPRESSED | 圧縮ファイルまたは圧縮ディレクトリです 圧縮ディレクトリ内に新しく作られるファイル またはディレクトリは デフォルトで圧縮状態になります |
FILE_ATTRIBUTE_HIDDEN | 隠しファイルです |
FILE_ATTRIBUTE_NORMAL | とくに属性はありません 単独で指定します |
FILE_ATTRIBUTE_OFFLINE | ファイルのデータは、すぐには利用できません ファイルのデータが別のオフラインの 記憶装置に移されていることを示します |
FILE_ATTRIBUTE_READONLY | 読み取り専用です |
FILE_ATTRIBUTE_SYSTEM | オペレーティングシステムのファイルの一部です または、オペレーティングシステム専用のファイルです |
FILE_ATTRIBUTE_TEMPORARY | テンポラリファイルです |
フラグ | |
FILE_FLAG_WRITE_THROUGH | キャッシュに書き込まれたデータを そのまま直接ディスクに書き込むようにします |
FILE_FLAG_OVERLAPPED | 時間のかかる処理に対して ERROR_IO_PENDING を返すようにします 処理が終了すると、イベントはシグナル状態に設定されます このフラグを指定したときは、ReadFile 関数や WriteFile 関数で OVERLAPPED 構造体を指定しなければなりません |
FILE_FLAG_NO_BUFFERING | バッファやキャッシュを使用せずに ファイルをオープンするようにします 場合によっては、パフォーマンスが向上します このフラグを指定したときは、次の条件を満たさなければなりません 1 ファイルアクセスの開始オフセットを ボリュームのセクタサイズの整数倍にしなければなりません 2 ファイルのアクセスのバイト数を ボリュームのセクタサイズの整数倍にしなければなりません セクタサイズが 512 バイトの場合 512 バイト、1024 バイト……の読み書きはできますが 335 バイト、981 バイトなどの読み書きはできません 3 読み書き操作用のバッファのアドレスを ボリュームのセクタサイズの整数倍に整列しなければなりません 3 番目の条件を満たすには、VirtualAlloc() 関数を利用すると便利です VirtualAlloc() は、確保するメモリを (セクタサイズではありませんが) ページサイズの整数倍に整列します ボリュームのセクタサイズを求めるには GetDiskFreeSpace() 関数を使います |
FILE_FLAG_RANDOM_ACCESS | ファイルをランダムアクセスすることをシステムに示します システムは、この指定をファイルのキャッシングを 最適化するヒントとして使用します |
FILE_FLAG_SEQUENTIAL_SCAN | ファイルをシーケンシャルにアクセスすることをシステムに示します システムは、この指定をファイルのキャッシングを 最適化するヒントとして使用します このフラグを指定しても ランダムアクセスができなくなるわけではありません |
FILE_FLAG_DELETE_ON_CLOSE | ファイルのハンドルがクローズされたら そのファイルを削除するようにします |
FILE_FLAG_BACKUP_SEMANTICS | Windows NT バックアップまたは復元操作のために ファイルをオープンまたは作成します |
FILE_FLAG_POSIX_SEMANTICS | POSIX の規則に従ってファイルにアクセスします このフラグを使って作成したファイルには MS-DOS/Windows アプリケーションからはアクセスできません |
定数 | 解説 |
---|---|
SECURITY_ANONYMOUS | 匿名 (Anonymous) 偽装レベルでクライアントを偽装します |
SECURITY_IDENTIFICATION | 確認 (Identification) 偽装レベルでクライアントを偽装します |
SECURITY_IMPERSONATION | 偽装 (Impersonation) 偽装レベルでクライアントを偽装します |
SECURITY_DELEGATION | 代理 (Delegation) 偽装レベルでクライアントを偽装します |
SECURITY_CONTEXT_TRACKING | セキュリティトラッキングモードが動的であることを指定します このフラグを指定しない場合 セキュリティトラッキングモードは静的です |
SECURITY_EFFECTIVE_ONLY | クライアントのセキュリティコンテキストのうち 有効になっている部分だけをサーバーで利用できるようにします このフラグを指定しない場合は、すべての部分が利用できます |
定数 | 解説 |
---|---|
FILE_TYPE_UNKNOWN | 種類は不明です |
FILE_TYPE_DISK | ディスクファイルです |
FILE_TYPE_CHAR | LPT デバイスやコンソールといった文字ファイルです |
FILE_TYPE_PIPE | 名前付きまたは名前なしパイプです |
BOOL CopyFile( LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, BOOL bFailIfExists );既存ファイルをコピーします
BOOL GetFileTime( HANDLE hFile , LPFILETIME lpCreationTime , LPFILETIME lpLastAccessTime , LPFILETIME lpLastWriteTime );ファイルの作成日時、更新日時、採集アクセス日時を取得します
BOOL FileTimeToSystemTime( CONST FILETIME *lpFileTime , LPSYSTEMTIME lpSystemTime );FILETIME 構造体の日時を SYSTEMTIME 構造体に変換します
BOOL FileTimeToLocalFileTime( CONST FILETIME *lpFileTime , LPFILETIME lpLocalFileTime );世界標準時 (UTC) に基づくファイル時間を、ローカルファイル時間に変換します
BOOL LocalFileTimeToFileTime( CONST FILETIME *lpLocalFileTime, LPFILETIME lpFileTime );ローカルファイル時間を、世界標準時 (UTC) に基づくファイル時間に変換します
BOOL SystemTimeToFileTime( CONST SYSTEMTIME *lpSystemTime, LPFILETIME lpFileTime );SYSTEMTIME 構造体の日時を FILETIME 構造体に変換します
BOOL SetFileTime( HANDLE hFile , CONST FILETIME *lpCreationTime , CONST FILETIME *lpLastAccessTime , CONST FILETIME *lpLastWriteTime );ファイズの作成日時、更新日時、最終アクセス日時を設定します
BOOL ReadFile( HANDLE hFile , LPVOID lpBuffer , DWORD nNumberOfBytesToRead , LPDWORD lpNumberOfBytesRead , LPOVERLAPPED lpOverlapped );ファイルをバッファに読み込みます
BOOL WriteFile( HANDLE hFile , LPCVOID lpBuffer , DWORD nNumberOfBytesToWrite , LPDWORD lpNumberOfBytesWritten , LPOVERLAPPED lpOverlapped );ファイルにデータを書き込みます
DWORD SetFilePointer( HANDLE hFile , LONG lDistanceToMove , PLONG lpDistanceToMoveHigh , DWORD dwMoveMethod );ファイルポインタを指定位置に移動します
定数 | 解説 |
---|---|
FILE_BEGIN | ファイルの先頭を開始点にします |
FILE_CURRENT | ファイルポインタの現在位置を開始点にします |
FILE_END | ファイルの終端を開始点にします |