ウィンドウの操作 一覧表示

アクティブウィンドウ・・・・・・ユーザー入力を受け付けることの
				できるウィンドウ。ユーザーの入力とは
                                キーボードの入力やマウスの入力などである。
                                アクティブなウィンドウはキャプションバーの
                                色が変わるのでわかる。

フォアグラウンドウィンドウ・・・ユーザー入力を受け付けるウィンドウを
                                作成したスレッドのことを
                               「フォアグラウンドスレッド」と呼び
                                そのウィンドウのことを
                               「フォアグラウンドウィンドウ」と呼ぶ。

                                アクティブウィンドウと
                                フォアグラウンドウィンドウは
                                ユーザーから見ると変わらないが
                                内部では微妙に違う。
                                フォアグラウンドウィンドウにすると
                                若干だがCPUの割り当てが優先される。
                                しかし、「フォアグラウンドウィンドウ=
                                アクティブウィンドウ」で覚えてもプログラミング上は
                                困ることはない。SetActiveWindow()関数と
                                SetForegroundWindow()関数のページを参照してもらいたい。

Zオーダー・・・・・・・・・・・ ウィンドウの重なり順のことを「Zオーダー」と呼ぶ。
                                Zオーダーのトップに置くと一番手前に表示される。
オーバーラップドウィンドウ・・・トップレベルウィンドウで、通常のアプリケーションの メインウィンドウを指す。 キャプションバーのあるウィンドウは 全部オーバーラップウィンドウである。 キャプションバー・・・・・・・・Visual Basicでは「タイトルバー」とも呼ぶが Windowsの用語では「キャプションバー」。 アプリケーションのタイトルを表示する部分である。
メインウィンドウ・・・・・・・・アプリケーションがメインに使うウィンドウ。通常はフォーム。 デスクトップウィンドウ・・・・・「デスクトップ」というのは普通はスクリーン全体を指すが APIの用語としてはデスクトップウィンドの事を指す。 デスクトップは一つのウィンドウである。 このウィンドウはWindowsが管理している。 ウィンドウなので、デバイスコンテキストも取得できる。 親ウィンドウ・・・・・・・・・・子ウィンドウの親関係にあるウィンドウ。下図を参照。
子ウィンドウ・・・・・・・・・・親ウィンドウを持つウィンドウ。 つまり、ボタンやテキストボックスなどである。 子ウィンドウは親ウィンドウの領域から外に出られない。 クライアント領域・・・・・・・・フォームから非クライアント領域を除いたフォームの領域。 非クライアント領域とはキャプションバーと メニューバー・ウィンドウの枠線の幅のこと。 下図を参照。赤い斜線の部分がクライアント領域である。
ポップアップウィンドウ・・・・・メッセージボックスやダイアログボックスのように メインウィンドウから一時的に表示されるウィンドウ

ウィンドウ関数
関数名機能Sample
ウィンドウの操作
AdjustWindowRectExクライアント領域の矩形サイズを指定してウィンドウのサイズを取得あり
AnimateWindow(Win98)ウィンドウの表示・非表示にアニメーション効果を与えるなし
AnyPopupポップアップウィンドウが存在するか調べるなし
ArrangeIconicWindows子ウィンドウのアイコンを親ウィンドウの左下隅に整列なし
BeginDeferWindowPos複数のウィンドウの位置を同時に移動するための
データ構造体を設定
なし
BringWindowToTop指定にウィンドウをZオーダーのトップにするなし
CascadeWindowsウィンドウをカスケードに配置なし
ChildWindowFromPointEx親ウィンドウ内の指定した位置にある子ウィンドウのハンドル取得あり
CloseWindow指定のウィンドウをアイコン状態にするなし
DeferWindowPos複数のウィンドウの位置とサイズを同時に変更あり
EnableWindowウィンドウのユーザ入力を有効・無効にするあり
EndDeferWindowPos複数のウィンドウの位置とサイズを同時に変更なし
EnumChildProcEnumChildWindows関数のコールバック関数なし
EnumChildWindows子ウィンドウをリストアップするあり
EnumThreadWndProcEnumThredWindows関数のコールバック関数なし
EnumThredWindows指定のスレッドに関連する子ウィンドウをリストアップするあり
EnumWindowsProcEnumWindows関数のコールバック関数なし
EnumWindowsトップレベルウィンドウのハンドルをリストアップするあり
FindWindowsクラス名 or キャプションを与えてウィンドウのハンドルを取得なし
FindWindowsExクラス名 or キャプションを与えてウィンドウのハンドルを取得
(子ウィンドウも可)
あり
FlashWindowsウィンドウのキャプションバーをハイライト表示あり
FlashWindowsExウィンドウのキャプションバーをハイライト表示あり
GetActiveWindowアクティブなウィンドウのハンドルを取得なし
GetClientRectウィンドウのクライアント領域を取得なし
GetDesktopWindowデスクトップウィンドウのハンドル取得なし
GetFocusフォーカスを持つウィンドウのハンドルを取得なし
GetForegroundWindowフォアグラウンドのハンドルを取得なし
GetLastActivePopup指定のウィンドウが所有するポップアップウィンドウのうち
直前までアクティブだったウィンドウのハンドル
なし
GetNextWindowウィンドウリスト中の前(or 次)のウィンドウのハンドル取得なし
GetParent指定のウィンドウの親ウィンドウのハンドル取得なし
GetTopWindowZオーダーのトップ位置のウィンドウのハンドルを取得なし
GetWindow指定の方法でウィンドウのハンドル取得あり
GetWindowPlacement指定のウィンドウの位置・状態を取得あり
GetWindowRectウィンドウのサイズ取得あり
GetWindowTextウィンドウのキャプション取得あり
GetWindowTextLengthウィンドウのキャプションサイズ取得あり
IsChild指定の親ウィンドウの子ウィンドウかどうか調べるあり
IsIconic指定のウィンドウがアイコン化状態かどうか調べるあり
IsWindow指定のウィンドウが存在するかどうか調べるあり
IsWindowEnabled指定のウィンドウがキーボード・マウス入力ができるか調べるあり
IsWindowUnicode指定のウィンドウがUnicodeウィンドウかどうか調べるあり
IsWindowVisible指定のウィンドウが可視化状態かどうか調べるあり
IsZoomed指定のウィンドウが最大化されているか調べるあり
MoveWindowウィンドウの位置・サイズを変更なし
OpenIconアイコン化されたウィンドウを元に戻すなし
ScrollWindowEx指定の条件でクライアント領域をスクロールするあり
SetActiveWindow指定のウィンドウをアクティブにするなし
SetFocusウィンドウにフォーカスを与えるなし
SetForegroundWindow指定のウィンドウをZウィンドウのトップ位置に移動し、アクティブにするなし
SetParentウィンドウの親子関係を設定するなし
SetWindowPlacement指定ウィンドウの位置・サイズ・状態を設定なし
SetWindowPosウィンドウの位置・サイズ・状態を設定あり
SetWindowTextウィンドウのキャプションを設定なし
SetLayeredWindowAttributesレイヤードウィンドウの不透明度と透明のカラーキーを設定するあり
ShowOwnedPopups指定のウィンドウが所有するすべてのポップアップウィンドウを表示・非表示なし
ShowWindow指定のウィンドウの表示状態を設定なし
ShowWindowAsync別のスレッドによって作られたフォームの表示状態を設定なし
TileWindows指定のウィンドウをタイル上に配置なし
WindowFromDCデバイスコンテキストからウィンドウハンドルを取得なし
WindowFromPoint指定の座標位置にあるウィンドウハンドルを取得なし