CWnd クラス

Microsoft Foundation Class ライブラリにあるすべてのウィンドウ クラスの基本機能が用意されています。

構文

class CWnd : public CCmdTarget

メンバー

パブリック コンストラクター

名前 説明
CWnd::CWnd CWnd オブジェクトを構築します。

パブリック メソッド

名前 説明
CWnd::accDoDefaultAction オブジェクトの既定のアクションを実行するために、フレームワークによって呼び出されます。
CWnd::accHitTest 画面上の指定された位置にある子要素または子オブジェクトを取得するために、フレームワークによって呼び出されます。
CWnd::accLocation 指定されたオブジェクトの現在の画面位置を取得するために、フレームワークによって呼び出されます。
CWnd::accNavigate コンテナー内の他のユーザー インターフェイス要素を走査するため、可能な場合はそのオブジェクトを取得するために、フレームワークによって呼び出されます。
CWnd::accSelect 選択を変更するため、または指定されたオブジェクトのキーボード フォーカスを移動するために、フレームワークによって呼び出されます。
CWnd::AnimateWindow 関連付けられたウィンドウ オブジェクトをアニメーション化します。
CWnd::ArrangeIconicWindows すべての最小化 (アイコン化) された子ウィンドウを整列します。
CWnd::Attach Windows ハンドルを CWnd オブジェクトに関連付けます。
CWnd::BeginModalState フレーム ウィンドウをモーダルにします。
CWnd::BeginPaint 描画用の CWnd を準備します。
CWnd::BindDefaultProperty タイプ ライブラリに示されているように、呼び出し元オブジェクトの既定の単純バインド プロパティを、データ ソース コントロールに関連付けられているカーソルにバインドします。
CWnd::BindProperty データ バインディング コントロールのカーソル バインド プロパティをデータ ソース コントロールにバインドし、そのリレーションシップを MFC バインド マネージャーに登録します。
CWnd::BringWindowToTop CWnd を重なったウィンドウのスタックの最上位に移動します。
CWnd::CalcWindowRect クライアントの四角形からウィンドウ四角形を計算するために呼び出されます。
CWnd::CancelToolTips ツール ヒント コントロールを無効にします。
CWnd::CenterWindow ウィンドウをその親ウィンドウの中央に揃えます。
CWnd::ChangeClipboardChain クリップボード ビューアーのチェインから CWnd を削除します。
CWnd::CheckDlgButton チェック マークをボタン コントロールの横に配置したり、ボタン コントロールから削除したりします。
CWnd::CheckRadioButton 指定されたオプション ボタンにチェック マークを付け、指定されたボタンのグループにある他のすべてのオプション ボタンからチェック マークを削除します。
CWnd::ChildWindowFromPoint 子ウィンドウがある場合、指定された点を含む子ウィンドウを判断します。
CWnd::ClientToScreen ディスプレイ上の指定された点または四角形のクライアント座標を画面座標に変換します。
CWnd::CloseWindow ウィンドウを最小化します。
CWnd::ContinueModal ウィンドウのモーダル ステータスを継続します。
CWnd::Create CWnd オブジェクトに関連付けられる子ウィンドウを作成し、初期化します。
CWnd::CreateAccessibleProxy 指定されたオブジェクトの Active Accessibility プロキシを作成します。
CWnd::CreateCaret システム キャレットの新しい形を作成し、そのキャレットの所有権を取得します。
CWnd::CreateControl MFC プログラムでは CWnd オブジェクトによって表される ActiveX コントロールを作成します。
CWnd::CreateEx Windows のオーバーラップ ウィンドウ、ポップアップ ウィンドウ、または子ウィンドウを作成し、CWnd オブジェクトに関連付けます。
CWnd::CreateGrayCaret 灰色のブロックでシステム キャレットを作成し、そのキャレットの所有権を取得します。
CWnd::CreateSolidCaret 純色のブロックでシステム キャレットを作成し、そのキャレットの所有権を取得します。
CWnd::DeleteTempMap FromHandle 関数で作成した一時的な CWnd オブジェクトをすべて削除するために、CWinApp のアイドル処理ハンドラーによって自動的に呼び出されます。
CWnd::DestroyWindow 関連付けられている Windows のウィンドウを破棄します。
CWnd::Detach CWnd オブジェクトから Windows のハンドルを切り離し、そのハンドルを返します。
CWnd::DlgDirList リスト ボックスにファイル リストまたはディレクトリ リストを設定します。
CWnd::DlgDirListComboBox コンボ ボックスにファイル リストまたはディレクトリ リストを設定します。
CWnd::DlgDirSelect リスト ボックスから現在の選択を取得します。
CWnd::DlgDirSelectComboBox コンボ ボックスから現在の選択を取得します。
CWnd::DragAcceptFiles ドラッグされたファイルがウィンドウで読み込まれることを示します。
CWnd::DragDetect マウスをキャプチャし、ユーザーが左ボタンを離すか、Esc キーを押すか、または指定した点を中心にしたドラッグ四角形の外にマウスを移動するまで、移動を追跡します。
CWnd::DrawAnimatedRects アイコンを開く動作や、ウィンドウの最小化または最大化の動作を、ワイヤ フレームの四角形のアニメーションで表します。
CWnd::DrawCaption キャプションを描画します。
CWnd::DrawMenuBar メニュー バーを再描画します。
CWnd::EnableActiveAccessibility ユーザー定義の Active Accessibility 関数を有効にします。
CWnd::EnableDynamicLayout ユーザーがウィンドウのサイズを変更したときに、子ウィンドウの位置とサイズを動的に調整できるようにします。
CWnd::EnableD2DSupport ウィンドウの D2D のサポートを有効または無効にします。 このメソッドは、メイン ウィンドウが初期化される前に呼び出します。
CWnd::EnableScrollBar スクロール バーの矢印の一方または両方を有効または無効にします。
CWnd::EnableScrollBarCtrl 兄弟スクロール バーのコントロールを有効または無効にします。
CWnd::EnableToolTips ツール ヒント コントロールを有効にします。
CWnd::EnableTrackingToolTips トラッキング モードのツール ヒント コントロールを有効にします。
CWnd::EnableWindow マウス入力およびキーボード入力を有効または無効にします。
CWnd::EndModalLoop ウィンドウのモーダル ステータスを終了します。
CWnd::EndModalState フレーム ウィンドウをモーダルからモードレスに変更します。
CWnd::EndPaint 描画の終了を示します。
CWnd::ExecuteDlgInit ダイアログ リソースを開始します。
CWnd::FilterToolTipMessage ダイアログ ボックス内のコントロールに関連付けられているタイトルまたはテキストを取得します。
CWnd::FindWindow ウィンドウのハンドルを返します。ウィンドウのハンドルはそのウィンドウ名とウィンドウ クラスによって識別されます。
CWnd::FindWindowEx ウィンドウのハンドルを返します。ウィンドウのハンドルはそのウィンドウ名とウィンドウ クラスによって識別されます。
CWnd::FlashWindow ウィンドウを 1 回フラッシュします。
CWnd::FlashWindowEx ウィンドウをフラッシュし、追加の機能を実行します。
CWnd::FromHandle ウィンドウのハンドルが指定されている場合、CWnd オブジェクトへのポインターを返します。 オブジェクトが CWnd ハンドルにアタッチされていない場合は、一時 CWnd オブジェクトが作成され、アタッチされます。
CWnd::FromHandlePermanent ウィンドウのハンドルが指定されている場合、CWnd オブジェクトへのポインターを返します。
CWnd::get_accChild 指定された子の IDispatch インターフェイスのアドレスを取得するために、フレームワークによって呼び出されます。
CWnd::get_accChildCount このオブジェクトに属する子の数を取得するために、フレームワークによって呼び出されます。
CWnd::get_accDefaultAction オブジェクトの既定のアクションを記述する文字列を取得するために、フレームワークによって呼び出されます。
CWnd::get_accDescription 指定されたオブジェクトの外観を記述する文字列を取得するために、フレームワークによって呼び出されます。
CWnd::get_accFocus キーボード フォーカスを保持するオブジェクトを取得するために、フレームワークによって呼び出されます。
CWnd::get_accHelp オブジェクトの Help プロパティ文字列を取得するためにフレームワーク によって呼び 出されます。
CWnd::get_accHelpTopic 指定されたオブジェクトに関連付けられている WinHelp ファイルの完全パスと、そのファイル内の適切なトピックの識別子を取得するために、フレームワークによって呼び出されます。
CWnd::get_accKeyboardShortcut 指定されたオブジェクトのショートカット キーまたはアクセス キーを取得するために、フレームワークによって呼び出されます。
CWnd::get_accName 指定されたオブジェクトの名前を取得するために、フレームワークによって呼び出されます。
CWnd::get_accParent オブジェクトの親の IDispatch インターフェイスを取得するために、フレームワークによって呼び出されます。
CWnd::get_accRole 指定されたオブジェクトの役割を記述する情報を取得するために、フレームワークによって呼び出されます。
CWnd::get_accSelection このオブジェクトの選択されている子を取得するために、フレームワークによって呼び出されます。
CWnd::get_accState 指定されたオブジェクトの現在の状態を取得するために、フレームワークによって呼び出されます。
CWnd::get_accValue 指定されたオブジェクトの値を取得するために、フレームワークによって呼び出されます。
CWnd::GetActiveWindow アクティブなウィンドウを取得します。
CWnd::GetAncestor 指定したウィンドウの祖先ウィンドウ オブジェクトを取得します。
CWnd::GetCapture マウス キャプチャを持つ CWnd を取得します。
CWnd::GetCaretPos キャレットの現在位置を示すクライアント座標を取得します。
CWnd::GetCheckedRadioButton ボタンのグループ内で現在チェックされているオプション ボタンの ID を返します。
CWnd::GetClientRect CWnd クライアント領域の寸法を取得します。
CWnd::GetClipboardOwner クリップボードの現在のオーナーへのポインターを取得します。
CWnd::GetClipboardViewer クリップボード ビューアーのチェインの最初のウィンドウへのポインターを取得します。
CWnd::GetControlUnknown 不明な ActiveX コントロールへのポインターを取得します。
CWnd::GetDC クライアント領域のディスプレイ コンテキストを取得します。
CWnd::GetDCEx クライアント領域のディスプレイ コンテキストを取得し、描画中のクリッピングを有効にします。
CWnd::GetDCRenderTarget CWnd ウィンドウのデバイス コンテキスト (DC) レンダー ターゲットを取得します。
CWnd::GetDescendantWindow すべての子孫ウィンドウを検索し、指定された ID を持つウィンドウを返します。
CWnd::GetDesktopWindow Windows のデスクトップ ウィンドウを取得します。
CWnd::GetDlgCtrlID CWnd が子ウィンドウの場合、この関数を呼び出すと、その ID 値が返されます。
CWnd::GetDlgItem 指定されたダイアログ ボックスから指定された ID を持つコントロールを取得します。
CWnd::GetDlgItemInt 指定されたダイアログ ボックスにあるコントロールのテキストを整数値に変換します。
CWnd::GetDlgItemText コントロールに関連付けられているキャプションまたはテキストを取得します。
CWnd::GetDSCCursor データ ソース コントロールの DataSource、UserName、Password、および SQL プロパティで定義されている、基になるカーソルへのポインターを取得します。
CWnd::GetDynamicLayout 動的レイアウト マネージャー オブジェクトへのポインターを取得します。
CWnd::GetExStyle ウィンドウの拡張スタイルを返します。
CWnd::GetFocus 現在入力フォーカスを持っている CWnd へのポインターを取得します。
CWnd::GetFont 現在のフォントを取得します。
CWnd::GetForegroundWindow 手前のウィンドウ (ユーザーが現在作業しているトップレベル ウィンドウ) へのポインターを返します。
CWnd::GetIcon アイコンへのハンドルを取得します。
CWnd::GetLastActivePopup CWnd が所有するポップアップ ウィンドウのうち、直前にアクティブだったウィンドウを調べます。
CWnd::GetLayeredWindowAttributes レイヤード ウィンドウの不透明度および透明度のカラー キーを取得します。
CWnd::GetMenu 指定されたメニューへのポインターを取得します。
CWnd::GetNextDlgGroupItem コントロールのグループ内で、指定されたコントロールの直前または次に位置するコントロールを検索します。
CWnd::GetNextDlgTabItem 指定したコントロールの後 (または前) のスタイルを持つ最初の WS_TABSTOP コントロールを取得します。
CWnd::GetNextWindow ウィンドウ マネージャーのリストから次 (または前) のウィンドウを返します。
CWnd::GetOleControlSite 指定された ActiveX コントロールのカスタム サイトを取得します。
CWnd::GetOpenClipboardWindow 現在クリップボードが開いているウィンドウへのポインターを取得します。
CWnd::GetOwner CWnd のオーナーへのポインターを取得します。
CWnd::GetParent CWnd の親ウィンドウがある場合、そのウィンドウを取得します。
CWnd::GetParentFrame CWnd オブジェクトの親フレーム ウィンドウを取得します。
CWnd::GetParentOwner 子ウィンドウの親ウィンドウへのポインターを返します。
CWnd::GetProperty ActiveX コントロール プロパティを取得します。
CWnd::GetRenderTarget このウィンドウに関連付けられているレンダー ターゲットを取得します。
CWnd::GetSafeHwnd ポインターが m_hWnd NULL の場合は、、 this または NULL を返します。
CWnd::GetSafeOwner 指定されたウィンドウのセーフ オーナーを取得します。
CWnd::GetScrollBarCtrl 兄弟スクロール バーのコントロールを返します。
CWnd::GetScrollBarInfo 指定されたスクロール バーの情報を取得します。
CWnd::GetScrollInfo SCROLLINFO 構造体がスクロール バーについて保持している情報を取得します。
CWnd::GetScrollLimit スクロール バーの限界値を取得します。
CWnd::GetScrollPos スクロール ボックスの現在位置を取得します。
CWnd::GetScrollRange 指定されたスクロール バーの現在の最小位置と最大位置をコピーします。
CWnd::GetStyle 現在のウィンドウ スタイルを返します。
CWnd::GetSystemMenu アプリケーションがコピーおよび変更のためにコントロール メニューにアクセスできるようにします。
CWnd::GetTitleBarInfo 指定されたタイトル バーの情報を取得します。
CWnd::GetTopLevelFrame ウィンドウのトップレベルのフレーム ウィンドウを取得します。
CWnd::GetTopLevelOwner トップ レベルのウィンドウを取得します。
CWnd::GetTopLevelParent ウィンドウのトップレベルの親ウィンドウを取得します。
CWnd::GetTopWindow CWnd に属する第 1 レベルの子ウィンドウを返します。
CWnd::GetUpdateRect CWnd 更新領域を完全に囲む最小の四角形の座標を取得します。
CWnd::GetUpdateRgn CWnd 更新領域を取得します。
CWnd::GetWindow 対象となるウィンドウとの間に指定された関係が成り立つウィンドウを返します。
CWnd::GetWindowContextHelpId ヘルプ コンテキスト識別子を取得します。
CWnd::GetWindowDC キャプション バー、メニュー、スクロール バーを含むウィンドウ全体のディスプレイ コンテキストを取得します。
CWnd::GetWindowedChildCount 関連付けられている子ウィンドウの数を返します。
CWnd::GetWindowInfo ウィンドウに関する情報を返します。
CWnd::GetWindowlessChildCount 関連付けられているウィンドウなしの子ウィンドウの数を返します。
CWnd::GetWindowPlacement ウィンドウの表示状態、通常の位置 (復元された位置)、最小化された位置、および最大表示された位置を取得します。
CWnd::GetWindowRect CWnd の画面座標を取得します。
CWnd::GetWindowRgn ウィンドウのウィンドウ領域のコピーを取得します。
CWnd::GetWindowText ウィンドウのテキストまたはキャプション タイトル (ある場合) を返します。
CWnd::GetWindowTextLength ウィンドウのテキストまたはキャプション タイトルの長さを返します。
CWnd::HideCaret ディスプレイ画面からキャレットを削除して非表示にします。
CWnd::HiliteMenuItem トップ レベル (メニュー バー) のメニュー項目の強調表示を設定または解除します。
CWnd::HtmlHelp HTML ヘルプ アプリケーションを起動するために呼び出されます。
CWnd::Invalidate クライアント領域全体を無効にします。
CWnd::InvalidateRect 指定された四角形を現在の更新領域に追加して、その四角形内のクライアント領域を無効にします。
CWnd::InvalidateRgn 指定された領域を現在の更新領域に追加して、その領域内のクライアント領域を無効にします。
CWnd::InvokeHelper ActiveX コントロール メソッドまたはプロパティを呼び出します。
CWnd::IsChild CWnd が指定されたウィンドウの子ウィンドウか、または指定されたウィンドウの別の直系の子孫ウィンドウであるかを示します。
CWnd::IsD2DSupportEnabled D2D サポートが有効かどうかを判断します。
CWnd::IsDialogMessage 指定されたメッセージがモードレス ダイアログ ボックス用かどうかを判断します。モードレス ダイアログ ボックス用のメッセージである場合は、そのメッセージを処理します。
CWnd::IsDlgButtonChecked ボタン コントロールがチェックされているかどうかを判断します。
CWnd::IsDynamicLayoutEnabled このウィンドウで動的レイアウトが有効かどうかを判断します。 動的レイアウトが有効な場合は、ユーザーが親ウィンドウのサイズを変更したときに、子ウィンドウの位置とサイズを変更できます。
CWnd::IsIconic CWnd が最小化 (アイコン化) されているかどうかを判断します。
CWnd::IsTouchWindow CWnd でタッチ操作がサポートされているかどうかを示します。
CWnd::IsWindowEnabled ウィンドウでマウス入力およびキーボード入力が有効かどうかを判断します。
CWnd::IsWindowVisible ウィンドウが表示可能かどうかを判断します。
CWnd::IsZoomed CWnd が最大表示されているかどうかを判断します。
CWnd::KillTimer システム タイマーを中止します。
CWnd::LockWindowUpdate 指定されたウィンドウでの描画を無効化、または再有効化します。
CWnd::MapWindowPoints 複数の点を CWnd の座標空間から他のウィンドウの座標空間へ変換 (マップ) します。
CWnd::MessageBox アプリケーションで用意されたメッセージとキャプションを含むウィンドウを作成し、表示します。
CWnd::ModifyStyle 現在のウィンドウ スタイルを変更します。
CWnd::ModifyStyleEx ウィンドウの拡張スタイルを変更します。
CWnd::MoveWindow CWnd の位置と寸法を変更します。
CWnd::NotifyWinEvent 定義済みイベントが発生したことをシステムに通知します。
CWnd::OnAmbientProperty アンビエント プロパティ値を実装します。
CWnd::OnDrawIconicThumbnailOrLivePreview Windows 7 のタブのサムネイルに表示する、またはアプリケーションのピーク用にクライアントで表示するビットマップを取得する必要があるときに、フレームワークによって呼び出されます。
CWnd::OnHelp アプリケーション内で F1 ヘルプを (現在のコンテキストを使って) 処理します。
CWnd::OnHelpFinder コマンドと コマンド ID_HELP_FINDER を処理 ID_DEFAULT_HELP します。
CWnd::OnHelpIndex コマンドを処理 ID_HELP_INDEX し、既定のヘルプ トピックを提供します。
CWnd::OnHelpUsing ID_HELP_USING コマンドを処理します。
CWnd::OnToolHitTest 点が指定されたツールの外接する四角形内にあるかどうかを判断し、そのツールに関する情報を取得します。
CWnd::OpenClipboard クリップボードを開きます。 他のアプリケーションは、関数が呼び出されるまでクリップボードWindows CloseClipboard 変更できます。
CWnd::PaintWindowlessControls コントロール コンテナーのウィンドウなしのコントロールを描画します。
CWnd::PostMessage メッセージをアプリケーション キューに配置し、ウィンドウがメッセージを処理するのを待たずに制御を返します。
CWnd::PreCreateWindow CWnd オブジェクトに関連付けられている Windows のウィンドウが作成される前に呼び出されます。
CWnd::PreSubclassWindow が呼び出される前に、他の必要な SubclassWindow サブクラス化を実行できます。
CWnd::PreTranslateMessage ウィンドウ メッセージが Windows 関数の TranslateMessage および DispatchMessage にディスパッチされる前に、メッセージにフィルターをかけるために CWinApp によって使用されます。
CWnd::Print 指定されたデバイス コンテキストで現在のウィンドウを描画します。
CWnd::PrintClient 指定されたデバイス コンテキスト (通常はプリンター デバイス コンテキスト) で、さまざまなウィンドウを描画します。
CWnd::PrintWindow 表示されているウィンドウを指定されたデバイス コンテキスト (通常はプリンター DC) にコピーします。
CWnd::RedrawWindow クライアント領域内の指定された四角形または領域を更新します。
CWnd::RegisterTouchWindow Windows タッチのサポートを登録または登録解除します。
CWnd::ReleaseDC 他のアプリケーションが使用できるように、クライアント デバイス コンテキストおよびウィンドウ デバイス コンテキストを解放します。
CWnd::RepositionBars クライアント領域のコントロール バーの位置を変更します。
CWnd::RunModalLoop モーダル ステータスであるウィンドウのメッセージを取得、変換、またはディスパッチします。
CWnd::ScreenToClient ディスプレイ上の指定された点または四角形の画面座標をクライアント座標に変換します。
CWnd::ScrollWindow クライアント領域の内容をスクロールします。
CWnd::ScrollWindowEx クライアント領域の内容をスクロールします。 ScrollWindow と同様に、追加機能があります。
CWnd::SendChildNotifyLastMsg 子ウィンドウがタスクを処理できるように、親ウィンドウから子ウィンドウへ通知メッセージを送信します。
CWnd::SendDlgItemMessage 指定されたコントロールにメッセージを送信します。
CWnd::SendMessage CWnd オブジェクトにメッセージを送信し、メッセージが処理されるまで待機します。
CWnd::SendMessageToDescendants 対象となるウィンドウのすべての子孫ウィンドウにメッセージを送信します。
CWnd::SendNotifyMessage 指定されたメッセージをウィンドウに送信し、呼び出し元のスレッドがウィンドウを作成したかどうかに応じて、できるだけ早く制御を返します。
CWnd::SetActiveWindow ウィンドウをアクティブにします。
CWnd::SetCapture 以降のすべてのマウス入力を CWnd に送信します。
CWnd::SetCaretPos 指定された位置にキャレットを移動します。
CWnd::SetClipboardViewer クリップボードの内容が変更されるたびに通知を受けるウィンドウのチェインに CWnd を追加します。
CWnd::SetDlgCtrlID ウィンドウのウィンドウ ID またはコントロール ID を設定します (ダイアログ ボックス内のコントロールだけでなく、子ウィンドウの場合もあります)。
CWnd::SetDlgItemInt コントロールのテキストを、整数値を表現する文字列に設定します。
CWnd::SetDlgItemText 指定されたダイアログ ボックスにあるコントロールのキャプションまたはテキストを設定します。
CWnd::SetFocus 入力フォーカスを要求します。
CWnd::SetFont 現在のフォントを設定します。
CWnd::SetForegroundWindow ウィンドウを作成したスレッドをフォアグラウンドに置き、そのウィンドウをアクティブにします。
CWnd::SetIcon 特定のアイコンへのハンドルを設定します。
CWnd::SetLayeredWindowAttributes レイヤード ウィンドウの不透明度および透明度のカラー キーを設定します。
CWnd::SetMenu メニューを指定されたメニューに設定します。
CWnd::SetOwner CWnd のオーナーを変更します。
CWnd::SetParent 親ウィンドウを変更します。
CWnd::SetProperty ActiveX コントロール プロパティを設定します。
CWnd::SetRedraw CWnd の変更内容を再描画したり、または再描画を禁止したりできます。
CWnd::SetScrollInfo スクロール バーの情報を設定します。
CWnd::SetScrollPos スクロール ボックスの現在位置を設定します。また、指定されている場合は、新しい位置で表示されるようにスクロール バーを再描画します。
CWnd::SetScrollRange 指定されたスクロール バーの最小位置と最大位置の値を設定します。
CWnd::SetTimer トリガーされた場合にメッセージを送信する WM_TIMER システム タイマーをインストールします。
CWnd::SetWindowContextHelpId ヘルプ コンテキスト識別子を設定します。
CWnd::SetWindowPlacement ウィンドウの表示状態、通常の位置 (復元された位置)、最小化された位置、および最大表示された位置を設定します。
CWnd::SetWindowPos 子ウィンドウ、ポップアップ ウィンドウ、およびトップレベル ウィンドウのサイズ、位置、および順序付けを変更します。
CWnd::SetWindowRgn ウィンドウ領域を設定します。
CWnd::SetWindowText ウィンドウ テキストまたはキャプション タイトル (ある場合) を指定されたテキストに設定します。
CWnd::ShowCaret ディスプレイ上のキャレット現在位置にキャレットを表示します。 キャレットは、表示されると自動的に点滅します。
CWnd::ShowOwnedPopups ウィンドウが所有するすべてのポップアップ ウィンドウを表示または非表示にします。
CWnd::ShowScrollBar スクロール バーを表示または非表示にします。
CWnd::ShowWindow ウィンドウを表示または非表示にします。
CWnd::SubclassDlgItem Windows コントロールを CWnd オブジェクトに関連付け、CWnd のメッセージ マップを通じてそのオブジェクトにメッセージを送信します。
CWnd::SubclassWindow ウィンドウを CWnd オブジェクトに関連付け、その CWnd のメッセージ マップを通じてメッセージがルーティングされるようにします。
CWnd::UnlockWindowUpdate CWnd::LockWindowUpdate でロックされていたウィンドウのロックを解除します。
CWnd::UnsubclassWindow オブジェクトからウィンドウをデタッチ CWnd します
CWnd::UpdateData ダイアログ ボックスのデータを初期化または取得します。
CWnd::UpdateDialogControls ダイアログの各ボタンの状態および他のコントロールの状態を更新します。
CWnd::UpdateLayeredWindow レイヤード ウィンドウの位置、サイズ、形状、内容、および透明度を更新します。
CWnd::UpdateWindow クライアント領域を更新します。
CWnd::ValidateRect 指定された四角形を現在の更新領域から削除して、その四角形内のクライアント領域を有効にします。
CWnd::ValidateRgn 現在の更新領域から指定された領域を削除して、その領域内のクライアント領域を有効にします。
CWnd::WindowFromPoint 指定された点を含むウィンドウを識別します。
CWnd::WinHelp WinHelp アプリケーションを起動します。

プロテクト メソッド

名前 説明
CWnd::Default 既定のウィンドウ プロシージャを呼び出します。既定のウィンドウ プロシージャは、アプリケーションが処理しないウィンドウ メッセージに対する既定の処理を提供します。
CWnd::DefWindowProc 既定のウィンドウ プロシージャを呼び出します。既定のウィンドウ プロシージャは、アプリケーションが処理しないウィンドウ メッセージに対する既定の処理を提供します。
CWnd::DoDataExchange ダイアログ データ エクスチェンジとダイアログ データ検証用です。 UpdateData によって呼び出されます。
CWnd::GetCurrentMessage ウィンドウが現在処理しているメッセージへのポインターを返します。 メッセージ ハンドラー メンバー関数の場合 OnMessage にのみ呼び出す必要があります。
CWnd::InitDynamicLayout ウィンドウの動的レイアウトを初期化するために、フレームワークによって呼び出されます。
CWnd::LoadDynamicLayoutResource リソース ファイルから動的レイアウト情報を読み込みます。
CWnd::OnActivate CWnd がアクティブまたは非アクティブになるときに呼び出されます。
CWnd::OnActivateApp アプリケーションがアクティブまたは非アクティブになるときに呼び出されます。
CWnd::OnAppCommand ユーザーがアプリケーションのコマンド イベントを生成するときに呼び出されます。
CWnd::OnAskCbFormatName クリップボード オーナーがクリップボードの内容を表示するときに、クリップボード ビューアーによって呼び出されます。
CWnd::OnCancelMode CWnd でマウスのキャプチャなどの内部モードを取り消すことができるようにするために呼び出されます。
CWnd::OnCaptureChanged マウス キャプチャを失うウィンドウにメッセージを送信します。
CWnd::OnChangeCbChain 指定されたウィンドウがチェインから削除されようとしていることを通知します。
CWnd::OnChangeUIState ユーザー インターフェイス (UI) 状態を変更する必要があるときに呼び出されます。
CWnd::OnChar キーストロークが非システム文字に変換されるときに呼び出されます。
CWnd::OnCharToItem メッセージに応答するスタイルを持つ子 LBS_WANTKEYBOARDINPUT リスト ボックスによって呼び出 WM_CHAR されます。
CWnd::OnChildActivate CWnd のサイズや位置が変更されたり、CWnd がアクティブになったりした場合に、マルチ ドキュメント インターフェイス (MDI) 子ウィンドウに対して呼び出されます。
CWnd::OnChildNotify 親ウィンドウによって呼び出されます。親ウィンドウにメッセージを送るコントロールが、コントロール通知に対応できるようにします。
CWnd::OnClipboardUpdate クリップボードの内容が変更されたときに呼び出されます。
CWnd::OnClose CWnd を終了するシグナルとして呼び出されます。
CWnd::OnColorizationColorChanged 非クライアント領域のレンダリングのポリシーが変更されたときに呼び出されます。
CWnd::OnCommand ユーザーがコマンドを選択すると呼び出されます。
CWnd::OnCompacting Windows がシステム メモリの低下を検出すると呼び出されます。
CWnd::OnCompareItem 子の並べ替えられたオーナー描画コンボ ボックスやリスト ボックス内の新しい項目の相対位置を判断するために、呼び出されます。
CWnd::OnCompositionChanged Desktop Window Manager (DWM) コンポジションを有効にするか無効にするときに、すべてのトップ レベル ウィンドウに対して呼び出されます。
CWnd::OnContextMenu ウィンドウ内でマウスの右ボタンをクリックすると呼び出されます。
CWnd::OnCopyData あるアプリケーションから他のアプリケーションにデータをコピーします。
CWnd::OnCreate ウィンドウの作成の一部として呼び出されます。
CWnd::OnCtlColor CWnd がコントロールの親である場合、コントロールの描画時に呼び出されます。
CWnd::OnDeadChar キーストロークが非システムのデッド文字 (アクセント記号付き文字など) に変換されるときに呼び出されます。
CWnd::OnDeleteItem オーナー描画の子リスト ボックスやコンボ ボックスが破棄されるとき、または項目がコントロールから削除されるときに呼び出されます。
CWnd::OnDestroy CWnd が破棄されているときに呼び出されます。
CWnd::OnDestroyClipboard 関数の呼び出しによってクリップボードが空になったときにWindows EmptyClipboard されます。
CWnd::OnDeviceChange デバイスやコンピューターのハードウェア構成が変更されたときに、アプリケーションまたはデバイス ドライバーに通知します。
CWnd::OnDevModeChange ユーザーがデバイス モードの設定を変更したときに、すべてのトップ レベルのウィンドウに対して呼び出されます。
CWnd::OnDrawClipboard クリップボードの内容が変更されるときに呼び出されます。
CWnd::OnDrawItem オーナー描画の子ボタン コントロール、コンボ ボックス コントロール、リスト ボックス コントロール、またはメニューの外観を描画する必要があるときに呼び出されます。
CWnd::OnDropFiles ドロップされたファイルを受け取るように登録したウィンドウ上で、ユーザーがマウスの左ボタンを離したときに呼び出されます。
CWnd::OnEnable CWnd が有効または無効になるときに呼び出されます。
CWnd::OnEndSession セッションが終了するときに呼び出されます。
CWnd::OnEnterIdle モーダル ダイアログ ボックスまたはメニューがアイドル状態になることをアプリケーションのメイン ウィンドウ プロシージャに通知するために呼び出されます。
CWnd::OnEnterMenuLoop メニュー モーダル ループに入るときに呼び出されます。
CWnd::OnEnterSizeMove 影響を受けるウィンドウが移動またはサイズ変更のモーダル ループに入った後に呼び出されます。
CWnd::OnEraseBkgnd ウィンドウの背景を消去する必要があるときに呼び出されます。
CWnd::OnExitMenuLoop メニュー モーダル ループが終了したときに呼び出されます。
CWnd::OnExitSizeMove 影響を受けるウィンドウが移動またはサイズ変更のモーダル ループを終了した後に呼び出されます。
CWnd::OnFontChange フォント リソースのプールの変更時に呼び出されます。
CWnd::OnGetDlgCode 方向キーおよび Tab キーによる入力そのものをコントロールが処理できるように、そのコントロールに対して呼び出されます。
CWnd::OnGetMinMaxInfo Windows が最大表示されたときの位置や寸法、または最小や最大のトラッキング サイズを知る必要があるときに、必ず呼び出されます。
CWnd::OnHelpInfo ユーザーが F1 キーを押したときに、フレームワークによって呼び出されます。
CWnd::OnHotKey ユーザーがシステム全体でのショートカット キーを押したときに呼び出されます。
CWnd::OnHScroll CWnd の水平スクロール バーをクリックすると、呼び出されます。
CWnd::OnHScrollClipboard クリップボード オーナーがクリップボード内のイメージをスクロールし、適切な部分を無効にし、スクロール バーの値を更新する必要がある場合に呼び出されます。
CWnd::OnIconEraseBkgnd CWnd が最小化 (アイコン化) され、アイコンを描画する前にアイコンの背景を設定する必要があるときに呼び出されます。
CWnd::OnInitMenu メニューがアクティブになるときに呼び出されます。
CWnd::OnInitMenuPopup ポップアップ メニューがアクティブになるときに呼び出されます。
CWnd::OnInputDeviceChange I/O デバイスがシステムで追加または削除されたときに呼び出されます。
CWnd::OnInputLangChange アプリケーションの入力言語が変更されると呼び出されます。
CWnd::OnInputLangChangeRequest ユーザーが新しい入力言語を選択するときに呼び出されます。
CWnd::OnKeyDown 非システム キーが押されると呼び出されます。
CWnd::OnKeyUp 非システム キーが離されると呼び出されます。
CWnd::OnKillFocus CWnd が入力フォーカスを失う直前に呼び出されます。
CWnd::OnLButtonDblClk マウスの左ボタンをダブルクリックすると呼び出されます。
CWnd::OnLButtonDown マウスの左ボタンを押すと呼び出されます。
CWnd::OnLButtonUp マウスの左ボタンを離すと呼び出されます。
CWnd::OnMButtonDblClk マウスの中央ボタンをダブルクリックすると呼び出されます。
CWnd::OnMButtonDown マウスの中央ボタンを押すと呼び出されます。
CWnd::OnMButtonUp マウスの中央ボタンを離すと呼び出されます。
CWnd::OnMDIActivate MDI 子ウィンドウがアクティブまたは非アクティブになるときに呼び出されます。
CWnd::OnMeasureItem オーナー描画の子コンボ ボックス、リスト ボックス、またはメニュー項目が作成されるときに呼び出されます。 CWnd は、コントロールの大きさを Windows に通知します。
CWnd::OnMenuChar ユーザーが押したメニューのニーモニック文字が、現在のメニューに組み込まれているニーモニックと一致しないときに呼び出されます。
CWnd::OnMenuDrag ユーザーがメニュー項目をドラッグするときに呼び出されます。
CWnd::OnMenuGetObject マウス カーソルがメニュー項目に入るか、項目の中央から項目の上部または下部に移動したときに呼び出されます。
CWnd::OnMenuRButtonUp カーソルがメニュー項目にあるときに、マウスの右ボタンを離すと呼び出されます。
CWnd::OnMenuSelect ユーザーがメニュー項目を選択するときに呼び出されます。
CWnd::OnMouseActivate カーソルが非アクティブ ウィンドウにあるときに、マウス ボタンを押すと呼び出されます。
CWnd::OnMouseHover の前の呼び出しで指定された期間にわたって、ウィンドウのクライアント領域上にカーソルが置かれると呼び出され TrackMouseEvent ます。
CWnd::OnMouseHWheel マウスの水平スクロールのホイールが傾いたとき、または回転したときに呼び出されます。
CWnd::OnMouseLeave の前の呼び出しで指定されたウィンドウのクライアント領域からカーソルが離れるときに呼び出され TrackMouseEvent ます。
CWnd::OnMouseMove マウスのカーソルの移動時に呼び出されます。
CWnd::OnMouseWheel マウス ホイールの回転時に呼び出されます。 Windows NT 4.0 メッセージ処理を使用します。
CWnd::OnMove CWnd の位置が変更されると、呼び出されます。
CWnd::OnMoving ユーザーが CWnd オブジェクトを移動中であることを示します。
CWnd::OnNcActivate アクティブまたは非アクティブ状態を示すために、非クライアント領域を変更する必要があるときに呼び出されます。
CWnd::OnNcCalcSize クライアント領域のサイズと位置を計算する必要があるときに呼び出されます。
CWnd::OnNcCreate 非クライアント領域が作成される前に呼び出され OnCreate ます。
CWnd::OnNcDestroy 非クライアント領域が破棄されるときに呼び出されます。
CWnd::OnNcHitTest CWnd がカーソルを含む場合、または SetCapture を使用してマウス入力をキャプチャした場合に、マウスを移動するごとに Windows によって呼び出されます。
CWnd::OnNcLButtonDblClk カーソルが CWnd の非クライアント領域内にあるときに、マウスの左ボタンをダブルクリックすると呼び出されます。
CWnd::OnNcLButtonDown カーソルが CWnd の非クライアント領域内にあるときに、マウスの左ボタンを押すと呼び出されます。
CWnd::OnNcLButtonUp カーソルが CWnd の非クライアント領域内にあるときに、マウスの左ボタンを離すと呼び出されます。
CWnd::OnNcMButtonDblClk カーソルが CWnd の非クライアント領域内にあるときに、マウスの中央ボタンをダブルクリックすると呼び出されます。
CWnd::OnNcMButtonDown カーソルが CWnd の非クライアント領域内にあるときに、マウスの中央ボタンを押すと呼び出されます。
CWnd::OnNcMButtonUp カーソルが CWnd の非クライアント領域内にあるときに、マウスの中央ボタンを離すと呼び出されます。
CWnd::OnNcMouseHover の前の呼び出しで指定された期間にわたって、ウィンドウの非クライアント領域上にカーソルが置かれたときに呼び出され TrackMouseEvent ます。
CWnd::OnNcMouseLeave の前の呼び出しで指定されたウィンドウの非クライアント領域をカーソルが離れると、フレームワークはこのメンバー関数を呼び出し TrackMouseEvent ます。
CWnd::OnNcMouseMove CWnd の非クライアント領域内でカーソルが移動するときに呼び出されます。
CWnd::OnNcPaint 非クライアント領域を描画する必要があるときに呼び出されます。
CWnd::OnNcRButtonDblClk カーソルが CWnd の非クライアント領域内にあるときに、マウスの右ボタンをダブルクリックすると呼び出されます。
CWnd::OnNcRButtonDown カーソルが CWnd の非クライアント領域内にあるときに、マウスの右ボタンを押すと呼び出されます。
CWnd::OnNcRButtonUp カーソルが CWnd の非クライアント領域内にあるときに、マウスの右ボタンを離すと呼び出されます。
CWnd::OnNcRenderingChanged 非クライアント領域のレンダリングのポリシーが変更されたときに呼び出されます。
CWnd::OnNcXButtonDblClk XBUTTON1XBUTTON2 カーソルがウィンドウの非クライアント領域内にあるときに、ユーザーがダブルクリックしたときに呼び出されます。
CWnd::OnNcXButtonDown XBUTTON1XBUTTON2 カーソルがウィンドウの非クライアント領域内にあるときに、ユーザーがマウスを押すかマウスを押すと呼び出されます。
CWnd::OnNcXButtonUp XBUTTON1XBUTTON2 カーソルがウィンドウの非クライアント領域内にあるときに、マウスのまたはを離したときに呼び出されます。
CWnd::OnNextMenu 右方向キーまたは左方向キーでメニュー バーとシステム メニューを切り替えたときに呼び出されます。
CWnd::OnNotify コントロールでイベントが発生したこと、またはコントロールが情報を必要としていることを親ウィンドウに通知するために、フレームワークによって呼び出されます。
CWnd::OnNotifyFormat 現在のウィンドウが、通知メッセージで ANSI または Unicode の構造を受け入れるかどうかを判断するために呼び出され WM_NOTIFY ます。
CWnd::OnPaint ウィンドウの一部を再描画するために呼び出されます。
CWnd::OnPaintClipboard クリップボード ビューアーのクライアント領域の再描画が必要なときに呼び出されます。
CWnd::OnPaletteChanged カラー パレットを使用するウィンドウによる論理パレットの実体化とクライアント領域の更新を許可するために呼び出されます。
CWnd::OnPaletteIsChanging あるアプリケーションで論理パレットが実体化されるときに、他のアプリケーションに通知します。
CWnd::OnParentNotify 子ウィンドウを作成または破棄するか、カーソルが子ウィンドウの上にあるときにマウス ボタンをクリックすると呼び出されます。
CWnd::OnPowerBroadcast 電源管理イベントが発生したときに呼び出されます。
CWnd::OnQueryDragIcon 最小化 (アイコン化) された CWnd をユーザーがドラッグするときに呼び出されます。
CWnd::OnQueryEndSession ユーザーが Windows セッションを終了するときに呼び出されます。
CWnd::OnQueryNewPalette もうすぐ入力フォーカスを受け取ることを、CWnd に通知します。
CWnd::OnQueryOpen CWnd がアイコンであり、ユーザーがそのアイコンを開こうとしたときに呼び出されます。
CWnd::OnQueryUIState ウィンドウのユーザー インターフェイス (UI) 状態を取得するために呼び出されます。
CWnd::OnRawInput 現在のウィンドウが生の入力を取得するときに呼び出されます。
CWnd::OnRButtonDblClk マウスの右ボタンをダブルクリックすると呼び出されます。
CWnd::OnRButtonDown マウスの右ボタンを押すと呼び出されます。
CWnd::OnRButtonUp マウスの右ボタンを離すと呼び出されます。
CWnd::OnRenderAllFormats オーナー アプリケーションが破棄され、そのフォーマットすべてのレンダリングが必要なときに呼び出されます。
CWnd::OnRenderFormat 遅延レンダリングされた固有フォーマットのレンダリングが必要なときに、クリップボード オーナーに対して呼び出されます。
CWnd::OnSessionChange セッション状態の変更をアプリケーションに通知するために呼び出されます。
CWnd::OnSetCursor マウス入力がキャプチャされず、マウスによってウィンドウ内のカーソルの動きが発生した場合に呼び出されます。
CWnd::OnSetFocus CWnd が入力フォーカスを取得すると呼び出されます。
CWnd::OnSettingChange Win32 SystemParametersInfo 関数がシステム全体の設定を変更するときに呼び出されます。
CWnd::OnShowWindow CWnd が非表示になるか表示されるときに呼び出されます。
CWnd::OnSize CWnd のサイズが変更された後に呼び出されます。
CWnd::OnSizeClipboard クリップボード ビューアー ウィンドウのクライアント領域のサイズが変更されたときに呼び出されます。
CWnd::OnSizing 四角形のサイズを変更中であることを示します。
CWnd::OnSpoolerStatus プリント マネージャーのキューでジョブが追加または削除されるたびに、プリント マネージャーから呼び出されます。
CWnd::OnStyleChanged Windows 関数が1つ以上のウィンドウのスタイルを変更したことを示し SetWindowLong ます。
CWnd::OnStyleChanging SetWindowLongWindows 関数が、1つまたは複数のウィンドウのスタイルを変更しようとしていることを示します。
CWnd::OnSysChar キーストロークがシステム文字に変換されるときに呼び出されます。
CWnd::OnSysColorChange システム カラーの設定が変更されたときに、すべてのトップ レベル ウィンドウで呼び出されます。
CWnd::OnSysCommand ユーザーがコントロール メニューからコマンドを選択するとき、または最大化ボタンまたは最小化ボタンを選択するときに呼び出されます。
CWnd::OnSysDeadChar キーストロークがシステムのデッド文字 (アクセント記号付き文字など) に変換されるときに呼び出されます。
CWnd::OnSysKeyDown ユーザーが Alt キーを押したまま他のキーを押すときに呼び出されます。
CWnd::OnSysKeyUp Alt キーと一緒に押していたキーを離すときに呼び出されます。
CWnd::OnTCard ユーザーが編集可能なボタンをクリックしたときに呼び出されます。
CWnd::OnTimeChange システム時間が変更された後、すべてのトップ レベルのウィンドウに対して呼び出されます。
CWnd::OnTimer で指定された各間隔の後に呼び出され SetTimer ます。
CWnd::OnTouchInput Windows タッチからの 1 つの入力を処理します。
CWnd::OnTouchInputs Windows タッチからの複数の入力を処理します。
CWnd::OnUniChar キーが押されるときに呼び出されます。 つまり、現在のウィンドウにキーボードフォーカスがあり、 WM_KEYDOWN メッセージが関数によって変換され TranslateMessage ます。
CWnd::OnUnInitMenuPopup ドロップダウン メニューやサブメニューが破棄されたときに呼び出されます。
CWnd::OnUpdateUIState 指定したウィンドウとすべての子ウィンドウのユーザー インターフェイス (UI) 状態を変更するときに呼び出されます。
CWnd::OnUserChanged ユーザーがログオンまたはログオフした後に呼び出されます。
CWnd::OnVKeyToItem メッセージへの応答として、によって所有されているリストボックスによって呼び出され CWndWM_KEYDOWN ます。
CWnd::OnVScroll ウィンドウの垂直スクロール バーをクリックすると呼び出されます。
CWnd::OnVScrollClipboard オーナーがクリップボード内のイメージをスクロールし、適切な部分を無効にし、さらに、スクロール バーの値を更新する必要がある場合に呼び出されます。
CWnd::OnWindowPosChanged または別のウィンドウ管理関数の呼び出しの結果、サイズ、位置、または Z オーダーが変更されたときに呼び出され SetWindowPos ます。
CWnd::OnWindowPosChanging または別のウィンドウ管理関数を呼び出した結果、サイズ、位置、または Z オーダーが変更されるときに呼び出され SetWindowPos ます。
CWnd::OnWinIniChange Windows 初期化ファイルが変更された後、すべてのトップレベルウィンドウに対して呼び出され WIN.INI ます。
CWnd::OnWndMsg ウィンドウのメッセージが処理されたかどうかを示します。
CWnd::OnXButtonDblClk XBUTTON1XBUTTON2 カーソルがウィンドウのクライアント領域内にあるときに、ユーザーがダブルクリックしたときに呼び出されます。
CWnd::OnXButtonDown XBUTTON1XBUTTON2 カーソルがウィンドウのクライアント領域内にあるときに、ユーザーがまたはを押すと呼び出されます。
CWnd::OnXButtonUp XBUTTON1XBUTTON2 カーソルがウィンドウのクライアント領域内にあるときに、ユーザーがまたはを離したときに呼び出されます。
CWnd::PostNcDestroy この仮想関数は、ウィンドウが破棄された後、既定の OnNcDestroy 関数によって呼び出されます。
CWnd::ReflectChildNotify ヘルパー関数。ソースへのメッセージを反映します。
CWnd::ReflectLastMsg 最後のメッセージを子ウィンドウに反映します。
CWnd::ResizeDynamicLayout ウィンドウで動的レイアウトが有効な場合、子ウィンドウのレイアウトを調整するためにウィンドウのサイズが変更されると、フレームワークによって呼び出されます。
CWnd::WindowProc CWnd にウィンドウ プロシージャを提供します。 既定では、メッセージ マップを通じてメッセージをディスパッチします。

パブリック演算子

名前 説明
CWnd::operator HWND ウィンドウへのハンドルを取得するために呼び出します。
CWnd::operator != ウィンドウが、ハンドルがであるウィンドウと同じでないかどうかを判断し m_hWnd ます。
CWnd::operator == ウィンドウが、ハンドルがであるウィンドウと同じかどうかを判断し m_hWnd ます。

パブリック データ メンバー

名前 説明
CWnd::m_hWnd このにアタッチされている HWND を示し CWnd ます。

注釈

CWnd オブジェクトは、Windows のウィンドウとは異なりますが、両者は密接にリンクされています。 CWnd オブジェクトは、CWnd コンストラクターとデストラクターによって作成され、破棄されます。 一方、Windows ウィンドウは、メンバー関数によって作成され、 Create 仮想デストラクターによって破棄される Windows 内部のデータ構造です CWnd 。 関数は、 DestroyWindow オブジェクトを破棄せずに Windows ウィンドウを破棄します。

CWndクラスとメッセージマップ機構により、関数が非表示に WndProc なります。 受信 Windows 通知メッセージは、メッセージマップを介して適切なOnメッセージメンバー関数に自動的にルーティングされ ます。 OnMessageメンバー関数をオーバーライドして、派生クラス内のメンバーの特定のメッセージを処理します。

CWnd クラスでは、アプリケーションの Windows 子ウィンドウも作成できます。 アプリケーション固有のデータを格納するには、CWnd からクラスを派生させ、その派生クラスにメンバー変数を追加します。 ウィンドウにメッセージが送られたときに行われる処理を指定するには、派生クラスにメッセージ処理メンバー関数とメッセージ マップを実装します。

子ウィンドウは 2 つのステップで作成します。 まず、コンストラクターを呼び出してオブジェクトを作成した CWnd 後、 CWnd メンバー関数を呼び出して Create 子ウィンドウを作成し、オブジェクトにアタッチし CWnd ます。

ユーザーが子ウィンドウを終了したら、ウィンドウを削除してそのデータ構造体を破棄するために、CWnd オブジェクトを破棄するか、DestroyWindow メンバー関数を呼び出します。

Microsoft Foundation Class ライブラリでは、固有のウィンドウ タイプを提供するために、CWnd からさらにクラスが派生されています。 、、、、およびなど、これらのクラスの多く CFrameWndCMDIFrameWnd は、 CMDIChildWndCViewCDialog さらに派生するように設計されています。 などのから派生したコントロールクラスは、 CWndCButton 直接使用することも、クラスをさらに派生させるために使用することもできます。

の使用方法の詳細について CWnd は、「 Frame Windows 」および「 CWnd」を参照してください。

継承階層

CObject

CCmdTarget

CWnd

必要条件

ヘッダー: afxwin.h

CWnd::accDoDefaultAction

オブジェクトの既定のアクションを実行するために、フレームワークによって呼び出されます。

virtual HRESULT accDoDefaultAction(VARIANT varChild);

パラメーター

varChild
既定のアクションを呼び出すかどうかを指定します。既定のアクションは、オブジェクトまたはオブジェクトの子要素のいずれかです。 このパラメーターには CHILDID_SELF (オブジェクトの既定のアクションを実行する場合) または子 ID (オブジェクトの子要素のいずれかの既定のアクションを実行する場合) を指定できます。

戻り値

成功した場合は S_OK を返し、失敗した場合は COM エラーコードを返します。 Windows SDK の「 IAccessible:: accDoDefaultAction戻り値」を参照してください。

注釈

この関数は、MFC の Active Accessibility サポートの一部です。

派生クラスのこの関数 CWnd をオーバーライドして、オブジェクトの既定のアクションを実行します。 詳細については、Windows SDK の「 IAccessible:: accDoDefaultAction 」を参照してください。

CWnd::accHitTest

画面上の指定された位置にある子要素または子オブジェクトを取得するために、フレームワークによって呼び出されます。

virtual HRESULT accHitTest(
    long xLeft,
    long yTop,
    VARIANT* pvarChild);

パラメーター

xLeft
ヒットテストする点の X 座標 (画面単位)。

yTop
ヒットテストする点の Y 座標 (画面単位)。

pvarChild
とで指定された位置にあるオブジェクトを識別する情報 xLeft を受け取り yTop ます。 Windows SDK の「」の「」を参照してください pvarIDIAccessible::accHitTest

戻り値

S_OK成功した場合は、失敗した場合は COM エラーコードを返します。 Windows SDK の「」の戻り値を参照してください

注釈

この関数は、MFC の Active Accessibility サポートの一部です。

CWndnonwindowed ユーザーインターフェイス要素 (MFC で処理されるウィンドウなしの ActiveX コントロール) がある場合は、派生クラスでこの関数をオーバーライドします。

詳細については、Windows SDK の「」を参照してください IAccessible::accHitTest

CWnd::accLocation

指定されたオブジェクトの現在の画面位置を取得するために、フレームワークによって呼び出されます。

virtual HRESULT accLocation(
    long* pxLeft,
    long* pyTop,
    long* pcxWidth,
    long* pcyHeight,
    VARIANT varChild);

パラメーター

pxLeft
オブジェクトの左上隅の x 座標 (画面単位) を受け取ります。

pyTop
オブジェクトの左上隅の y 座標 (画面単位) を受け取ります。

pcxWidth
オブジェクトの幅を受け取ります (画面単位)。

pcyHeight
オブジェクトの高さを取得します (画面単位)。

varChild
取得する場所が、オブジェクトまたはオブジェクトの子要素のいずれかであるかどうかを指定します。 このパラメーターには CHILDID_SELF 、(オブジェクトに関する情報を取得する場合) または子 ID (オブジェクトの子要素に関する情報を取得する場合) のいずれかを指定できます。

戻り値

成功した場合は S_OK を返し、失敗した場合は COM エラーコードを返します。 Windows SDK の「」の戻り値を参照してください

注釈

ウィンドウ化されていないユーザー インターフェイス要素がある場合は、派生クラスでこの関数をオーバーライドします (MFC が処理するウィンドウレス ActiveX コントロールを CWnd 含む)。

詳細については、「Windows IAccessible::accLocation SDK」を参照してください。

CWnd::accNavigate

コンテナー内の他のユーザー インターフェイス要素を走査するため、可能な場合はそのオブジェクトを取得するために、フレームワークによって呼び出されます。

virtual HRESULT accNavigate(
    long navDir,
    VARIANT varStart,
    VARIANT* pvarEndUpAt);

パラメーター

navDir
移動する方向を指定します。 Windows SDK の navDirIAccessible::accNavigate を参照してください。

varStart
開始オブジェクトを指定します。 Windows SDK の varStartIAccessible::accNavigate を参照してください。

pvarEndUpAt
宛先ユーザー インターフェイス オブジェクトに関する情報を受信します。 Windows SDK の pvarEndIAccessible::accNavigate を参照してください。

戻り値

失敗時 S_OK に COM エラー コードである成功時に を返します。 Windows SDK 戻り値」を参照してください。

注釈

この関数は、MFC のサポートの一 Active Accessibility です。

ウィンドウ化されていないユーザー インターフェイス要素がある場合は、派生クラスでこの関数をオーバーライドします (MFC が処理するウィンドウレス ActiveX コントロールを CWnd 含む)。

詳細については、「Windows IAccessible::accNavigate SDK」を参照してください。

CWnd::accSelect

選択を変更するため、または指定されたオブジェクトのキーボード フォーカスを移動するために、フレームワークによって呼び出されます。

virtual HRESULT accSelect(
    long flagsSelect,
    VARIANT varChild);

パラメーター

flagsSelect
現在の選択またはフォーカスを変更する方法を指定します。 Windows SDK の flagsSelectIAccessible::accSelect を参照してください。

varChild
選択するオブジェクトを指定します。 このパラメーターには、(オブジェクト自体を選択する場合) または子 ID (オブジェクトの子のいずれかを選択する場合) CHILDID_SELF を指定できます。

戻り値

失敗時 S_OK に COM エラー コードである成功時に を返します。 Windows SDK 戻り値」を参照してください。

注釈

この関数は、MFC のサポートの一 Active Accessibility です。

ウィンドウ化されていないユーザー インターフェイス要素がある場合は、派生クラスでこの関数をオーバーライドします (MFC が処理するウィンドウレス ActiveX コントロールを CWnd 含む)。

詳細については、「Windows IAccessible::accSelect SDK」を参照してください。

CWnd::AnimateWindow

ウィンドウを表示または非表示にするときに特殊な効果を生成します。

BOOL AnimateWindow(
    DWORD dwTime,
    DWORD dwFlags);

パラメーター

dwTime
アニメーションの再生にかかる時間をミリ秒単位で指定します。 通常、アニメーションの再生には 200 ミリ秒かかる。

dwFlags
アニメーションの種類を指定します。 使用できる値の完全な一覧については、「」を参照してください AnimateWindow

戻り値

関数が正常終了した場合は 0 以外。それ以外の場合は 0。

注釈

このメンバー関数は、 関数の機能をエミュレートします。詳細については、「Windows AnimateWindow SDK」を参照してください。

CWnd::ArrangeIconicWindows

すべての最小化 (アイコン化) された子ウィンドウを整列します。

UINT ArrangeIconicWindows();

戻り値

関数が成功した場合のアイコンの 1 行の高さ。それ以外の場合は 0。

注釈

また、このメンバー関数は、画面全体をカバーするデスクトップ ウィンドウにアイコンを配置します。 メンバー GetDesktopWindow 関数は、デスクトップ ウィンドウ オブジェクトへのポインターを取得します。

MDI クライアント ウィンドウに MDI 子ウィンドウを配置するには、 を呼び出します CMDIFrameWnd::MDIIconArrange

// arrange minimized MDI child windows
// called from menu item; CMdiChildFrame is derived from CMDIChildWnd
void CMdiChildFrame::OnActionArrangeIconicWindows()
{
   UINT height = GetParent()->ArrangeIconicWindows();   
   TRACE(_T("height = %d\n"), height);
}

CWnd::Attach

オブジェクトにWindowsウィンドウをアタッチ CWnd します。

BOOL Attach(HWND hWndNew);

パラメーター

hWndNew
オブジェクト ウィンドウへのハンドルWindowsします。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

この例では、 と を使用 Attach して Detach MDI クライアント ウィンドウにマップする方法を示します。

// Declare a CWnd member of CMainFrame
public:
CWnd m_wndMDIClient;
// detach MDI client window in CMainFrame destructor
m_wndMDIClient.Detach();
// In CMainFrame::OnCreate, attach MDI client window

if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
   return -1;

// attach MDI client window
if (m_wndMDIClient.Attach(m_hWndMDIClient) == 0)
{
   TRACE(_T("Failed to attach MDIClient.\n"));
   return -1; // fail to create
}

CWnd::BeginModalState

フレーム ウィンドウをモーダルにします。

virtual void BeginModalState();

CWnd::BeginPaint

塗りつぶし CWnd の準備を行い、データ構造 PAINTSTRUCT に塗りつぶしに関する情報を入力します。

CDC* BeginPaint(LPPAINTSTRUCT lpPaint);

パラメーター

lpPaint
塗り分 PAINTSTRUCT け情報を受け取る構造体をポイントします。

戻り値

のデバイス コンテキストを識別します CWnd 。 ポインターは一時的な場合があります。また、 のスコープを超えて格納する必要があります EndPaint

注釈

ペイント構造には、更新領域を完全に囲む最小の四角形を持つデータ構造と、背景が消去されているかどうかを指定するフラグ RECT が含まれている。

更新領域は、または メンバー関数によって設定され、サイズ、移動、作成、スクロール、またはクライアント領域に影響を与えるその他の操作が実行された後、システムによって InvalidateInvalidateRectInvalidateRgn 設定されます。 更新リージョンが消去用にマークされている場合は、 BeginPaint メッセージを送信 WM_ONERASEBKGND します。

メッセージへの応答を BeginPaint 除き、メンバー関数を呼び出 WM_PAINT しません。 メンバー関数の各呼 BeginPaint び出しには、メンバー関数に対する一致する呼び出しが EndPaint 必要です。 キャレットが塗り分けされる領域にある場合、メンバー関数は自動的にキャレットを非表示にして、削除 BeginPaint を防ぐ。

// Use BeginPaint and EndPaint when responding to WM_PAINT message
// An alternative method is to use CPaintDC in place of
// BeginPaint and EndPaint
void CMdiView::OnPaint()
{
   PAINTSTRUCT ps;
   CDC *pDC = BeginPaint(&ps);

   pDC->Rectangle(CRect(0, 0, 100, 100));

   EndPaint(&ps);

   // Do not call CView::OnPaint() for painting messages
}

CWnd::BindDefaultProperty

タイプ ライブラリでマークされている呼び出し元オブジェクトの既定の単純バインド プロパティ (編集コントロールなど) を、データ ソース コントロールの 、および プロパティで定義されている基になるカーソルにバインドします。 DataSourceUserNamePasswordSQL

void BindDefaultProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    LPCTSTR szFieldName,
    CWnd* pDSCWnd);

パラメーター

dwDispID
データ ソース コントロールにバインドされるデータ バインド コントロールの プロパティの DISPID を指定します。

vtProp
バインドするプロパティの型を指定します。 たとえば VT_BSTRVT_VARIANT 、、、 などです。

szFieldName
プロパティがバインドされる、データ ソース コントロールによって提供されるカーソル内の列の名前を指定します。

pDSCWnd
プロパティがバインドされるデータ ソース コントロールをホストするウィンドウをポイントします。 GetDlgItemDCS のホスト ウィンドウのリソース ID を使用して を呼び出して、このポインターを取得します。

注釈

この CWnd 関数を呼び出すオブジェクトは、データ バインド コントロールである必要があります。

BindDefaultProperty は、次のコンテキストで使用できます。

BOOL CMyDlg::OnInitDialog()
{
   CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
   CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL1);
   pMyBound->BindDefaultProperty(0x1, VT_BSTR, _T("ContactFirstName"), pDSC);
   return TRUE;
}

CWnd::BindProperty

データ バインド コントロール (グリッド コントロールなど) のカーソル バインド プロパティをデータ ソース コントロールにバインドし、そのリレーションシップを MFC バインド マネージャーに登録します。

void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

パラメーター

dwDispId
データ ソース コントロールにバインドされるデータ バインド コントロールの プロパティの DISPID を指定します。

pWndDSC
プロパティがバインドされるデータ ソース コントロールをホストするウィンドウをポイントします。 GetDlgItemDCS のホスト ウィンドウのリソース ID を使用して を呼び出して、このポインターを取得します。

注釈

この CWnd 関数を呼び出すオブジェクトは、データ バインド コントロールである必要があります。

BindProperty は、次のコンテキストで使用できます。

BOOL CMyDlg::OnInitDialog()
{
   CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
   CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL2);
   pMyBound->BindProperty(0x1, pDSC);
   return TRUE;
}

CWnd::BringWindowToTop

CWnd を重なったウィンドウのスタックの最上位に移動します。

void BringWindowToTop();

注釈

また、BringWindowToTop により、ポップアップ ウィンドウ、トップレベル ウィンドウ、および MDI 子ウィンドウがアクティブになります。 BringWindowToTop メンバー関数は、重なったウィンドウによって部分的または完全に隠されているウィンドウを表示する場合に使用します。

この関数は、Win32 関数を呼び出 BringWindowToTop すだけです。 関数を SetWindowPos 呼び出して、Z オーダーでのウィンドウの位置を変更します。 BringWindowToTop 関数では、ウィンドウ スタイルが変更され、そのウィンドウがトップレベル ウィンドウになることはありません。 詳細については、「と の違い」を 参照 HWND_TOPMOST してください。

// Moves MDI child windows to the top when a mouse passes
// over it. CMdiView is derived from CView.
void CMdiView::OnMouseMove(UINT nFlags, CPoint point) 
{
   UNREFERENCED_PARAMETER(nFlags);
   UNREFERENCED_PARAMETER(point);

   GetParentFrame()->BringWindowToTop();
}

CWnd::CalcWindowRect

指定したクライアント四角形を格納できるウィンドウ四角形を計算します。

virtual void CalcWindowRect(
    LPRECT lpClientRect,
    UINT nAdjustType = adjustBorder);

パラメーター

lpClientRect
[in, out]四角形構造体へのポインター。 入力時に、この構造体にはクライアントの四角形が含まれる。 メソッドが完了すると、この構造体には、指定したクライアント四角形を格納できるウィンドウ四角形が含まれる。

nAdjustType
[in]スタイル CWnd::adjustBorder を使用せずにウィンドウ座標を計算するには を WS_EX_CLIENTEDGE 使用します。それ以外の場合は を使用します CWnd::adjustOutside

注釈

計算されるウィンドウの四角形のサイズには、メニュー バーの領域は含め "されません"。

使用制限の詳細については、「」を参照してください AdjustWindowRectEx

// Uses CalcWindowRect to determine size for new CFrameWnd
// based on the size of the current view. The end result is a
// top level frame window of the same size as CMdiView's frame.
void CMdiView::OnMyCreateFrame()
{
   CFrameWnd *pFrameWnd = new CFrameWnd;
   CRect myRect;
   GetClientRect(myRect);
   pFrameWnd->Create(NULL, _T("My Frame"));
   pFrameWnd->CalcWindowRect(&myRect, CWnd::adjustBorder);
   pFrameWnd->MoveWindow(0, 0, myRect.Width(), myRect.Height());
   pFrameWnd->ShowWindow(SW_SHOW);
}

CWnd::CancelToolTips

ツール ヒントが現在表示されている場合は、このメンバー関数を呼び出して、ツール ヒントを画面から削除します。

static void PASCAL CancelToolTips(BOOL bKeys = FALSE);

パラメーター

bKeys
TRUE キーが押された場合にツール ヒントを取り消し、ステータス バーのテキストを既定値に設定する場合は 。それ以外の場合 FALSE は 。

注釈

注意

このメンバー関数を使用すると、コードによって管理されるツール ヒントには影響しません。 これは、 によって管理されるツール ヒント コントロールにのみ影響します CWnd::EnableToolTips

// In this example, tool tips were set up to
// pop up when the user moves the mouse
// over this edit control.
// If the mouse is moved to the upper left-hand
// corner, the tool tip would disappear because of
// calling CancelToolTips.
void CMyEdit::OnMouseMove(UINT nFlags, CPoint point)
{
   CRect corner(0, 0, 10, 10);
   if (corner.PtInRect(point))
      CancelToolTips();
   CEdit::OnMouseMove(nFlags, point);
}

CWnd::CenterWindow

ウィンドウをその親ウィンドウの中央に揃えます。

void CenterWindow(CWnd* pAlternateOwner = NULL);

パラメーター

pAlternateOwner
中央に表示される (親ウィンドウ以外の) 相対的な代替ウィンドウへのポインター。

注釈

通常、アプリケーションのメイン ウィンドウに対して相対的なダイアログ ボックスを中央 CDialog::OnInitDialog に移動して呼び出されます。 既定では、関数は親ウィンドウを基準に子ウィンドウを中心にし、所有者を基準にポップアップ ウィンドウを中心にしています。 ポップアップ ウィンドウが所有されていない場合は、画面を基準に中央に表示されます。 所有者または親ではない特定のウィンドウを基準にウィンドウを中央に設定するには、 パラメーターを有効な pAlternateOwner ウィンドウに設定できます。 画面を基準にした中心を強制的に設定するには、 によって返される値を として渡 CWnd::GetDesktopWindow します pAlternateOwner

BOOL CAboutDlg::OnInitDialog()
{
   CDialog::OnInitDialog();

   CenterWindow();

   return TRUE;
}

CWnd::ChangeClipboardChain

クリップボード ビューアー CWnd のチェーンから を削除し、チェーン内の先祖の子孫によって指定 hWndNextCWnd されたウィンドウを作成します。

BOOL ChangeClipboardChain(HWND hWndNext);

パラメーター

hWndNext
クリップボード ビューアー チェーンに続 CWnd くウィンドウを識別します。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

CWnd::CheckDlgButton

ボタンを選択 (チェック マークを横に表示) するか、ボタンをクリア (チェック マークを削除) するか、3 つの状態ボタンの状態を変更します。

void CheckDlgButton(
    int nIDButton,
    UINT nCheck);

パラメーター

nIDButton
変更するボタンを指定します。

nCheck
実行するアクションを指定します。 が 0 以外の場合、メンバー関数はボタンの横にチェック マークを付け、0 の場合は nCheckCheckDlgButton チェック マークが削除されます。 3 つの状態のボタンの場合、が 2 の場合、ボタン nCheck の状態は不確定です。

注釈

関数 CheckDlgButton は、指定された BM_SETCHECK ボタンにメッセージを送信します。

// Sets 3 check buttons in various ways.  Note BST_INDETERMINATE
// requires BS_3STATE or BS_AUTO3STATE in the button's style.
void CMyDlg::OnMarkButtons()
{
   CheckDlgButton(IDC_CHECK1, BST_UNCHECKED);     // 0
   CheckDlgButton(IDC_CHECK2, BST_CHECKED);       // 1
   CheckDlgButton(IDC_CHECK3, BST_INDETERMINATE); // 2
}

CWnd::CheckRadioButton

グループ内の特定のラジオ ボタンを選択 (チェック マークをに追加) し、グループ内の他のすべてのラジオ ボタンをクリア (チェック マークを削除) します。

void CheckRadioButton(
    int nIDFirstButton,
    int nIDLastButton,
    int nIDCheckButton);

パラメーター

nIDFirstButton
グループ内の最初のラジオ ボタンの整数識別子を指定します。

nIDLastButton
グループ内の最後のラジオ ボタンの整数識別子を指定します。

nIDCheckButton
チェックするラジオ ボタンの整数識別子を指定します。

注釈

関数 CheckRadioButton は、指定 BM_SETCHECK したラジオ ボタンにメッセージを送信します。

// Of the 4 radio buttons, selects radio button 3.
void CMyDlg::OnMarkRadio()
{
   CheckRadioButton(IDC_RADIO1, IDC_RADIO4, IDC_RADIO3);
}

CWnd::ChildWindowFromPoint

に属する子ウィンドウの、指定したポイントを含む子ウィンドウ CWnd がある場合は、そのウィンドウを決定します。

CWnd* ChildWindowFromPoint(POINT point) const;

CWnd* ChildWindowFromPoint(
    POINT point,
    UINT nFlags) const;

パラメーター

point
テストするポイントのクライアント座標を指定します。

nflags
スキップする子ウィンドウを指定します。 このパラメーターには、次の値を組み合わせて指定できます。

説明
CWP_ALL 子ウィンドウをスキップしない
CWP_SKIPINVISIBLE 非表示の子ウィンドウをスキップする
CWP_SKIPDISABLED 無効になっている子ウィンドウをスキップする
CWP_SKIPTRANSPARENT 透過的な子ウィンドウをスキップする

戻り値

ポイントを含む子ウィンドウを識別します。 指定された NULL ポイントがクライアント領域の外側にある場合は です。 ポイントがクライアント領域内にあるが、どの子ウィンドウにも含まれている場合は CWnd 、 が返されます。

このメンバー関数は、指定したポイントを含む非表示または無効の子ウィンドウを返します。

指定されたポイントが複数のウィンドウに含まれる場合があります。 ただし、この関数は、ポイントを含む最初に検出されたウィンドウの * CWnd のみを返します。

CWnd される * は一時的な場合があります。後で使用するために格納することはできません。

void CMyDlg::OnFindCenterChild() 
{
   CRect rect;
   GetClientRect(&rect);
   CWnd* pWnd = ChildWindowFromPoint(
      CPoint(rect.Width()/2, rect.Height()/2), 
      // Top left is always 0, 0.
      CWP_SKIPINVISIBLE);
   TRACE(_T("Center window is 0x%08x\n"), pWnd->m_hWnd);
}

CWnd::ClientToScreen

ディスプレイ上の指定された点または四角形のクライアント座標を画面座標に変換します。

void ClientToScreen(LPPOINT lpPoint) const;  void ClientToScreen(LPRECT lpRect) const;

パラメーター

lpPoint
変換する クライアントCPoint 座標を含む構造体またはオブジェクトをポイントします。

lpRect
変換する クライアントCRect 座標を含む構造体またはオブジェクトをポイントします。

注釈

メンバー関数は、 または 構造体のクライアント座標、または または によって指される オブジェクトまたは オブジェクトを使用して、新しい画面座標を計算します。次に、構造体内の座標を新しい座標に置き換える。 ClientToScreenPOINTRECTCPointCRectlpPointlpRect 新しい画面座標は、システム表示の左上隅を基準にしています。

メンバー ClientToScreen 関数は、指定された点または四角形がクライアント座標内にあると想定します。

// resize dialog to client's size
void CMyDlg::OnSizeToClient()
{
   CRect myRect;
   GetClientRect(&myRect);

   ClientToScreen(myRect);
   MoveWindow(myRect.left, myRect.top,
              myRect.Width(), myRect.Height());
}

CWnd::CloseWindow

ウィンドウを最小化します。

void CloseWindow();

注釈

このメンバー関数は、 関数の機能をエミュレートします 。詳細については、「Windows CloseWindow SDK」を参照してください。

CWnd::ContinueModal

このメンバー関数は、 によって呼び出され、モーダル状態を RunModalLoop 終了する必要がある場合を決定します。

virtual BOOL ContinueModal();

戻り値

モーダル ループを継続する場合は 0 以外。が呼び出 EndModalLoop された場合は 0。

注釈

既定では、 が呼び出されるまで 0 EndModalLoop 以外の値が返されます。

CWnd::Create

指定した子ウィンドウを作成し、 オブジェクトにアタッチ CWnd します。

virtual BOOL Create(
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    Const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    CCreateContext* pContext = NULL);

パラメーター

lpszClassName
[in]登録されているシステム ウィンドウ クラスの名前を含む null 終端文字列へのポインター。または、定義済みのシステム ウィンドウ クラスの名前。

lpszWindowName
[in]ウィンドウの表示名を含む null 終端文字列へのポインター。それ以外の NULL 場合は、ウィンドウ表示名はありません。

dwStyle
[in]ウィンドウ スタイル のビット値の組み 合わせ(OR)。 オプション WS_POPUP は有効なスタイルではありません。

rect
[in]親ウィンドウの左上隅を基準にしたウィンドウのサイズと位置。

pParentWnd
[in]親ウィンドウへのポインター。

nID
[in]ウィンドウの ID。

pContext
[in]アプリケーションの CCreateContext ドキュメント ビュー アーキテクチャをカスタマイズするために使用される 構造体へのポインター。

戻り値

TRUE メソッドが成功した場合は 。それ以外の場合 FALSE は 。

注釈

警告

CWnd::PreCreateWindowhMenuCREATESTRUCT メニューがで、 thisNULL スタイルにが含まれている場合は、パラメーターのメンバーをポインターに割り当て WS_CHILD ます。 適切な機能を使用するには、ダイアログコントロールの ID がではないことを確認してください NULL

この変更により、マネージ/ネイティブの相互運用シナリオでのクラッシュが修正されます。 の TRACE ステートメントは、 CWnd::Create 問題の開発者に通知します。

AfxRegisterWndClassウィンドウクラスを登録するには、関数を使用します。 ユーザー定義ウィンドウクラスは、登録されているモジュールで使用できます。

メソッド CWnd::OnCreate は、メソッドが返される前 Create 、およびウィンドウが表示される前に呼び出されます。

// Dynamically create static control using CWnd::Create,
// instead of with CStatic::Create, which doesn't
// need the "STATIC" class name.
void CMyDlg::OnCreateStatic() 
{
   // m_pWndStatic is a CWnd* member of CMyDlg
   m_pWndStatic = new CWnd;
   m_pWndStatic->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE,
       CRect(0, 0, 20, 20), this, 1234);
}

CWnd::CreateAccessibleProxy

指定されたオブジェクトの Active Accessibility プロキシを作成します。

virtual HRESULT CreateAccessibleProxy(
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

パラメーター

wParam
Active Accessibility プロキシによってアクセスされるオブジェクトを識別します。 次のいずれかの値を指定できます。

説明
OBJID_CLIENT ウィンドウのクライアント領域を参照します。

lParam
追加のメッセージに依存する情報を提供します。

pResult
LRESULT結果コードを格納するへのポインター。

注釈

指定されたオブジェクトの Active Accessibility プロキシを作成します。

CWnd::CreateCaret

システムキャレットの新しい図形を作成し、キャレットの所有権を要求します。

void CreateCaret(CBitmap* pBitmap);

パラメーター

pBitmap
キャレットの形状を定義するビットマップを識別します。

注釈

ビットマップは、 CBitmap::CreateBitmap メンバー関数、 CreateDIBitmap Windows 関数、またはメンバー関数によって既に作成されている必要があり CBitmap::LoadBitmap ます。

CreateCaret カーソルを所有しているウィンドウに関係なく、前のキャレット図形がある場合は、それを自動的に破棄します。 作成されると、カレットは最初は非表示になります。 カレットを表示するには、 ShowCaret メンバー関数を呼び出す必要があります。

システムキャレットは共有リソースです。 CWnd 入力フォーカスがある場合、またはアクティブな場合にのみ、キャレットを作成する必要があります。 入力フォーカスを失ったり、非アクティブになったりする前に、カレットを破棄する必要があります。

// Changes the caret of the edit control in this dialog box
void CMyDlg::OnChangeCaret()
{
   m_pBitmapCaret = new CBitmap;
   m_pBitmapCaret->LoadBitmap(IDB_HAPPY_BITMAP);
   m_MyEdit.CreateCaret(m_pBitmapCaret);
   m_MyEdit.ShowCaret();
}

CWnd::CreateControl

このメンバー関数を使用して、MFC プログラムでオブジェクトによって表現される ActiveX コントロールを作成し CWnd ます。

BOOL CreateControl(
    LPCTSTR pszClass,
    LPCTSTR pszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

BOOL CreateControl(
    REFCLSID clsid,
    LPCTSTR pszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

BOOL CreateControl(
    REFCLSID clsid,
    LPCTSTR pszWindowName,
    DWORD dwStyle,
    const POINT* ppt,
    const SIZE* psize,
    CWnd* pParentWnd,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

パラメーター

pszClass
この文字列には、クラスの OLE "short name" () が含まれている場合があり ProgID ます。 たとえば、「 "CIRC3.Circ3Ctrl.1" 」のように入力します。 名前は、コントロールによって登録されている名前と同じである必要があります。 または、文字列に、中かっこで囲まれたの文字列形式を含めることもでき CLSID ます。 たとえば、「 "{9DBAFCCF-592F-101B-85CE-00608CEC297B}" 」のように入力します。 どちらの場合も、は CreateControl 文字列を対応するクラス ID に変換します。

pszWindowName
コントロールに表示されるテキストへのポインター。 コントロールのキャプションまたはテキストプロパティ (存在する場合) の値を設定します。 の場合 NULL 、コントロールのキャプションまたはテキストプロパティは変更されません。

dwStyle
Windows スタイル。 使用可能なスタイルについては、「解説」を参照してください。

rect
コントロールのサイズと位置を指定します。 CRectオブジェクトまたはCRectのいずれかを指定できます。

ppt
コントロールの左上隅を含む 構造体またはオブジェクトを指し CPoint ます。

pSize
SIZECSize コントロールのサイズを格納している構造体またはオブジェクトを指します。

*pParentWnd*
コントロールの親ウィンドウを指定します。 にすることはできません NULL

nID
コントロールの ID を指定します。

pPersist
コントロールの永続的な状態を格納しているへのポインター CFile 。 既定値は NULL で、永続的なストレージから状態を復元せずに、コントロール自体を初期化することを示します。 そうでない場合は NULLCFile ストリームまたはストレージの形式で、コントロールの永続データを含むから派生したオブジェクトへのポインターにする必要があります。 このデータは、クライアントの以前のアクティブ化で保存されている可能性があります。 CFileには他のデータを含めることができますが、の呼び出し時には、読み取り/書き込みポインターを永続データの最初のバイトに設定する必要があり CreateControl ます。

bStorage
内のデータを pPersist またはデータとして解釈するかどうかを示し IStorageIStream ます。 のデータ pPersist がストレージの場合、はである bStorage 必要があり TRUE ます。 のデータ pPersist がストリームの場合、はである bStorage 必要があり FALSE ます。 既定値は FALSE です。

bstrLicKey
オプションのライセンスキーデータ。 このデータは、実行時ライセンスキーを必要とするコントロールを作成する場合にのみ必要です。 コントロールがライセンスをサポートしている場合は、コントロールの作成を成功させるためのライセンスキーを指定する必要があります。 既定値は NULL です。

clsid
コントロールの一意のクラス ID。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

注釈

CreateControl は、関数の直接アナログで CWnd::Create あり、のウィンドウを作成し CWnd ます。 CreateControl通常のウィンドウではなく、ActiveX コントロールを作成します。

では、次の Windows フラグのサブセットのみ dwStyle がサポートされてい CreateControl ます。

  • WS_VISIBLE 最初に表示されるウィンドウを作成します。 通常のウィンドウのように、コントロールをすぐに表示する場合に必要です。

  • WS_DISABLED 最初は無効になっているウィンドウを作成します。 無効なウィンドウは、ユーザーから入力を受け取ることができません。 コントロールに Enabled プロパティがある場合は、を設定できます。

  • WS_BORDER 細い境界線を持つウィンドウを作成します。 コントロールにプロパティがある場合は、を設定でき BorderStyle ます。

  • WS_GROUP コントロールグループの最初のコントロールを指定します。 ユーザーは、方向キーを使用して、グループ内の1つのコントロールから次のコントロールにキーボードフォーカスを変更できます。 最初のコントロールの後にスタイルを使用して定義されたすべてのコントロールが WS_GROUP 、同じグループに属しています。 スタイルが指定された次のコントロールは、 WS_GROUP グループを終了し、次のグループを開始します。

  • WS_TABSTOP ユーザーが TAB キーを押したときにキーボードフォーカスを受け取ることができるコントロールを指定します。 TAB キーを押すと、キーボードフォーカスがスタイルの次のコントロールに変わり WS_TABSTOP ます。

class CGenocx : public CWnd
{
protected:
   DECLARE_DYNCREATE(CGenocx)
public:
   CLSID const &GetClsid()
   {
      static CLSID const clsid = {0x20DD1B9E, 0x87C4, 0x11D1, {0x8B, 0xE3, 0x0, 0x0, 0xF8, 0x75, 0x4D, 0xA1}};
      return clsid;
   }

   // This code is generated by the Control Wizard.
   // It wraps the call to CreateControl in the call to Create.
   virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle,
                       const RECT &rect, CWnd *pParentWnd, UINT nID,
                       CCreateContext *pContext = NULL)
   {
      UNREFERENCED_PARAMETER(pContext);
      UNREFERENCED_PARAMETER(lpszClassName);

      return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID);
   }

   // remainder of class declaration omitted...

CWnd::CreateEx

指定されたウィンドウを作成し、オブジェクトにアタッチし CWnd ます。

virtual BOOL CreateEx(
    DWORD dwExStyle,
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    int x,
    int y,
    int nWidth,
    int nHeight,
    HWND hWndParent,
    HMENU nIDorHMenu,
    LPVOID lpParam = NULL);

virtual BOOL CreateEx(
    DWORD dwExStyle,
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    LPVOID lpParam = NULL);

パラメーター

dwExStyle
拡張ウィンドウスタイルのビットごとの組み合わせ (または)。それ以外の場合は 、既定の拡張ウィンドウスタイル。

lpszClassName
登録されているシステムウィンドウクラスの名前を含む null で終わる文字列へのポインター。または、定義済みのシステムウィンドウクラスの名前。

lpszWindowName
ウィンドウの表示名を含む null で終わる文字列へのポインターです。それ以外の場合は NULL 、ウィンドウの表示名がありません。

dwStyle
ウィンドウスタイルのビットごとの組み合わせ (or)。それ以外の場合は 、既定のウィンドウスタイルになります。

x
画面の左側または親ウィンドウからのウィンドウの初期の水平方向の距離。

y
画面上または親ウィンドウからウィンドウまでの初期の垂直方向の距離。

nWidth
ウィンドウの幅 (ピクセル単位)。

nHeight
ウィンドウの高さ (ピクセル単位)。

hwndParent
子ウィンドウの場合は、親ウィンドウへのハンドル。それ以外の場合、ウィンドウに所有者が存在する場合は、オーナーウィンドウのハンドル。

nIDorHMenu
子ウィンドウの場合、ウィンドウ ID はです。それ以外の場合は、ウィンドウのメニューの ID。

lpParam
フィールドのメソッドに渡されるユーザーデータへのポインター CWnd::OnCreatelpCreateParams

rect
画面または親ウィンドウを基準にしたウィンドウのサイズと位置。

pParentWnd
子ウィンドウの場合は、親ウィンドウへのポインター。それ以外の場合は、ウィンドウに所有者がある場合は、所有者ウィンドウへのポインター。

nID
子ウィンドウの場合、ウィンドウ ID。それ以外の場合は、ウィンドウのメニューの ID。

戻り値

TRUE メソッドが成功した場合は 。それ以外の場合 FALSE は 。

注釈

警告

CWnd::PreCreateWindow メニューが で、スタイルに が含まれている場合は、パラメーターのメンバーがポインター hMenuCREATESTRUCTthisNULL に割り当てされます WS_CHILD 。 適切な機能を得る場合は、ダイアログ コントロールに ではない ID が設定されている必要があります NULL

この変更により、マネージド/ネイティブ相互運用シナリオでのクラッシュが修正されます。 の TRACE ステートメントは CWnd::Create 、問題の開発者に警告します。

既定の拡張ウィンドウ スタイルは です WS_EX_LEFT 。 既定のウィンドウ スタイルは です WS_OVERLAPPED

関数を使用 AfxRegisterWndClass して、ウィンドウ クラスを登録します。 ユーザー定義ウィンドウ クラスは、登録されているモジュールで使用できます。

子ウィンドウのディメンションは、親ウィンドウのクライアント領域の左上隅を基準にしています。 上部のウィンドウのディメンションは、画面の左上隅を基準にしています。

メソッド CWnd::OnCreate が戻る前、および CreateEx ウィンドウが表示される前に、 メソッドが呼び出されます。

void CMyDlg::OnCreateExtendedControl() 
{
   // m_pWndStaticEx is a CWnd* member of CMyDlg
   m_pWndStaticEx = new CStatic;
   m_pWndStaticEx->CreateEx(WS_EX_CLIENTEDGE, // Make a client edge label.
      _T("STATIC"), _T("Hi"),
      WS_CHILD | WS_TABSTOP | WS_VISIBLE,
      5, 5, 30, 30, m_hWnd, (HMENU)2345);
}

CWnd::CreateGrayCaret

システム キャレットの灰色の四角形を作成し、キャレットの所有権を要求します。

void CreateGrayCaret(
    int nWidth,
    int nHeight);

パラメーター

nWidth
キャレットの幅を (論理単位で) 指定します。 このパラメーターが 0 の場合、幅はシステム定義のウィンドウ境界線の幅に設定されます。

nHeight
キャレットの高さを (論理単位で) 指定します。 このパラメーターが 0 の場合、高さはシステム定義のウィンドウ境界線の高さに設定されます。

注釈

キャレットシェイプには、線またはブロックを指定できます。

パラメーターと は、キャレットの幅と高さを (論理単位で) 指定します。正確な幅と高さ (ピクセル単位) はマッピング モード nWidthnHeight によって異なっています。

システムのウィンドウ境界線の幅または高さは、 および インデックスを持つ Windows関数 GetSystemMetricsSM_CXBORDER によって SM_CYBORDER 取得できます。 ウィンドウの境界線の幅または高さを使用すると、キャレットが高解像度のディスプレイに表示されます。

メンバー関数は、どのウィンドウがキャレットを所有している場合でも、前のキャレットシェイプを自動的 CreateGrayCaret に破棄します。 作成されると、キャレットは最初は非表示になります。 キャレットを表示するには、 ShowCaret メンバー関数を呼び出す必要があります。

システム キャレットは共有リソースです。 CWnd は、入力フォーカスがある場合、またはアクティブな場合にのみキャレットを作成する必要があります。 入力フォーカスが失われるか非アクティブになる前に、キャレットを破棄する必要があります。

// Create a 5x10 gray caret in the edit control.
void CMyDlg::OnCreateGrayCaret()
{
   m_MyEdit.CreateGrayCaret(5, 10);
   m_MyEdit.ShowCaret();
}

CWnd::CreateSolidCaret

システム キャレットのソリッド四角形を作成し、キャレットの所有権を要求します。

void CreateSolidCaret(
    int nWidth,
    int nHeight);

パラメーター

nWidth
キャレットの幅を (論理単位で) 指定します。 このパラメーターが 0 の場合、幅はシステム定義のウィンドウ境界線の幅に設定されます。

nHeight
キャレットの高さを (論理単位で) 指定します。 このパラメーターが 0 の場合、高さはシステム定義のウィンドウ境界線の高さに設定されます。

注釈

キャレットシェイプには、線またはブロックを指定できます。

パラメーターと は、キャレットの幅と高さを (論理単位で) 指定します。正確な幅と高さ (ピクセル単位) はマッピング モード nWidthnHeight によって異なっています。

システムのウィンドウ境界線の幅または高さは、 および インデックスを持つ Windows関数 GetSystemMetricsSM_CXBORDER によって SM_CYBORDER 取得できます。 ウィンドウの境界線の幅または高さを使用すると、キャレットが高解像度のディスプレイに表示されます。

メンバー関数は、どのウィンドウがキャレットを所有している場合でも、前のキャレットシェイプを自動的 CreateSolidCaret に破棄します。 作成されると、キャレットは最初は非表示になります。 キャレットを表示するには、 ShowCaret メンバー関数を呼び出す必要があります。

システム キャレットは共有リソースです。 CWnd は、入力フォーカスがある場合、またはアクティブな場合にのみキャレットを作成する必要があります。 入力フォーカスが失われるか非アクティブになる前に、キャレットを破棄する必要があります。

// Create a 5x10 solid caret in the edit control.
void CMyDlg::OnCreateSolidCaret()
{
   m_MyEdit.CreateSolidCaret(5, 10);
   m_MyEdit.ShowCaret();
}

CWnd::CWnd

CWnd オブジェクトを構築します。

CWnd();

注釈

または Windowsが呼び出されるまで、このウィンドウは作成および CreateExCreate アタッチされません。

CWnd::Default

既定のウィンドウ プロシージャを呼び出します。

LRESULT Default();

戻り値

送信されたメッセージによって異なります。

注釈

既定のウィンドウ プロシージャは、アプリケーションが処理しないウィンドウ メッセージに対して既定の処理を提供します。 このメンバー関数により、すべてのメッセージが確実に処理されます。

// This sample shows how to avoid any button handling in base class,
// if any, and call the default window procedure directly.
void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
   UNREFERENCED_PARAMETER(nFlags);
   UNREFERENCED_PARAMETER(point);

   CWnd::Default();
}

CWnd::DefWindowProc

アプリケーションが処理しないウィンドウ メッセージの既定の処理を提供する既定のウィンドウ プロシージャを呼び出します。

virtual LRESULT DefWindowProc(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

パラメーター

message
処理するWindowsメッセージを指定します。

wParam
追加のメッセージ依存情報を指定します。

lParam
追加のメッセージ依存情報を指定します。

戻り値

送信されたメッセージによって異なります。

注釈

このメンバー関数により、すべてのメッセージが確実に処理されます。 ウィンドウ プロシージャで受け取ったパラメーターと同じパラメーターを使用して呼び出す必要があります。

CWnd::DeleteTempMap

オブジェクトのアイドル時間ハンドラーによって自動的に呼び出 CWinApp されます。

static void PASCAL DeleteTempMap();

注釈

メンバー関数によって作成 CWnd された一時オブジェクトを FromHandle 削除します。

// DeleteTempMap() is a static member and does not need 
// to be called within the scope of an instantiated CWnd object.
CWnd::DeleteTempMap();

CWnd::DestroyWindow

オブジェクトにWindowsウィンドウを破棄 CWnd します。

virtual BOOL DestroyWindow();

戻り値

ウィンドウが破棄された場合は 0 以外。それ以外の場合は 0。

注釈

メンバー DestroyWindow 関数は、ウィンドウに適切なメッセージを送信して非アクティブ化し、入力フォーカスを削除します。 また、ウィンドウのメニューが破棄され、アプリケーション キューがフラッシュされ、未処理のタイマーが破棄され、クリップボードの所有権が削除され、ビューアー チェーンの上部にある場合はクリップボード ビューアー チェーンが壊れます。 CWnd ウィンドウに WM_DESTROY メッセージ WM_NCDESTROY と メッセージを送信します。 オブジェクトは破棄 CWnd されない。

DestroyWindow は、クリーンアップを実行するための場所の所有者です。 は DestroyWindow 仮想関数なので、 の任意の CWnd 派生クラスに表示クラス ビュー。 ただし、派生クラスでこの関数をオーバーライドした CWnd 場合でも、 DestroyWindow が必ずしも呼び出されるとは限りません。 が MFC コードで呼び出されていない場合は、呼び出す場合は、独自のコードで明示的に呼び DestroyWindow 出す必要があります。

たとえば、派生クラスでオーバーライド DestroyWindowCView されたとします。 MFC のソース コードでは、その派生クラスでは が呼び出されないので、明示的に呼び出さない限り、オーバーライドされた は DestroyWindowCFrameWndDestroyWindow 呼び出されません。

ウィンドウが任意のウィンドウの親である場合、親ウィンドウが破棄されると、これらの子ウィンドウは自動的に破棄されます。 メンバー DestroyWindow 関数は、最初に子ウィンドウを破棄し、次にウィンドウ自体を破棄します。

メンバー DestroyWindow 関数は、 によって作成されたモードレス ダイアログ ボックスも破棄します CDialog::Create

破棄される が子ウィンドウであり、スタイルが設定されていない場合、メッセージは CWndWS_EX_NOPARENTNOTIFYWM_PARENTNOTIFY 親に送信されます。

// CModeless is a CDialog class representing a modeless dialog
// Destruction of the modeless dialog involves calling DestroyWindow in 
// OnOK() & OnCancel() handlers
void CModeless::OnOK() 
{ 
   if (!UpdateData(TRUE)) 
   {
      TRACE(_T("UpdateData failed during dialog termination\n"));
      // The UpdateData routine will set focus to correct item
      return;
   }
   DestroyWindow();
}

void CModeless::OnCancel()
{
   DestroyWindow();
}

CWnd::Detach

CWnd オブジェクトから Windows のハンドルを切り離し、そのハンドルを返します。

HWND Detach();

戻り値

HWNDWindows オブジェクトへの。

の例を参照してください CWnd::Attach

CWnd::DlgDirList

リスト ボックスにファイル リストまたはディレクトリ リストを設定します。

int DlgDirList(
    LPTSTR lpPathSpec,
    int nIDListBox,
    int nIDStaticPath,
    UINT nFileType);

パラメーター

lpPathSpec
パスまたはファイル名を含む null で終わる文字列を指します。 DlgDirList この文字列を変更します。変更内容を格納するのに十分な長さにする必要があります。 詳細については、次の「解説」セクションを参照してください。

nIDListBox
リストボックスの識別子を指定します。 nIDListBoxが0の場合、はリストボックスが存在しないことを前提としてい DlgDirList ます。

nIDStaticPath
現在のドライブとディレクトリを表示するために使用する静的テキストコントロールの識別子を指定します。 nIDStaticPathが0の場合、は DlgDirList そのようなテキストコントロールが存在しないことを前提としています。

nFileType
表示するファイルの属性を指定します。 次の値の任意の組み合わせを指定できます。

  • DDL_READWRITE 追加の属性を持たない読み取り/書き込みデータファイル。

  • DDL_READONLY 読み取り専用ファイル。

  • DDL_HIDDEN 隠しファイル。

  • DDL_SYSTEM システムファイル。

  • DDL_DIRECTORY ディレクトリ.

  • DDL_ARCHIVE アーカイブ.

  • DDL_POSTMSGSLB_DIR 誤り. LB_DIRフラグが設定されている場合、Windows によって生成されるメッセージは DlgDirList アプリケーションのキューに格納されます。それ以外の場合は、ダイアログボックスのプロシージャに直接送信されます。

  • DDL_DRIVES 促進. フラグが設定されている場合、 DDL_DRIVESDDL_EXCLUSIVE フラグは自動的に設定されます。 したがって、ドライブとファイルを含むディレクトリリストを作成するには、を2回呼び出す必要があります。1回はフラグを設定し、もう1つは DlgDirListDDL_DRIVES リストの残りの部分にフラグを設定します。

  • DDL_EXCLUSIVE 排他的ビット。 排他的ビットが設定されている場合は、指定された種類のファイルのみが表示されます。それ以外の場合は、指定された種類の通常のファイルとファイルが一覧表示されます。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

注釈

DlgDirListLB_RESETCONTENTメッセージと LB_DIR メッセージをリストボックスに送信します。 で指定されたリストボックスに、によって指定された nIDListBox パスに一致するすべてのファイルの名前を入力し lpPathSpec ます。

lpPathSpecパラメーターの形式は次のとおりです。

[drive:] [ [\u]directory[\idirectory]...\u] [filename]

この例で drive は、はドライブ文字、 directory は有効なディレクトリ名、は filename 有効なファイル名であり、少なくとも1つのワイルドカードを含める必要があります。 ワイルドカードは疑問符 (?) です。これは任意の文字と一致することを意味し、アスタリスク ( ) は任意の数の文字に一致します。

に長さ0の文字列を指定した場合、 lpPathSpec またはディレクトリ名だけを指定し、ファイルの指定を含まない場合、文字列は "*.*" に変更されます。

lpPathSpec ドライブ名またはディレクトリ名が含まれている場合は、リストボックスがいっぱいになる前に、現在のドライブとディレクトリが指定されたドライブおよびディレクトリに変更されます。 で識別されるテキストコントロール nIDStaticPath も、新しいドライブまたはディレクトリ名で更新されます。

リストボックスがいっぱいに lpPathSpec なると、パスのドライブやディレクトリの部分を削除することでが更新されます。

// If pDialog points to a CDialog object with a list box
// with the identifier IDC_DIRLIST, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR path[MAX_PATH];
_tcscpy_s(path, MAX_PATH, _T("C:\\"));

pDialog->DlgDirList(path, IDC_DIRLIST, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);

CWnd::DlgDirListComboBox

コンボ ボックスにファイル リストまたはディレクトリ リストを設定します。

int DlgDirListComboBox(
    LPTSTR lpPathSpec,
    int nIDComboBox,
    int nIDStaticPath,
    UINT nFileType);

パラメーター

lpPathSpec
パスまたはファイル名を含む null で終わる文字列を指します。 DlgDirListComboBox この文字列を変更します。このため、このデータを文字列リテラルの形式にすることはできません。 次の「解説」セクションを参照してください。

nIDComboBox
ダイアログボックス内のコンボボックスの識別子を指定します。 nIDComboBoxが0の場合、はコンボボックスが存在しないことを前提としてい DlgDirListComboBox ます。

nIDStaticPath
現在のドライブとディレクトリを表示するために使用する静的テキストコントロールの識別子を指定します。 nIDStaticPathが0の場合、は DlgDirListComboBox そのようなテキストコントロールが存在しないことを前提としています。

nFileType
表示するファイルの DOS ファイルの属性を指定します。 次の値の任意の組み合わせを指定できます。

  • DDL_READWRITE 追加の属性を持たない読み取り/書き込みデータファイル。

  • DDL_READONLY 読み取り専用ファイル。

  • DDL_HIDDEN 隠しファイル。

  • DDL_SYSTEM システムファイル。

  • DDL_DIRECTORY ディレクトリ.

  • DDL_ARCHIVE アーカイブ.

  • DDL_POSTMSGSCB_DIR 誤り. CB_DIRフラグが設定されている場合、Windows によって生成されるメッセージは DlgDirListComboBox アプリケーションのキューに格納されます。それ以外の場合は、ダイアログボックスのプロシージャに直接送信されます。

  • DDL_DRIVES 促進. フラグが設定されている場合、 DDL_DRIVESDDL_EXCLUSIVE フラグは自動的に設定されます。 したがって、ドライブとファイルを含むディレクトリリストを作成するには、を2回呼び出す必要があります。1回はフラグを設定し、もう1つは DlgDirListComboBoxDDL_DRIVES リストの残りの部分にフラグを設定します。

  • DDL_EXCLUSIVE 排他的ビット。 排他的ビットが設定されている場合は、指定された種類のファイルのみが表示されます。それ以外の場合は、指定された種類の通常のファイルとファイルが一覧表示されます。

戻り値

関数の結果を指定します。 リストが作成された場合は、空のリスティングでも0以外になります。 0の戻り値は、入力文字列に有効な検索パスが含まれていないことを意味します。

注釈

DlgDirListComboBoxCB_RESETCONTENTCB_DIR メッセージをコンボボックスに送信します。 で指定されたコンボボックスのリストボックスに、によって指定された nIDComboBox パスに一致するすべてのファイルの名前を入力し lpPathSpec ます。

lpPathSpecパラメーターの形式は次のとおりです。

[drive:] [ [\u]directory[\idirectory]...\u] [filename]

この例で drive は、はドライブ文字、 directory は有効なディレクトリ名、は filename 有効なファイル名であり、少なくとも1つのワイルドカードを含める必要があります。 ワイルドカードは疑問符 (?) です。これは任意の文字と一致することを意味し、アスタリスク ( ) は任意の数の文字と一致することを意味します。

に長さ0の文字列を指定する lpPathSpec と、現在のディレクトリが使用され、 lpPathSpec 変更されません。 ディレクトリ名だけを指定し、ファイルの指定を含めない場合、文字列は "*" に変更されます。

lpPathSpec ドライブ名またはディレクトリ名が含まれている場合は、リストボックスがいっぱいになる前に、現在のドライブとディレクトリが指定されたドライブおよびディレクトリに変更されます。 で識別されるテキストコントロール nIDStaticPath も、新しいドライブまたはディレクトリ名で更新されます。

コンボボックスのリストボックスがいっぱいになると、 lpPathSpec パスのドライブやディレクトリの部分を削除することでが更新されます。

// If pDialog points to a CDialog object with a combo box
// with the identifier IDC_DIRCOMBO, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.

TCHAR szPath[MAX_PATH];
_tcsncpy_s(szPath, MAX_PATH, _T("C:\\"), MAX_PATH);
pDialog->DlgDirListComboBox(szPath, IDC_DIRCOMBO, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);

// Note that the first argument is a string and not a string
// literal. This is necessary because DlgDirListComboBox
// modifies the supplied string. Passing a string literal
// will result in an access violation.

CWnd::DlgDirSelect

リスト ボックスから現在の選択を取得します。

BOOL DlgDirSelect(
    LPTSTR lpString,
    int nIDListBox);

パラメーター

lpString
リストボックス内の現在の選択範囲を受け取るバッファーを指します。

nIDListBox
ダイアログボックスのリストボックスの整数 ID を指定します。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

注釈

リストボックスがメンバー関数によって入力されていること DlgDirList と、選択がドライブ文字、ファイル、またはディレクトリ名であることを前提としています。

この DlgDirSelect メンバー関数は、によって指定されたバッファーに選択範囲をコピーし lpString ます。 選択されていない場合、 lpString は変更されません。

DlgDirSelectLB_GETCURSELメッセージと LB_GETTEXT メッセージをリストボックスに送信します。

リストボックスから複数のファイル名を返すことはできません。 リストボックスを複数選択リストボックスにすることはできません。

CWnd::DlgDirSelectComboBox

コンボ ボックスから現在の選択を取得します。

BOOL DlgDirSelectComboBox(
    LPTSTR lpString,
    int nIDComboBox);

パラメーター

lpString
選択されたパスを受け取るバッファーを指します。

nIDComboBox
ダイアログボックス内のコンボボックスの整数 ID を指定します。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

注釈

リスト ボックスがメンバー関数によって入力され、選択内容がドライブ文字、ファイル、またはディレクトリ名 DlgDirListComboBox である必要があります。

メンバー DlgDirSelectComboBox 関数は、選択内容を指定したバッファーにコピーします。 選択がない場合、バッファーの内容は変更されません。

DlgDirSelectComboBoxCB_GETCURSELCB_GETLBTEXT コンボ ボックスに メッセージと メッセージを送信します。

コンボ ボックスから複数のファイル名を返すのは許可されません。

CWnd::DoDataExchange

ダイアログ データの交換と検証を行うフレームワークによって呼び出されます。

virtual void DoDataExchange(CDataExchange* pDX);

パラメーター

pDX
CDataExchange オブジェクトを指すポインターです。

注釈

この関数を直接呼び出さない。 メンバー関数によって呼び UpdateData 出されます。 を UpdateData 呼び出して、ダイアログ ボックスのコントロールを初期化するか、ダイアログ ボックスからデータを取得します。

からアプリケーション固有のダイアログ クラスを派生させる場合、フレームワークの自動データ交換と検証を利用する場合は、このメンバー関数をオーバーライド CDialog する必要があります。 変数の追加ウィザードでは、ダイアログ データ交換 (DDX) と検証 (DDV) グローバル関数呼び出しの目的の "データ マップ" を含む、このメンバー関数のオーバーライドされたバージョンが作成されます。

このメンバー関数のオーバーライドされたバージョンを自動的に生成するには、まずダイアログ エディターを使用してダイアログ リソースを作成し、次にアプリケーション固有のダイアログ クラスを派生します。 次に、変数の追加ウィザードを使用して、新しいダイアログ ボックスで変数、データ、検証範囲をさまざまなコントロールに関連付ける。 次に、データ マップを含むオーバーライド DoDataExchange された が書き込まれる。 変数の追加ウィザードによって生成される DDX/DDVコード ブロックの例を次に示します。

void CPenWidthsDlg::DoDataExchange(CDataExchange *pDX)
{
   CDialog::DoDataExchange(pDX);
   DDX_Text(pDX, IDC_THINPENWIDTH, m_nThinWidth);
   DDV_MinMaxInt(pDX, m_nThinWidth, 1, 20);
   DDX_Text(pDX, IDC_THICKPENWIDTH, m_nThickWidth);
   DDV_MinMaxInt(pDX, m_nThickWidth, 1, 20);
}

オーバーライド DoDataExchange されたメンバー関数は、ソース ファイル内のマクロ ステートメントの前に記述する必要があります。

ダイアログ データの交換と検証の詳細については、「フォームでのデータの表示と操作」および「ダイアログ データ の表示と操作」および「検証Exchange参照してください。 変数の追加ウィザードによってDDX_およびDDV_マクロの説明については、テクニカル ノート 26 を参照してください

CWnd::DragAcceptFiles

アプリケーションの関数でポインターを使用して、ウィンドウ内からこのメンバー関数を呼び出して、ウィンドウが Windows File Manager または エクスプローラー から削除されたファイルを受け入れるかどうかを CWndCWinApp::InitInstance 示します。

void DragAcceptFiles(BOOL bAccept = TRUE);

パラメーター

BAccept
ドラッグしたファイルを受け入れるかどうかを示すフラグ。

注釈

パラメーターを に設定して を呼び出すウィンドウだけが、メッセージ を処理できると DragAcceptFilesbAcceptTRUE Windowsしました WM_DROPFILES 。 たとえば、MDI アプリケーションでは、関数呼び出しでウィンドウ ポインターが使用されている場合、ウィンドウ CMDIFrameWndDragAcceptFilesCMDIFrameWnd だけがメッセージを取得 WM_DROPFILES します。 このメッセージは、開いているすべてのウィンドウに送信 CMDIChildWnd されるのではない。 ウィンドウで CMDIChildWnd このメッセージを受信するには、ウィンドウ ポインターを使用して DragAcceptFiles を呼び CMDIChildWnd 出す必要があります。

ドラッグしたファイルの受信を中止するには、 を に設定してメンバー関数 bAccept を呼び出します FALSE

CWnd::DragDetect

マウスをキャプチャし、ユーザーが左ボタンを離すか、Esc キーを押すか、または指定した点を中心にしたドラッグ四角形の外にマウスを移動するまで、移動を追跡します。

BOOL DragDetect(POINT pt) const;

パラメーター

pt
マウスの初期位置 (画面座標)。 関数は、この点を使用して、ドラッグ四角形の座標を決定します。

戻り値

ユーザーが左ボタンを押しながらドラッグ四角形の外側にマウスを移動した場合、戻り値は 0 以外になります。

ユーザーが左ボタンを押しながらドラッグ四角形の外側にマウスを移動しなかった場合、戻り値は 0 になります。

注釈

このメンバー関数は、 関数の機能をエミュレートします 。詳細については、「Windows DragDetect SDK」を参照してください。

CWnd::DrawAnimatedRects

アイコンを開く動作や、ウィンドウの最小化または最大化の動作を、ワイヤ フレームの四角形のアニメーションで表します。

BOOL DrawAnimatedRects(
    int idAni,
    CONST RECT* lprcFrom,
    CONST RECT* lprcTo);

パラメーター

idAni
アニメーションの種類を指定します。 を指定した場合、ウィンドウ キャプションは、 で指定された位置から で指定 IDANI_CAPTIONlprcFrom された位置までアニメーション化されます lprcTo 。 この効果は、ウィンドウの最小化または最大化に似ています。

lprcFrom
アイコンまたは RECT 最小化されたウィンドウの位置とサイズを指定する 構造体へのポインター。

lprcTo
復元されたウィンドウ RECT の場所とサイズを指定する 構造体へのポインター

戻り値

関数が正常終了した場合は 0 以外。それ以外の場合は 0。

注釈

このメンバー関数は、 関数の機能をエミュレートします 。詳細については、「Windows DrawAnimatedRects SDK」を参照してください。

CWnd::DrawCaption

ウィンドウ キャプションを描画します。

BOOL DrawCaption(
    CDC* pDC,
    LPCRECT lprc,
    UINT uFlags);

パラメーター

pDC
デバイス コンテキストへのポインター。 関数は、このデバイス コンテキストにウィンドウ キャプションを描画します。

lprc
ウィンドウ キャプションの RECT 外接する四角形を指定する 構造体へのポインター。

uFlags
描画オプションを指定します。 値の完全な一覧については、「」を参照してください DrawCaption

戻り値

関数が正常終了した場合は 0 以外。それ以外の場合は 0。

注釈

このメンバー関数は、 関数の機能をエミュレートします 。詳細については、「Windows DrawCaption SDK」を参照してください。

CWnd::DrawMenuBar

メニュー バーを再描画します。

void DrawMenuBar();

注釈

ウィンドウの作成後にメニュー バーがWindows場合は、この関数を呼び出して、変更されたメニュー バーを描画します。

の例を参照してください CWnd::GetMenu

CWnd::EnableActiveAccessibility

ユーザー定義の関数Active Accessibility有効にする。

void EnableActiveAccessibility();

注釈

MFC の既定の Active Accessibility サポートは、ActiveX コントロールを含む標準のウィンドウとコントロールで十分です。ただし、派生クラスにウィンドウ化されていないユーザー インターフェイス要素が含まれている場合、MFC にはそれらを知る方法はありません。 CWnd その場合は、クラスのメンバー関数Active Accessibilityをオーバーライドする必要があります。また、 クラスのコンストラクターで を呼び 出す必要があります。

CWnd::EnableDynamicLayout

動的レイアウト マネージャーを有効または無効にします。 動的レイアウトが有効な場合は、ユーザーがウィンドウのサイズを変更したときに、子ウィンドウの位置とサイズを動的に調整できます。

void EnableDynamicLayout(BOOL bEnable = TRUE);

パラメーター

bEnable
TRUE 動的レイアウトを有効にする場合は 。 FALSE 動的レイアウトを無効にする場合は 。

注釈

動的レイアウトを有効にする場合は、このメソッドを呼び出す以外にも必要な作業があります。 ウィンドウ内のコントロールがサイズ変更にどのように応答するかを指定する、動的レイアウト情報も提供する必要があります。 この情報は、コントロールごとに、リソース エディターで指定することも、プログラムで指定することもできます。 「 動的レイアウト」を参照してください

CWnd::EnableD2DSupport

ウィンドウの D2D のサポートを有効または無効にします。 このメソッドは、メイン ウィンドウが初期化される前に呼び出します。

void EnableD2DSupport(
    BOOL bEnable = TRUE,
    BOOL bUseDCRenderTarget = FALSE);

パラメーター

bEnable
ウィンドウの D2D のサポートをオンにするかオフにするかを指定します。

bUseDCRenderTarget
デバイス コンテキスト (DC) レンダー ターゲット を使用するかどうかを指定します CDCRenderTargetFALSE の場合、CHwndRenderTarget が使用されます。

CWnd::EnableScrollBar

スクロール バーの矢印の一方または両方を有効または無効にします。

BOOL EnableScrollBar(
    int nSBFlags,
    UINT nArrowFlags = ESB_ENABLE_BOTH);

パラメーター

nSBFlags
スクロール バーの種類を指定します。 次のいずれかの値になります。

  • SB_BOTH ウィンドウに関連付けられている水平スクロール バーと垂直スクロール バーの矢印を有効または無効にします。

  • SB_HORZ ウィンドウに関連付けられている水平スクロール バーの矢印を有効または無効にします。

  • SB_VERT ウィンドウに関連付けられている垂直スクロール バーの矢印を有効または無効にします。

nArrowFlags
スクロール バーの矢印を有効または無効にするか、どの矢印を有効または無効にするか指定します。 次のいずれかの値になります。

  • ESB_ENABLE_BOTH スクロール バーの両方の矢印を有効にする (既定値)。

  • ESB_DISABLE_LTUP 水平スクロール バーの左矢印または垂直スクロール バーの上矢印を無効にします。

  • ESB_DISABLE_RTDN 水平スクロール バーの右矢印または垂直スクロール バーの下矢印を無効にします。

  • ESB_DISABLE_BOTH スクロール バーの両方の矢印を無効にします。

戻り値

矢印が有効または無効になっている場合は、0 以外の値です。 それ以外の場合は0になります。これは、矢印が既に要求された状態であるか、またはエラーが発生したことを示します。

CWnd::EnableScrollBarCtrl

このウィンドウのスクロールバーを有効または無効にします。

void EnableScrollBarCtrl(
    int nBar,
    BOOL bEnable = TRUE);

パラメーター

nBar
スクロールバーの識別子。

bEnable
スクロールバーを有効にするか無効にするかを指定します。

注釈

ウィンドウに兄弟スクロールバーコントロールがある場合は、そのスクロールバーが使用されます。それ以外の場合は、ウィンドウの独自のスクロールバーが使用されます。

CWnd::EnableToolTips

指定されたウィンドウのツールヒントを有効にします。

BOOL EnableToolTips(BOOL bEnable = TRUE);

パラメーター

bEnable
ツールヒントコントロールを有効にするか無効にするかを指定します。 TRUE コントロールを有効にします。 FALSE コントロールを無効にします。

戻り値

TRUE ツールヒントが有効な場合は、それ以外の場合は FALSE

注釈

をオーバーライドして OnToolHitTestTOOLINFO 、ウィンドウの構造体または構造体を指定します。

注意

などの一部のウィンドウには、 CToolBar の組み込みの実装が用意さ OnToolHitTest れています。

TOOLINFOこの構造体の詳細については、Windows SDK の「」を参照してください。

EnableToolTips親ウィンドウがから派生している場合を除き、を呼び出すだけでは、子コントロールのツールヒントを表示するのに十分ではありません CFrameWnd 。 これは、によっ CFrameWnd て通知の既定のハンドラーが提供されるためです TTN_NEEDTEXT 。 親ウィンドウがから派生していない場合、 CFrameWnd つまり、ダイアログボックスまたはフォームビューである場合、ツールヒント通知のハンドラーを指定しない限り、子コントロールのツールヒントは正しく表示されません TTN_NEEDTEXT 。 「ツールヒント」を参照してください。

によってウィンドウに提供される既定のツールヒントには、 EnableToolTips テキストが関連付けられていません。 表示するツールヒントのテキストを取得するために、ツールヒント TTN_NEEDTEXT ウィンドウが表示される直前に、ツールヒントコントロールの親ウィンドウに通知が送信されます。 このメッセージに対して、構造体のメンバーになんらかの値を割り当てるためのハンドラーがない場合 pszTextTOOLTIPTEXT 、ツールヒントのテキストは表示されません。

// From message map for CMdiView, a CView-derived class
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, &CMdiView::OnToolTipNotify)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, &CMdiView::OnToolTipNotify)
void CMdiView::OnInitialUpdate()
{
   CView::OnInitialUpdate();

   m_Edit.Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
                 CRect(10, 10, 100, 100), this, IDC_TTEDIT);
   EnableToolTips(TRUE); // enable tool tips for view
}

//Notification handler
BOOL CMdiView::OnToolTipNotify(UINT id, NMHDR *pNMHDR, LRESULT *pResult)
{
   UNREFERENCED_PARAMETER(id);
   UNREFERENCED_PARAMETER(pResult);

   // need to handle both ANSI and UNICODE versions of the message
   TOOLTIPTEXTA *pTTTA = (TOOLTIPTEXTA*)pNMHDR;
   TOOLTIPTEXTW *pTTTW = (TOOLTIPTEXTW*)pNMHDR;
   CStringA strTipText;
   UINT_PTR nID = pNMHDR->idFrom;
   if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
       pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
   {
      // idFrom is actually the HWND of the tool
      nID = ::GetDlgCtrlID((HWND)nID);
   }

   if (nID != 0) // will be zero on a separator
      strTipText.Format("Control ID = %d", nID);

   if (pNMHDR->code == TTN_NEEDTEXTA)
   {
      strncpy_s(pTTTA->szText, sizeof(pTTTA->szText), strTipText,
                strTipText.GetLength() + 1);
   }
   else
   {
      ::MultiByteToWideChar(CP_ACP, 0, strTipText, strTipText.GetLength() + 1,
                            pTTTW->szText, sizeof(pTTTW->szText) / (sizeof pTTTW->szText[0]));
   }

   return TRUE; // message was handled
}

CWnd::EnableTrackingToolTips

追跡ツールヒントを有効または無効にします。

BOOL EnableTrackingToolTips(BOOL bEnable = TRUE);

パラメーター

bEnable
追跡ツールヒントを有効にするか無効にするかを指定します。 このパラメーターがの場合 TRUE 、追跡ツールのヒントが有効になります。 このパラメーターがの場合 FALSE 、追跡ツールのヒントは無効になります。

戻り値

メンバー関数が呼び出される前の状態を示し EnableWindow ます。 ウィンドウが以前に無効になっていた場合、戻り値は0以外になります。 ウィンドウが以前に有効になっていた場合、またはエラーが発生した場合、戻り値は0になります。

注釈

追跡ツールヒントは、画面上に動的に配置できるツールヒントウィンドウです。 位置を迅速に更新することで、ツールヒントウィンドウがスムーズに移動したり、"トラック" したりするように見えます。この機能は、移動時にポインターの位置をたどるためにツールヒントテキストが必要な場合に便利です。

CWnd::EnableWindow

マウス入力およびキーボード入力を有効または無効にします。

BOOL EnableWindow(BOOL bEnable = TRUE);

パラメーター

bEnable
指定されたウィンドウを有効にするか無効にするかを指定します。 このパラメーターがの場合は TRUE 、ウィンドウが有効になります。 このパラメーターがの場合 FALSE 、ウィンドウは無効になります。

戻り値

メンバー関数が呼び出される前の状態を示し EnableWindow ます。 ウィンドウが以前に無効になっていた場合、戻り値は0以外になります。 ウィンドウが以前に有効になっていた場合、またはエラーが発生した場合、戻り値は0になります。

注釈

入力が無効になっている場合、マウスのクリックやキーボード操作などの入力は無視されます。 入力が有効になっている場合、ウィンドウはすべての入力を処理します。

有効な状態が変更中の場合、 WM_ENABLE この関数が戻る前にメッセージが送信されます。

無効にした場合、すべての子ウィンドウは暗黙的に無効になりますが、メッセージは送信されません WM_ENABLE

アクティブにするには、ウィンドウを有効にする必要があります。 たとえば、アプリケーションでモードレスダイアログボックスが表示され、そのメインウィンドウが無効になっている場合、ダイアログボックスが破棄される前にメインウィンドウが有効になっている必要があります。 それ以外の場合は、別のウィンドウが入力フォーカスを取得し、アクティブ化されます。 子ウィンドウが無効になっている場合、Windows は、どのウィンドウがマウスメッセージを取得する必要があるかを判断しようとすると無視されます。

既定では、ウィンドウは作成時に有効になります。 アプリケーションでは、またはメンバー関数のスタイルを指定して、 WS_DISABLEDCreateCreateEx 最初は無効になっているウィンドウを作成できます。 ウィンドウが作成された後、アプリケーションはそのメンバー関数を使用して EnableWindow ウィンドウを有効または無効にすることもできます。

アプリケーションでは、この関数を使用して、ダイアログボックス内のコントロールを有効または無効にすることができます。 無効なコントロールは、入力フォーカスを受け取ることも、ユーザーがアクセスすることもできません。

//CMyFileDialog is a CFileDialog-derived class
//OnInitDialog is the handler for WM_INITDIALOG
BOOL CMyFileDialog::OnInitDialog()
{
   CFileDialog::OnInitDialog();

   CWnd *pWndParent = GetParent();

   //make sure you add #include <dlgs.h> for IDs 'edt1' & 'stc3'

   //disables the 'file name' edit and static control
   //of the standard file open dialog

   //get handle of 'file name' combobox control & disable it
   CWnd *pWnd = pWndParent->GetDlgItem(cmb13);
   pWnd->EnableWindow(FALSE);

   //get handle of 'file name' static control & disable it
   pWnd = pWndParent->GetDlgItem(stc3);
   pWnd->EnableWindow(FALSE);

   return TRUE;
}

CWnd::EndModalLoop

への呼び出しを終了 RunModalLoop します。

virtual void EndModalLoop(int nResult);

パラメーター

nResult
の呼び出し元に返される値を格納 RunModalLoop します。

注釈

nResultパラメーターは、からの戻り値に反映され RunModalLoop ます。

CWnd::EndModalState

フレーム ウィンドウをモーダルからモードレスに変更します。

virtual void EndModalState();

CWnd::EndPaint

指定されたウィンドウでの描画の終了をマークします。

void EndPaint(LPPAINTSTRUCT lpPaint);

パラメーター

lpPaint
PAINTSTRUCTメンバー関数によって取得された描画情報を格納する構造体を指し BeginPaint ます。

注釈

メンバー EndPaint 関数は、メンバー関数を呼び出すたびに必要ですが、 BeginPaint 描画が完了した後にのみ必要です。

キャレットがメンバー関数によって非表示にされている場合は BeginPaintEndPaint キャレットを画面に復元します。

の例を参照してください CWnd::BeginPaint

CWnd::ExecuteDlgInit

ダイアログ リソースを開始します。

BOOL ExecuteDlgInit(LPCTSTR lpszResourceName);
BOOL ExecuteDlgInit(LPVOID lpResource);

パラメーター

lpszResourceName
リソースの名前を指定する null で終わる文字列へのポインター。

lpResource
リソースへのポインター。

戻り値

TRUE ダイアログリソースが実行される場合は。それ以外の場合は FALSE

注釈

ExecuteDlgInit は、実行中のモジュールにバインドされたリソース、または他のソースからのリソースを使用します。 これを実現するために、はを ExecuteDlgInit 呼び出してリソースハンドルを検索し AfxFindResourceHandle ます。 MFC アプリケーションで共有 DLL (Mfcx0.dll [U] [D] .DLL) が使用されていない場合、はを AfxFindResourceHandle 呼び出し AfxGetResourceHandle ます。これにより、実行可能ファイルの現在のリソースハンドルが返されます。 Mfcx0.dll [U] [D] .DLL を使用する MFC アプリケーションが、 AfxFindResourceHandleCDynLinkLibrary 共有および MFC 拡張 dll のオブジェクトリストを走査して、正しいリソースハンドルを探している場合。

CWnd::FilterToolTipMessage

ツールヒントメッセージを表示するためにフレームワークによって呼び出されます。

void FilterToolTipMessage(MSG* pMsg);

パラメーター

pMsg
ツールヒントメッセージへのポインター。

注釈

ほとんどの MFC アプリケーションでは、このメソッドはとのフレームワークによって呼び出され、 PreTranslateMessageEnableToolTips 自分で呼び出す必要はありません。

ただし、一部の ActiveX コントロールなど、特定のアプリケーションでは、これらのメソッドがフレームワークによって呼び出されない場合があり、自分でを呼び出す必要があり FilterToolTipMessage ます。 詳細については、「ツールヒントの作成方法」を参照してください。

CWnd::FindWindow

ウィンドウ CWnd クラスがによって指定され、 lpszClassName ウィンドウ名 (title) がによって指定されている最上位レベルを返し lpszWindowName ます。

static CWnd* PASCAL FindWindow(
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName);

パラメーター

lpszClassName
ウィンドウのクラス名 (構造体) を指定する null で終わる文字列を指し WNDCLASS ます。 がの場合 lpClassNameNULL 、すべてのクラス名が一致します。

lpszWindowName
ウィンドウ名 (ウィンドウのタイトル) を指定する null で終わる文字列を指します。 がの場合 lpWindowNameNULL 、すべてのウィンドウ名が一致します。

戻り値

指定されたクラス名とウィンドウ名を持つウィンドウを識別します。 この NULL ようなウィンドウが見つからない場合はです。

CWnd* は一時的なものであり、後で使用するために格納することはできません。

注釈

この関数では、子ウィンドウは検索されません。

// activate an application with a window with a specific class name
BOOL CMyApp::FirstInstance()
{
   CWnd *pWndPrev, *pWndChild;

   // Determine if a window with the class name exists...
   pWndPrev = CWnd::FindWindow(_T("MyNewClass"), NULL);
   if (NULL != pWndPrev)
   {
      // If so, does it have any popups?
      pWndChild = pWndPrev->GetLastActivePopup();

      // If iconic, restore the main window
      if (pWndPrev->IsIconic())
         pWndPrev->ShowWindow(SW_RESTORE);

      // Bring the main window or its popup to the foreground
      pWndChild->SetForegroundWindow();

      // and you are done activating the other application
      return FALSE;
   }

   return TRUE;
}

CWnd::FindWindowEx

指定した文字列に一致するクラス名とウィンドウ名を持つウィンドウオブジェクトを取得します。

static CWnd* FindWindowEx(
    HWND hwndParent,
    HWND hwndChildAfter,
    LPCTSTR lpszClass,
    LPCTSTR lpszWindow);

パラメーター

hwndParent
子ウィンドウを検索する親ウィンドウへのハンドル。

hwndChildAfter
子ウィンドウへのハンドル。 検索は、Z オーダーで次の子ウィンドウから開始します。 子ウィンドウは、子孫ウィンドウだけでなく、の直接の子ウィンドウである必要があり hwndParent ます。

lpszClass
またはの以前の呼び出しで作成されたクラス名またはクラス atom を指定する、null で終わる文字列へのポインター RegisterClassRegisterClassEx

lpszWindow
ウィンドウ名 (ウィンドウのタイトル) を指定する null で終わる文字列へのポインター。 このパラメーターがの場合 NULL 、すべてのウィンドウ名が一致します。

戻り値

関数が成功した場合、戻り値は、指定されたクラスとウィンドウ名を持つウィンドウオブジェクトへのポインターになります。 関数が失敗した場合、戻り値はに NULL なります。

注釈

このメンバー関数は、 FindWindowEx Windows SDK で説明されているように、関数の機能をエミュレートします。

CWnd::FlashWindow

指定されたウィンドウを1回点滅します。

BOOL FlashWindow(BOOL bInvert);

パラメーター

bInvert
をフラッシュするか、元の状態に戻すかを指定し CWnd ます。 がの場合、は、ある CWnd 状態から別の状態にフラッシュされ bInvertTRUE ます。 がの場合 bInvertFALSE 、ウィンドウは元の状態 (アクティブまたは非アクティブ) に戻ります。

戻り値

メンバー関数の呼び出しの前にウィンドウがアクティブだった場合は0以外の場合は。 FlashWindow それ以外の場合は0。

注釈

連続して点滅する場合は、システムタイマーを作成し、を繰り返し呼び出し FlashWindow ます。 を点滅さ CWnd せることは、が CWnd 非アクティブ状態からアクティブ状態に変更されているかのように、タイトルバーの外観を変更することです。逆の場合も同様です。 アクティブなタイトルバーがアクティブなタイトルバーに変わり、アクティブなタイトルバーがアクティブでないタイトルバーに変わります。

通常、ウィンドウは、注意が必要であることをユーザーに通知するためにフラッシュされますが、現在は入力フォーカスを持っていません。

パラメーターは、 bInvertFALSE ウィンドウが入力フォーカスを取得し、点滅しない場合にのみにする必要があり TRUE ます。入力フォーカスを取得するのを待機している間、連続した呼び出しである必要があります。

この関数は、最小化されたウィンドウに対して常に0以外の値を返します。 ウィンドウが最小化されている場合、 FlashWindow はウィンドウのアイコンをフラッシュします。最小化されたウィンドウ bInvert では、は無視されます。

BOOL CPenWidthsDlg::OnInitDialog()
{
   CDialog::OnInitDialog();

   // set timer to cause dialog to flash
   SetTimer(1, 500, NULL);
   return TRUE; // return TRUE unless you set the focus to a control
}

void CPenWidthsDlg::OnTimer(UINT_PTR nIDEvent)
{
   // cause the dialog to flash
   FlashWindow(TRUE);
   CDialog::OnTimer(nIDEvent);
}

CWnd::FlashWindowEx

指定されたウィンドウを点滅させる。

BOOL FlashWindowEx(
    DWORD dwFlags,
    UINT uCount,
    DWORD dwTimeout);

パラメーター

*dwFlags*
Flash の状態を指定します。 値の完全な一覧については、構造体を参照してください FLASHWINFO

uCount
ウィンドウをフラッシュする回数を指定します。

dwTimeout
ウィンドウをフラッシュする速度をミリ秒単位で指定します。 dwTimeoutが0の場合、関数は既定のカーソルの点滅率を使用します。

戻り値

戻り値は、関数の呼び出しの前にウィンドウの状態を指定し FlashWindowEx ます。 呼び出しの前にウィンドウキャプションがアクティブとして描画された場合、戻り値は0以外になります。 それ以外の場合、戻り値は0です。

注釈

このメソッドは、 FlashWindowEx Windows SDK で説明されているように、関数の機能をエミュレートします。

CWnd::FromHandle

ウィンドウのハンドルが指定されている場合、CWnd オブジェクトへのポインターを返します。 オブジェクトが CWnd ハンドルにアタッチされていない場合は、一時 CWnd オブジェクトが作成され、アタッチされます。

static CWnd* PASCAL FromHandle(HWND hWnd);

パラメーター

hWnd
HWNDWindows ウィンドウの。

戻り値

ウィンドウのハンドルが指定されている場合、CWnd オブジェクトへのポインターを返します。 オブジェクトが CWnd ハンドルにアタッチされていない場合は、一時 CWnd オブジェクトが作成され、アタッチされます。

ポインターは一時的である可能性があり、後で使用するために格納することはできません。

CWnd::FromHandlePermanent

ウィンドウのハンドルが指定されている場合、CWnd オブジェクトへのポインターを返します。

static CWnd* PASCAL FromHandlePermanent(HWND hWnd);

パラメーター

hWnd
HWNDWindows ウィンドウの。

戻り値

CWnd オブジェクトを指すポインターです。

注釈

オブジェクトが CWnd ハンドルにアタッチされていない場合 NULL は、が返されます。

とは異なり、この関数 FromHandle は一時オブジェクトを作成しません。

CWnd::get_accChild

指定された子の IDispatch インターフェイスのアドレスを取得するために、フレームワークによって呼び出されます。

virtual HRESULT get_accChild(
    VARIANT varChild,
    IDispatch** ppdispChild);

パラメーター

varChild
取得するインターフェイスを持つ子を識別し IDispatch ます。

ppdispChild
子オブジェクトのインターフェイスのアドレスを受け取り IDispatch ます。

戻り値

S_OK成功した場合は、失敗した場合は COM エラーコードを返します。 Windows SDK の「」の戻り値を参照してください

注釈

この関数は、MFC の Active Accessibility サポートの一部です。

CWndnonwindowed ユーザーインターフェイス要素 (MFC で処理されるウィンドウなしの ActiveX コントロール) がある場合は、派生クラスでこの関数をオーバーライドします。

詳細については、Windows SDK の「」を参照してください IAccessible::get_accChild

CWnd::get_accChildCount

このオブジェクトに属する子の数を取得するために、フレームワークによって呼び出されます。

virtual HRESULT get_accChildCount(long* pcountChildren);

パラメーター

pcountChildren
子の数を受け取ります。

戻り値

S_OK成功した場合は、失敗した場合は COM エラーコードを返します。 Windows SDK の「」の戻り値を参照してください

注釈

この関数は、MFC の Active Accessibility サポートの一部です。

CWndnonwindowed ユーザーインターフェイス要素 (MFC で処理されるウィンドウなしの ActiveX コントロール) がある場合は、派生クラスでこの関数をオーバーライドします。 基底クラスのバージョンを呼び出し、nonwindowed 子要素を追加します。

詳細については、Windows SDK の「」を参照してください IAccessible::get_accChildCount

CWnd::get_accDefaultAction

オブジェクトの既定のアクションを記述する文字列を取得するために、フレームワークによって呼び出されます。

virtual HRESULT get_accDefaultAction(
    VARIANT varChild,
    BSTR* pszDefaultAction);

パラメーター

varChild
取得する既定のアクションが、オブジェクトまたはオブジェクトの子要素の1つであるかどうかを指定します。 このパラメーターには CHILDID_SELF 、(オブジェクトに関する情報を取得する場合) または子 ID (オブジェクトの子要素に関する情報を取得する場合) のいずれかを指定できます。

pszDefaultAction
BSTR指定したオブジェクトの既定のアクションを説明するローカライズされた文字列を受け取るのアドレス NULL 。このオブジェクトに既定のアクションがない場合は。

戻り値

成功した場合は S_OK を返し、失敗した場合は COM エラーコードを返します。 Windows SDK の「 IAccessible:: get_accDefaultAction戻り値」を参照してください。

注釈

この関数は、MFC の Active Accessibility サポートの一部です。

派生クラスのこの関数 CWnd をオーバーライドして、オブジェクトの既定のアクションを記述します。

詳細については、Windows SDK の「」を参照してください IAccessible::get_accDefaultAction

CWnd::get_accDescription

指定されたオブジェクトの外観を記述する文字列を取得するために、フレームワークによって呼び出されます。

virtual HRESULT get_accDescription(
    VARIANT varChild,
    BSTR* pszDescription);

パラメーター

varChild
取得する説明が オブジェクトの説明か、オブジェクトの子要素の 1 つかを指定します。 このパラメーターには、(オブジェクトに関する情報を取得するために) または子 ID (オブジェクトの子要素に関する情報を取得する場合) CHILDID_SELF を指定できます。

pszDescription
指定したオブジェクトを記述するローカライズされた文字列を受け取る のアドレス。このオブジェクトに使用できる説明 BSTRNULL がない場合は 。

戻り値

失敗時 S_OK に COM エラー コードである成功時に を返します。 Windows SDK 戻り値」を参照してください。

注釈

この関数は、MFC のサポートの一 Active Accessibility です。

オブジェクトを記述するには、 CWnd 派生クラスでこの関数をオーバーライドします。 基本クラスのバージョンを呼び出し、説明を追加します。

詳細については、「Windows IAccessible::get_accDescription SDK」を参照してください。

CWnd::get_accFocus

キーボード フォーカスを保持するオブジェクトを取得するために、フレームワークによって呼び出されます。

virtual HRESULT get_accFocus(VARIANT* pvarChild);

パラメーター

pvarChild
フォーカスがある オブジェクトに関する情報を受け取ります。 Windows SDK の pvarIDIAccessible::get_accFocus を参照してください。

戻り値

失敗時 S_OK に COM エラー コードである成功時に を返します。 Windows SDK 戻り値」を参照してください。

注釈

この関数は、MFC のサポートの一 Active Accessibility です。

ウィンドウ化されていないユーザー インターフェイス要素がある場合は、派生クラスでこの関数をオーバーライドします (MFC が処理するウィンドウレス ActiveX コントロール CWnd を含む)。

詳細については、「Windows IAccessible::get_accFocus SDK」を参照してください。

CWnd::get_accHelp

オブジェクトの Help プロパティ文字列を取得するためにフレームワーク によって呼び 出されます。

virtual HRESULT get_accHelp(
    VARIANT varChild,
    BSTR* pszHelp);

パラメーター

varChild
取得するヘルプ情報が オブジェクトのヘルプ情報か、オブジェクトの子要素の 1 つかを指定します。 このパラメーターには、(オブジェクトに関する情報を取得するために) または子 ID (オブジェクトの子要素に関する情報を取得する場合) CHILDID_SELF を指定できます。

pszHelp
指定したオブジェクトのヘルプ情報を含むローカライズされた文字列を受け取る のアドレス。ヘルプ情報がない BSTRNULL 場合は 。

戻り値

失敗時 S_OK に COM エラー コードである成功時に を返します。 Windows SDK 戻り値」を参照してください。

注釈

この関数は、MFC のサポートの一 Active Accessibility です。

派生クラスでこの CWnd 関数をオーバーライドして、オブジェクトのヘルプ テキストを指定します。

詳細については、「Windows IAccessible::get_accHelp SDK」を参照してください。

CWnd::get_accHelpTopic

指定したオブジェクトに関連付けられている WinHelp ファイルの完全なパスと、そのファイル内の適切なトピックの識別子を取得するために、フレームワークによって呼び出されます。

virtual HRESULT get_accHelpTopic(
    BSTR* pszHelpFile,
    VARIANT varChild,
    long* pidTopic);

パラメーター

pszHelpFile
指定したオブジェクト BSTR に関連付けられているファイルの完全なパスを受け取る のアドレス (指定されている WinHelp 場合)。

varChild
取得するヘルプ トピックが オブジェクトのトピックか、オブジェクトの子要素の 1 つかを指定します。 このパラメーターは、(オブジェクトのヘルプ トピックを取得する場合) または子 ID (オブジェクトの子要素の 1 つについてヘルプ トピックを取得する場合) CHILDID_SELF のいずれかになります。

pidTopic
指定したオブジェクトに関連付けられているヘルプ ファイル トピックを識別します。 Windows SDK の pidTopicIAccessible::get_accHelpTopic を参照してください。

戻り値

失敗時 S_OK に COM エラー コードである成功時に を返します。 Windows SDK 戻り値」を参照してください。

注釈

この関数は、MFC のサポートの一 Active Accessibility です。

派生クラスでこの CWnd 関数をオーバーライドして、オブジェクトに関するヘルプ情報を提供します。

詳細については、「Windows IAccessible::get_accHelpTopic SDK」を参照してください。

CWnd::get_accKeyboardShortcut

指定されたオブジェクトのショートカット キーまたはアクセス キーを取得するために、フレームワークによって呼び出されます。

virtual HRESULT get_accKeyboardShortcut(
    VARIANT varChild,
    BSTR* pszKeyboardShortcut);

パラメーター

varChild
取得するキーボード ショートカットが オブジェクトのキーボード ショートカットか、オブジェクトの子要素の 1 つかを指定します。 このパラメーターには、(オブジェクトに関する情報を取得するために) または子 ID (オブジェクトの子要素に関する情報を取得する場合) CHILDID_SELF を指定できます。

pszKeyboardShortcut
キーボード ショートカットを識別するローカライズされた文字列を受け取る のアドレス。指定したオブジェクトにキーボード ショートカットが関連 BSTRNULL 付けされていない場合は 。

戻り値

失敗時 S_OK に COM エラー コードである成功時に を返します。 Windows SDK 戻り値」を参照してください。

注釈

この関数は、MFC のサポートの一部 Active Accessibility です。

派生クラスでこの CWnd 関数をオーバーライドして、オブジェクトのキーボード ショートカットを識別します。

詳細については、「Windows IAccessible::get_accKeyboardShortcut SDK」を参照してください。

CWnd::get_accName

指定されたオブジェクトの名前を取得するために、フレームワークによって呼び出されます。

virtual HRESULT get_accName(
    VARIANT varChild,
    BSTR* pszName);

パラメーター

varChild
取得する名前が オブジェクトの名前か、オブジェクトの子要素の 1 つかを指定します。 このパラメーターには、(オブジェクトに関する情報を取得するために) または子 ID (オブジェクトの子要素に関する情報を取得する場合) CHILDID_SELF を指定できます。

pszName
指定した BSTR オブジェクトの名前を含む文字列を受け取る のアドレス。

戻り値

失敗時 S_OK に COM エラー コードである成功時に を返します。 Windows SDK 戻り値」を参照してください。

注釈

この関数は、MFC のサポートの一 Active Accessibility です。

派生クラスでこの CWnd 関数をオーバーライドして、オブジェクトの名前を返します。

詳細については、「Windows IAccessible::get_accName SDK」を参照してください。

CWnd::get_accParent

オブジェクトの親の IDispatch インターフェイスを取得するために、フレームワークによって呼び出されます。

virtual HRESULT get_accParent(IDispatch** ppdispParent);

パラメーター

ppdispParent
親オブジェクトのインターフェイスのアドレスを受け取 IDispatch ります。 親が存在しない場合、または子が親にアクセスできない場合、変数 NULL は に設定されます。

戻り値

失敗した S_OK 場合にエラー コードを COM 返します。 Windows SDK 戻り値」を参照してください。

注釈

この関数は、MFC のサポートの一 Active Accessibility です。

ほとんどの場合、この関数をオーバーライドする必要はありません。

詳細については、「Windows IAccessible::get_accParent SDK」を参照してください。

CWnd::get_accRole

指定されたオブジェクトの役割を記述する情報を取得するために、フレームワークによって呼び出されます。

virtual HRESULT get_accRole(
    VARIANT varChild,
    VARIANT* pvarRole);

パラメーター

varChild
取得するロール情報が オブジェクトのロール情報か、オブジェクトの子要素の 1 つかを指定します。 このパラメーターには、(オブジェクトに関する情報を取得するために) または子 ID (オブジェクトの子要素に関する情報を取得する場合) CHILDID_SELF を指定できます。

pvarRole
ロール情報を受け取ります。 Windows SDK の pvarRoleIAccessible::get_accRole を参照してください。

戻り値

失敗時 S_OK に COM エラー コードである成功時に を返します。 Windows SDK 戻り値」を参照してください。

注釈

この関数は、MFC のサポートの一 Active Accessibility です。

ウィンドウ化されていないユーザー インターフェイス要素がある場合は、派生クラスでこの関数をオーバーライドします (MFC が処理するウィンドウレス ActiveX コントロール CWnd を含む)。

詳細については、「Windows IAccessible::get_accRole SDK」を参照してください。

CWnd::get_accSelection

このオブジェクトの選択されている子を取得するために、フレームワークによって呼び出されます。

virtual HRESULT get_accSelection(VARIANT* pvarChildren);

パラメーター

pvarChildren
選択されている子に関する情報を受け取ります。 Windows SDK の「」の「」を参照してください pvarChildrenIAccessible::get_accSelection

戻り値

成功した場合は S_OK を返し、失敗した場合は COM エラーコードを返します。 Windows SDK の「」の戻り値を参照してください

注釈

この関数は、MFC の Active Accessibility サポートの一部です。

CWndnonwindowed ユーザーインターフェイス要素 (MFC で処理されるウィンドウなしの ActiveX コントロール) がある場合は、派生クラスでこの関数をオーバーライドします。

詳細については、Windows SDK の「」を参照してください IAccessible::get_accSelection

CWnd::get_accState

指定されたオブジェクトの現在の状態を取得するために、フレームワークによって呼び出されます。

virtual HRESULT get_accState(
    VARIANT varChild,
    VARIANT* pvarState);

パラメーター

varChild
取得する状態情報がオブジェクトまたはオブジェクトの子要素のいずれかであるかどうかを指定します。 このパラメーターには CHILDID_SELF 、(オブジェクトに関する情報を取得する場合) または子 ID (オブジェクトの子要素に関する情報を取得する場合) のいずれかを指定できます。

pvarState
オブジェクトの状態に関する情報を受け取ります。 Windows SDK の「」の「」を参照してください pvarStateIAccessible::get_accState

戻り値

S_OK成功した場合は、失敗した場合は COM エラーコードを返します。 Windows SDK の「」の戻り値を参照してください

注釈

この関数は、MFC の Active Accessibility サポートの一部です。

CWndnonwindowed ユーザーインターフェイス要素 (MFC で処理されるウィンドウなしの ActiveX コントロール) がある場合は、派生クラスでこの関数をオーバーライドします。

詳細については、Windows SDK の「」を参照してください IAccessible::get_accState

CWnd::get_accValue

指定されたオブジェクトの値を取得するために、フレームワークによって呼び出されます。

virtual HRESULT get_accValue(
    VARIANT varChild,
    BSTR* pszValue);

パラメーター

varChild
取得する値情報がオブジェクトまたはオブジェクトの子要素のいずれかであるかどうかを指定します。 このパラメーターには CHILDID_SELF 、(オブジェクトに関する情報を取得する場合) または子 ID (オブジェクトの子要素に関する情報を取得する場合) のいずれかを指定できます。

pszValue
BSTRオブジェクトの現在の値を格納しているローカライズされた文字列を受け取るのアドレス。

戻り値

S_OK成功した場合は、失敗した場合は COM エラーコードを返します。 Windows SDK の「」の戻り値を参照してください

注釈

この関数は、MFC の Active Accessibility サポートの一部です。

CWndnonwindowed ユーザーインターフェイス要素 (MFC で処理されるウィンドウなしの ActiveX コントロール) がある場合は、派生クラスでこの関数をオーバーライドします。

詳細については、Windows SDK の「」を参照してください IAccessible::get_accValue

CWnd::GetActiveWindow

アクティブなウィンドウへのポインターを取得します。

static CWnd* PASCAL GetActiveWindow();

戻り値

アクティブなウィンドウ、または NULL 呼び出し時にアクティブだったウィンドウがない場合は。 ポインターは一時的である可能性があり、後で使用するために格納することはできません。

注釈

アクティブウィンドウは、現在の入力フォーカスがあるウィンドウ、またはメンバー関数によって明示的にアクティブにされたウィンドウのいずれかです SetActiveWindow

CWnd::GetAncestor

指定したウィンドウの祖先ウィンドウ オブジェクトを取得します。

CWnd* GetAncestor(UINT gaFlags) const;

パラメーター

gaFlags
取得する先祖を指定します。 使用可能な値の完全な一覧については、「」を参照してください GetAncestor

戻り値

関数が成功した場合、戻り値は先祖ウィンドウオブジェクトへのポインターになります。 関数が失敗した場合、戻り値はに NULL なります。

注釈

このメンバー関数は、 GetAncestor Windows SDK で説明されているように、関数の機能をエミュレートします。

CWnd::GetCapture

マウスキャプチャがあるウィンドウを取得します。

static CWnd* PASCAL GetCapture();

戻り値

マウスキャプチャがあるウィンドウを識別します。 ウィンドウが NULL マウスでキャプチャされていない場合はです。

戻り値は一時的なものであり、後で使用するために格納することはできません。

注釈

特定の時点でマウスキャプチャを持つウィンドウは1つだけです。 メンバー関数が呼び出されると、ウィンドウはマウスキャプチャを受け取り SetCapture ます。 このウィンドウは、カーソルが境界内にあるかどうかにかかわらず、マウス入力を受け取ります。

CWnd::GetCaretPos

キャレットの現在位置のクライアント座標を取得し、として返し CPoint ます。

static CPoint PASCAL GetCaretPos();

戻り値

CPoint キャレットの位置の座標を格納しているオブジェクト。

注釈

キャレットの位置は、ウィンドウのクライアント座標で指定し CWnd ます。

CWnd::GetCheckedRadioButton

指定したグループで現在チェックされているオプションボタンの ID を取得します。

int GetCheckedRadioButton(
    int nIDFirstButton,
    int nIDLastButton);

パラメーター

nIDFirstButton
グループ内の最初のオプションボタンの整数識別子を指定します。

nIDLastButton
グループ内の最後のオプションボタンの整数識別子を指定します。

戻り値

チェックされたオプションボタンの ID。何も選択されていない場合は0。

CWnd::GetClientRect

クライアント領域のクライアント座標を、 CWnd が指す構造体にコピーし lpRect ます。

void GetClientRect(LPRECT lpRect) const;

パラメーター

lpRect
クライアント座標を受け取る 構造体またはオブジェクトをポイントし CRect ます。 leftメンバーと top メンバーは0になります。 rightメンバーと bottom メンバーには、ウィンドウの幅と高さが含まれます。

注釈

クライアント座標は、クライアント領域の左上隅と右下隅を指定します。 クライアント座標はクライアント領域の左上隅を基準としているため CWnd 、左上隅の座標は (0, 0) です。

の例を参照してください CWnd::IsIconic

CWnd::GetClipboardOwner

クリップボードの現在の所有者を取得します。

static CWnd* PASCAL GetClipboardOwner();

戻り値

関数が正常に実行された場合に、クリップボードを所有するウィンドウを識別します。 それ以外の場合は、NULL となります。

返されるポインターは一時的なものである可能性があり、後で使用するために格納することはできません。

注釈

クリップボードには、現在所有されていなくてもデータを含めることができます。

CWnd::GetClipboardViewer

クリップボードビューアーのチェーン内の最初のウィンドウを取得します。

static CWnd* PASCAL GetClipboardViewer();

戻り値

正常に実行された場合に、現在クリップボードを表示しているウィンドウを識別します。それ以外 NULL (ビューアーがない場合など)。

返されるポインターは一時的なものである可能性があり、後で使用するために格納することはできません。

CWnd::GetControlUnknown

不明な OLE コントロールへのポインターを取得するには、このメンバー関数を呼び出します。

LPUNKNOWN GetControlUnknown();

戻り値

IUnknownこのオブジェクトによって表される OLE コントロールのインターフェイスへのポインター CWnd 。 このオブジェクトが OLE コントロールを表していない場合、戻り値は NULL です。

注釈

このポインターは解放しないで IUnknown ください。 通常は、を使用して、コントロールの特定のインターフェイスを取得します。

によって返されるインターフェイスポインターは、 GetControlUnknown 参照カウントされません。 IUnknown::Release以前にを呼び出した場合を除き、ポインターに対してを呼び出さないでください IUnknown::AddRef

// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is a CDialog-derived class.

// IDC_MSACALCTRL1 is the ID of the Calendar control OCX embedded
// on this dialog
CWnd *pWndCal = GetDlgItem(IDC_MSACALCTRL1);

// Use the IUnknown of the control
LPUNKNOWN pUnk = pWndCal->GetControlUnknown();

// From there get the IDispatch interface of control
LPDISPATCH pDisp = NULL;
pUnk->QueryInterface(IID_IDispatch, (LPVOID*)&pDisp);

// use IDispatch method to invoke the control's functionality

CWnd::GetCurrentMessage

ウィンドウが現在処理しているメッセージへのポインターを返します。 On Message メッセージ ハンドラー メンバー 関数の場合にのみ 呼び出す必要があります。

static const MSG* PASCAL GetCurrentMessage();

戻り値

ウィンドウが現在処理している MSG メッセージを含む 構造体へのポインターを返します。 On Message ハンドラー内の場合にのみ呼 び出す必要 があります。

の例を参照してください CMDIFrameWnd::MDICascade

CWnd::GetDC

に指定されたクラス スタイルに応じて、クライアント領域の共通、クラス、またはプライベート デバイス コンテキストへのポインターを取得します CWnd

CDC* GetDC();

戻り値

成功した場合はクライアント領域の CWnd デバイス コンテキストを識別します。それ以外の場合、戻り値は です NULL 。 ポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

一般的なデバイス コンテキストの場合、 GetDC では、取得の度にコンテキストに既定の属性が割り当てされます。 クラスコンテキストとプライベート コンテキストの場合、 GetDC 以前に割り当てられた属性は変更されません。 デバイス コンテキストは、後続のグラフィックス デバイス インターフェイス (GDI) 関数で使用して、クライアント領域に描画できます。

デバイス コンテキストがウィンドウ クラスに属していない限り、メンバー関数を呼び出して、ペインティング後に ReleaseDC コンテキストを解放する必要があります。

クラスに属するデバイス コンテキストは、または がクラスの登録時に 構造体のスタイルとして指定された場合、メンバー関数によって CWndGetDCCS_CLASSDCCS_OWNDCCS_PARENTDCWNDCLASS 返されます。

CWnd::GetDCEx

ウィンドウのデバイス コンテキストのハンドルを取得 CWnd します。

CDC* GetDCEx(
    CRgn* prgnClip,
    DWORD flags);

パラメーター

prgnClip
クライアント ウィンドウの表示領域と組み合わせ可能なクリッピング領域を識別します。

flags
次のいずれかのプリセット値を指定できます。

  • DCX_CACHE または ウィンドウではなく、キャッシュからデバイス コンテキストを OWNDCCLASSDC します。 CS_OWNDCCS_CLASSDC がオーバーライドされます。

  • DCX_CLIPCHILDREN ウィンドウの下のすべての子ウィンドウの表示領域を除外 CWnd します。

  • DCX_CLIPSIBLINGS ウィンドウの上のすべての兄弟ウィンドウの表示領域を除外 CWnd します。

  • DCX_EXCLUDERGN によって識別されるクリッピング領域を、返されたデバイス コンテキスト prgnClip の表示領域から除外します。

  • DCX_INTERSECTRGN 返されたデバイス コンテキストの表示領域内で で識別される prgnClip クリッピング領域と交差します。

  • DCX_LOCKWINDOWUPDATE このウィンドウを除外する呼び出しが有効な場合でも LockWindowUpdate 、描画を許可します。 この値は、追跡中に描画するために使用されます。

  • DCX_PARENTCLIP 親ウィンドウの表示領域を使用し、親ウィンドウの および スタイル ビット WS_CLIPCHILDRENWS_PARENTDC を無視します。 この値は、デバイス コンテキストの原点をウィンドウの左上隅に設定 CWnd します。

  • DCX_WINDOW クライアントの四角形ではなく、ウィンドウの四角形に対応するデバイス コンテキストを返します。

戻り値

関数が成功した場合は、指定したウィンドウのデバイス コンテキスト。それ以外の場合 NULL は 。

注釈

デバイス コンテキストは、後続の GDI 関数でクライアント領域に描画するために使用できます。

関数の拡張機能であるこの関数を使用すると、アプリケーションは、ウィンドウのデバイス コンテキストをクリップする方法と方法 GetDC を制御できます。

デバイス コンテキストがウィンドウ クラスに属していない限り、描画後にコンテキストを解放するには、 関数を呼 ReleaseDC び出す必要があります。 一般的なデバイス コンテキストは任意の時点で 5 つしか使用できないので、デバイス コンテキストを解放できないと、他のアプリケーションがデバイス コンテキストにアクセスできない可能性があります。

キャッシュされたデバイス コンテキストを取得するには、アプリケーションで を指定する必要があります DCX_CACHE 。 このDCX_CACHE指定されていない場合、ウィンドウが または でもない場合、 CS_OWNDCCS_CLASSDC この関数は を返します NULL

クラスの登録時に 構造体で 、、または スタイルが指定された場合、特殊な特性を持つデバイス コンテキストが関数によって GetDCExCS_CLASSDCCS_OWNDCCS_PARENTDCWNDCLASS 返されます。

これらの特性の詳細については、Windows SDK の構造 WNDCLASS の説明を参照してください。

CWnd::GetDCRenderTarget

CWnd ウィンドウのデバイス コンテキスト (DC) レンダー ターゲットを取得します。

CDCRenderTarget* GetDCRenderTarget();

戻り値

関数が成功した場合、指定したウィンドウのデバイス コンテキスト レンダー ターゲット。それ以外の場合 NULL は 。

注釈

CWnd::GetDescendantWindow

このメンバー関数を呼び出して、指定された ID で指定された子孫ウィンドウを検索します。

CWnd* GetDescendantWindow(
    int nID,
    BOOL bOnlyPerm = FALSE) const;

パラメーター

nID
取得するコントロールまたは子ウィンドウの識別子を指定します。

bOnlyPerm
返されるウィンドウを一時的に指定できるかどうかを指定します。 の TRUE 場合は、永続的なウィンドウのみを返し、 の場合、 FALSE 関数は一時ウィンドウを返します。 一時ウィンドウの詳細については、「 テクニカル ノート 3」を参照してください

戻り値

オブジェクトへのポインター CWnd 。子 NULL ウィンドウが見つからない場合は 。

注釈

このメンバー関数は、直接の子であるウィンドウだけでなく、子ウィンドウのツリー全体を検索します。

CWnd::GetDesktopWindow

デスクトップ ウィンドウWindows返します。

static CWnd* PASCAL GetDesktopWindow();

戻り値

デスクトップ ウィンドウWindowsを識別します。 このポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

デスクトップ ウィンドウは画面全体をカバーし、すべてのアイコンや他のウィンドウが塗り分けされている上の領域です。

CWnd::GetDlgCtrlID

ダイアログ ボックス内のコントロールだけでなく、すべての子ウィンドウのウィンドウまたはコントロール ID 値を返します。

int GetDlgCtrlID() const;

戻り値

関数が成功した場合 CWnd は子ウィンドウの数値識別子。それ以外の場合は 0。

注釈

トップ レベルのウィンドウには ID 値が含まれているので、 がトップ レベルのウィンドウの場合、この関数の戻り CWnd 値は無効です。

の例を参照してください CWnd::OnCtlColor

CWnd::GetDlgItem

ダイアログ ボックスまたは他のウィンドウ内の指定したコントロールまたは子ウィンドウへのポインターを取得します。

CWnd* GetDlgItem(int nID) const;

void GetDlgItem(
    int nID,
    HWND* phWnd) const;

パラメーター

nID
取得するコントロールまたは子ウィンドウの識別子を指定します。

phWnd
子ウィンドウへのポインター。

戻り値

指定したコントロールまたは子ウィンドウへのポインター。 パラメーターによって指定された整数 ID を持つコントロールが存在 nID しない場合、値は になります NULL

返されるポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

返されるポインターは、通常、 によって識別されるコントロールの型にキャストされます nID

// uses GetDlgItem to return a pointer to a user interface control
CEdit *pBoxOne;
pBoxOne = (CEdit*)GetDlgItem(IDC_MYEDIT);
GotoDlgCtrl(pBoxOne);

CWnd::GetDlgItemInt

によって識別されるコントロールのテキストを取得します nID

UINT GetDlgItemInt(
    int nID,
    BOOL* lpTrans = NULL,
    BOOL bSigned = TRUE) const;

パラメーター

nID
変換するダイアログ ボックス コントロールの整数識別子を指定します。

lpTrans
変換されたフラグを受け取るブール変数をポイントします。

bSigned
取得する値が署名されているかどうかを指定します。

戻り値

ダイアログ ボックス項目のテキストの翻訳された値を指定します。 0 は有効な戻り値です。エラー lpTrans を検出するには、 を使用する必要があります。 符号付き戻り値が必要な場合は、型としてキャスト int します。

変換された数値が (符号付き数値の場合) または (符号なしの場合) より大きい場合、関数は 0 INT_MAXUINT_MAX を返します。

数字以外の文字が検出され、上記の最大値を超えるなどのエラーが発生すると、 によって指される場所に GetDlgItemInt 0 がコピーされます lpTrans 。 エラーがない場合は、0 lpTrans 以外の値を受け取ります。 が lpTransNULL 場合 GetDlgItemInt 、エラーについては警告しません。

注釈

指定したダイアログ ボックス内の指定したコントロールのテキストを整数値に変換します。テキストの先頭に余分なスペースを取り除き、10 進数を変換します。 テキストの末尾に達するか、数字以外の文字が検出された場合、翻訳は停止します。

が の場合、テキストの先頭でマイナス記号 (-) を確認し、テキストを符号付 bSignedTRUEGetDlgItemInt き数値に変換します。 それ以外の場合は、符号なし値が作成されます。

コントロールに WM_GETTEXT メッセージを送信します。

CWnd::GetDlgItemText

このメンバー関数を呼び出して、ダイアログ ボックス内のコントロールに関連付けられているタイトルまたはテキストを取得します。

int GetDlgItemText(
    int nID,
    LPTSTR lpStr,
    int nMaxCount) const;

int GetDlgItemText(
    int nID,
    CString& rString) const;

パラメーター

nID
タイトルを取得するコントロールの整数識別子を指定します。

lpStr
コントロールのタイトルまたはテキストを受け取るバッファーをポイントします。

nMaxCount
にコピーする文字列の最大長 (文字数) を指定します lpStr 。 文字列が より長い場合 nMaxCount は、切り捨てされます。

rString
CString への参照。

戻り値

終端の null 文字を含め、バッファーにコピーされる実際の文字数を指定します。 テキストがコピーされなき場合、値は 0 です。

注釈

メンバー関数は、テキストを が指す位置にコピーし、コピーするバイト数の GetDlgItemTextlpStr 数を返します。

CWnd::GetDSCCursor

このメンバー関数を呼び出して、データ ソース コントロールの 、および SQL プロパティによって定義されている基になるカーソルへのポインター DataSourceUserNamePassword を取得します。

IUnknown* GetDSCCursor();

戻り値

データ ソース コントロールによって定義されるカーソルへのポインター。 MFC は ポインターの呼び出 AddRef しを行います。

注釈

返されたポインターを使用して、データ バインド グリッド コントロールなどの複雑なデータ バインド コントロール ICursor の プロパティを設定します。 データ ソースコントロールは、最初のバインドされたコントロールがカーソルを要求するまでアクティブになれずに表示されます。 これは、 の呼び出しによって明示的に発生するか、MFC バインド マネージャー GetDSCCursor によって暗黙的に発生する可能性があります。 どちらの場合も、 を呼び出し、 への返されたポインターで を呼び出すことによって、データ ソース コントロールを強制的 GetDSCCursorRelease にアクティブにできます IUnknown 。 アクティブ化すると、データ ソース管理は基になるデータ ソースへの接続を試行します。 返されるポインターは、次のコンテキストで使用できます。

BOOL CMyDlg::OnInitDialog()
{
   // Find the child controls on the dialog
   HRESULT hr = E_FAIL;
   CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
   CWnd *pListWnd = GetDlgItem(IDC_DBLIST1);
   IUnknown *punkList = pListWnd->GetControlUnknown();
   IDBList *pList = NULL;

   if (NULL != punkList)
   {
      hr = punkList->QueryInterface(__uuidof(IDBList), (void **)&pList);
   }

   if (SUCCEEDED(hr))
   {
      // Tell the MFC binding manager that we are
      // binding DISPID 3 to the data-source control.
      pListWnd->BindProperty(0x3, pDSC);

      // Tell the listbox which field to expose as its bound column
      pList->put_BoundColumn(_T("ContactFirstName"));

      // Tell the listbox which cursor and column to populate its list from
      pList->put_ListField(_T("ContactFirstName"));

      IUnknown *punkCursor = pDSC->GetDSCCursor();
      if (NULL != punkCursor)
      {
         punkCursor->Release();
      }

      pList->Release();
      return TRUE;
   }

CWnd::GetDynamicLayout

動的レイアウト マネージャー オブジェクトへのポインターを取得します。

CMFCDynamicLayout* GetDynamicLayout();

戻り値

動的レイアウト マネージャー オブジェクトへのポインター。動的 NULL レイアウトが有効になっていない場合は 。

注釈

ウィンドウ オブジェクトは、返されたポインターを所有し、その有効期間を管理します。そのため、ポインターはオブジェクトへのアクセスにのみ使用する必要があります。ポインターを削除したり、ポインターを永続的に格納したりしないでください。

CWnd::GetExStyle

ウィンドウの拡張スタイルを返します。

DWORD GetExStyle() const;

戻り値

ウィンドウの拡張スタイル。 MFC で使用される拡張ウィンドウ スタイルの詳細については、「拡張ウィンドウ スタイル」 を参照してください

CWnd::GetFocus

現在入力フォーカスがある CWnd へのポインターを取得します。

static CWnd* PASCAL GetFocus();

戻り値

現在のフォーカスがあるウィンドウへのポインター。フォーカス ウィンドウ NULL がない場合は 。

ポインターは一時的な場合があります。後で使用するために格納することはできません。

CWnd::GetFont

ウィンドウに WM_GETFONT メッセージを送信して、現在のフォントを取得します。

CFont* GetFont() const;

戻り値

ウィンドウの CFont 現在のフォントにアタッチされている オブジェクトへのポインター。

注釈

このメソッドは、ウィンドウがメッセージを処理しない限り、効果 WM_GETFONT はありません。 から派生した多くの MFC クラスは、メッセージのメッセージ ハンドラーを含む定義済みのウィンドウ クラスにアタッチされているので、このメッセージ CWnd を処理 WM_GETFONT します。 このメソッドを使用するには、派生したクラスでメッセージ CWnd のメソッド ハンドラーを定義する必要 WM_GETFONT があります。

CWnd::GetForegroundWindow

前景ウィンドウ (ユーザーが現在動作しているウィンドウ) へのポインターを返します。

static CWnd* PASCAL GetForegroundWindow();

戻り値

前景ウィンドウへのポインター。 これは一時オブジェクトである CWnd 可能性があります。

注釈

前景ウィンドウは、トップ レベルのウィンドウ (フレーム ウィンドウまたはダイアログ ボックス) にのみ適用されます。

CWnd::GetIcon

このメンバー関数を呼び出して、ハンドルを大きい (32x32) またはハンドルから小さい (16x16) アイコンに取得します (で示されます bBigIcon )。

HICON GetIcon(BOOL bBigIcon) const;

パラメーター

bBigIcon
の場合は、32 ピクセルを 32 ピクセルアイコンで指定します。 の場合は TRUE 、16 ピクセル/ 16 ピクセルのアイコンを指定します FALSE

戻り値

アイコンにへのハンドル。 失敗した場合、 は を返します NULL

CWnd::GetLastActivePopup

CWnd が所有するポップアップ ウィンドウのうち、直前にアクティブだったウィンドウを調べます。

CWnd* GetLastActivePopup() const;

戻り値

最近アクティブなポップアップ ウィンドウを識別します。 次の条件が満たされた場合、戻り値はウィンドウ自体になります。

  • ウィンドウ自体が最近アクティブでした。

  • ウィンドウにはポップアップ ウィンドウが所有されません。

  • ウィンドウがトップ レベルのウィンドウではないか、別のウィンドウによって所有されています。

ポインターは一時的な場合があります。後で使用するために格納することはできません。

の例を参照してください CWnd::FindWindow

CWnd::GetLayeredWindowAttributes

レイヤード ウィンドウの不透明度および透明度のカラー キーを取得します。

BOOL GetLayeredWindowAttributes(
    COLORREF* pcrKey,
    BYTE* pbAlpha,
    DWORD* pdwFlags) const;

パラメーター

pcrKey
レイヤード ウィンドウの構成時に使用する透明度カラー キーを受け取 COLORREF る値へのポインター。 この色のウィンドウによって塗り分けらたピクセルはすべて透明になります。 これは、引数 NULL が不要な場合に指定できます。

pbAlpha
レイヤード ウィンドウ BYTE の不透明度を表すアルファ値を受け取る へのポインター。 によって参照される変数が pbAlpha 0 の場合、ウィンドウは完全に透明になります。 によって参照される変数が pbAlpha 255 の場合、ウィンドウは不透明です。 これは、引数 NULL が不要な場合に指定できます。

pdwFlags
レイヤー フラグ DWORD を受け取る へのポインター。 これは、引数 NULL が不要な場合に指定できます。 使用できる値の完全な一覧については 、「GetLayeredWindowAttributes 」を参照してください

戻り値

関数が正常終了した場合は 0 以外。それ以外の場合は 0。

注釈

このメンバー関数は、 関数の機能をエミュレートします。詳細については、「Windows GetLayeredWindowAttributes SDK」を参照してください。

CWnd::GetMenu

このウィンドウのメニューへのポインターを取得します。

CMenu* GetMenu() const;

戻り値

メニューを識別します。 メニューがない場合 NULL 、値 CWnd は です。 が子ウィンドウの場合、 CWnd 戻り値は未定義です。

返されるポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

この関数は、メニューを持たないので、子ウィンドウには使用できません。

void CMainFrame::OnCwndDeletefilemenu()
{
   // This example deletes the leftmost popup menu or leftmost
   // popup menu item from the application's main window.
   CWnd *pMain = AfxGetMainWnd();

   // The main window _can_ be NULL, so this code
   // doesn't ASSERT and actually tests.
   if (pMain != NULL)
   {
      // Get the main window's menu
      CMenu *pMenu = pMain->GetMenu();

      // If there is a menu and it has items, we'll
      // delete the first one.
      if (pMenu != NULL && pMenu->GetMenuItemCount() > 0)
      {
         pMenu->DeleteMenu(0, MF_BYPOSITION);
         // force a redraw of the menu bar
         pMain->DrawMenuBar();
      }

      // No need to delete pMenu because it is an MFC
      // temporary object.
   }
}

CWnd::GetMenuBarInfo

指定したメニュー バーに関する情報を取得します。

BOOL GetMenuBarInfo(
    LONG idObject,
    LONG idItem,
    PMENUBARINFO pmbi) const;

パラメーター

idObject
メニュー オブジェクトを指定します。 有効な値の一覧については、「GetMenuBarInfo」を参照してください。

idItem
情報を取得する項目を指定します。 このパラメーターが 0 の場合、関数はメニュー自体に関する情報を取得します。 このパラメーターが 1 の場合、関数はメニューの最初の項目に関する情報を取得します。

pmbi
情報を MENUBARINFO 受け取る 構造体へのポインター。

戻り値

関数が正常終了した場合は 0 以外。それ以外の場合は 0。

注釈

このメンバー関数は、 関数の機能をエミュレートします。詳細については、「Windows GetMenuBarInfo SDK」を参照してください。

CWnd::GetNextDlgGroupItem

ダイアログ ボックス内のコントロールのグループ内で、前または次のコントロールを検索します。

CWnd* GetNextDlgGroupItem(
    CWnd* pWndCtl,
    BOOL bPrevious = FALSE) const;

COleControlSiteOrWnd* GetNextDlgGroupItem(
    COleControlSiteOrWnd* pCurSiteOrWnd = NULL) const;

パラメーター

pWndCtl
検索の開始点として使用するコントロールを識別します。

bPrevious
ダイアログ ボックスでコントロールのグループを検索する関数の方法を指定します。 の場合、関数はグループ内の前のコントロールを検索します。の場合は、グループ内の次の TRUEFALSE コントロールを検索します。

pCurSiteOrWnd
コントロールを識別 COleControlSiteOrWnd します。 の詳細については、「解説 COleControlSiteOrWndCOleControlSiteOrWnd

戻り値

メンバー関数が成功した場合の、グループ内の前または次のコントロールへのポインター。

返されるポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

コントロールのグループは、スタイルで作成されたコントロールから始まり、スタイルで作成されていない最後のコントロール WS_GROUP で終 WS_GROUP わります。

既定では、メンバー GetNextDlgGroupItem 関数はグループ内の次のコントロールへのポインターを返します。 がグループ内の最初のコントロールを識別し、 が の場合、グループ内の最後のコントロール pWndCtlbPreviousTRUEGetNextDlgGroupItem へのポインターを返します。

注意

MFC ではウィンドウレス ActiveX コントロール、標準 ActiveX コントロール、ウィンドウがサポートされ、コントロールを参照するだけで十分ではなくなったため HWND です。 オブジェクトには、次のように、オブジェクトをウィンドウActiveX コントロール、ウィンドウActiveXコントロール、またはウィンドウとして識別する情報 COleControlSiteOrWnd が含まれています。

コントロールまたはウィンドウの種類 情報の識別
ウィンドウActiveX コントロール を含み HWNDHWND オブジェクトを関連付ける。 のメンバーは コントロールの に設定され、メンバーはコントロールの m_hWndCOleControlSiteOrWndHWNDm_pSite をポイントします COleControlSite
ウィンドウレス ActiveX コントロール を含めはありません HWND 。 の m_pSite メンバーは COleControlSiteOrWnd コントロールの をポイントし COleControlSite 、メンバーは m_hWnd です NULL
標準ウィンドウ が含まれるのは、 です HWND 。 の m_hWnd メンバー COleControlSiteOrWnd はウィンドウの HWND に設定され、メンバーは m_pSite です NULL

CWnd::GetNextDlgTabItem

スタイルを使用して作成され、指定したコントロールの前または後に続く最初のコントロール WS_TABSTOP へのポインターを取得します。

CWnd* GetNextDlgTabItem(
    CWnd* pWndCtl,
    BOOL bPrevious = FALSE) const;

COleControlSiteOrWnd* GetNextDlgTabItem(
    COleControlSiteOrWnd* pCurSiteOrWnd,
    BOOL bPrevious) const;

パラメーター

pWndCtl
検索の開始点として使用するコントロールを識別します。

pCurSiteOrWnd
コントロールを識別 COleControlSiteOrWnd します。 COleControlSiteOrWnd の詳細については、「CWnd::GetNextDlgGroupItem」を参照してください。

bPrevious
関数がダイアログ ボックスを検索する方法を指定します。 の場合、関数はダイアログ ボックスで前のコントロールを検索します。の場合は、次 TRUEFALSE のコントロールを検索します。

戻り値

メンバー関数が成功した場合に、スタイルを持つ前または WS_TABSTOP 次のコントロールへのポインター。

返されるポインターは一時的な場合があります。後で使用するために格納することはできません。

COleControlSiteOrWnd の詳細については、「CWnd::GetNextDlgGroupItem」を参照してください。

CWnd::GetNextWindow

ウィンドウ マネージャーの一覧で次の (または前の) ウィンドウを検索します。

CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;

パラメーター

nFlag
関数が次のウィンドウまたは前のウィンドウへのポインターを返すかどうかを指定します。 これは、ウィンドウ マネージャーの一覧の オブジェクトの後に続くウィンドウを返す 、または、ウィンドウ マネージャーの一覧の前のウィンドウを返す のいずれか GW_HWNDNEXTCWndGW_HWNDPREV です。

戻り値

メンバー関数が成功した場合に、ウィンドウ マネージャーの一覧の次の (または前の) ウィンドウを識別します。

返されるポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

ウィンドウ マネージャーの一覧には、すべてのトップ レベル ウィンドウ、関連付けられている子ウィンドウ、および子ウィンドウの子ウィンドウのエントリが含まれる。

がトップ レベルウィンドウの場合、関数は次の (または前の) トップ レベルウィンドウを検索します。が子ウィンドウの場合、関数は次の (または前の) 子ウィンドウを CWndCWnd 検索します。

CWnd::GetOleControlSite

指定された ActiveX コントロールのカスタム サイトを取得します。

COleControlSite* GetOleControlSite(UINT idControl) const;

パラメーター

idControl
コントロールの id ActiveXします。

CWnd::GetOpenClipboardWindow

クリップボードが現在開いているウィンドウのハンドルを取得します。

static CWnd* PASCAL GetOpenClipboardWindow();

戻り値

関数が成功した場合にクリップボードが開いているウィンドウのハンドル。それ以外の場合 NULL は 。

CWnd::GetOwner

ウィンドウの所有者へのポインターを取得します。

CWnd* GetOwner() const;

戻り値

CWnd オブジェクトを指すポインターです。

注釈

ウィンドウに所有者がない場合は、親ウィンドウ オブジェクトへのポインターが既定で返されます。 所有者と所有者の関係は、いくつかの重要な側面で親子の側面と異なることがあります。 たとえば、親を持つウィンドウは、親ウィンドウのクライアント領域に限定されます。 所有するウィンドウは、デスクトップ上の任意の場所に描画できます。

この関数の所有権の概念は、 の所有権の概念とは異なります GetWindow

CWnd::GetParent

子ウィンドウの親ウィンドウへのポインターを取得するには、この関数を呼び出します (その場合)。

CWnd* GetParent() const;

戻り値

Windows SDK の「戻 GetParent り値」セクションを参照してください。

注釈

関数 GetParent は、直接の親へのポインターを返します (存在する場合)。 これに対し、関数は、子ウィンドウではない (スタイルを持たなかった) 最も直接的な親ウィンドウまたは所有者ウィンドウへのポインター GetParentOwner を返 WS_CHILD します。 子ウィンドウ内に子ウィンドウがある場合は、 GetParentGetParentOwner なる結果が返されます。

CWnd::GetParentFrame

このメンバー関数を呼び出して、親フレーム ウィンドウを取得します。

CFrameWnd* GetParentFrame() const;

戻り値

成功した場合はフレーム ウィンドウへのポインター。それ以外の場合 NULL は 。

注釈

メンバー関数は、 (または派生クラス) オブジェクトが見つかるまで親 CFrameWnd チェーンを検索します。

CWnd::GetParentOwner

子ウィンドウの親ウィンドウまたは所有者ウィンドウへのポインターを取得するには、このメンバー関数を呼び出します。

CWnd* GetParentOwner() const;

戻り値

CWnd オブジェクトを指すポインターです。 オブジェクトが CWnd ハンドルにアタッチされていない場合は、一時 CWnd オブジェクトが作成され、アタッチされます。 ポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

GetParentOwner は、子ウィンドウではない (スタイルを持たなかった) 最も直接的な親ウィンドウまたは所有者ウィンドウへのポインターを返 WS_CHILD します。 現在の所有者ウィンドウは、 で設定できます SetOwner 。 既定では、ウィンドウの親は所有者です。

これに対し、関数は、子ウィンドウかどうかに関係ない場合でも、直接の親へのポインター GetParent を返します。 子ウィンドウ内に子ウィンドウがある場合は、 GetParentGetParentOwner なる結果が返されます。

CWnd::GetProperty

このメンバー関数を呼び出して、 で指定ActiveXプロパティを取得します dwDispID

void GetProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    void* pvProp)const;

パラメーター

dwDispID
取得するプロパティを識別します。

vtProp
取得するプロパティの型を指定します。 使用できる値については、 の「解説」セクションを参照してください COleDispatchDriver::InvokeHelper

pvProp
プロパティ値を受け取る変数のアドレス。 これは、 vtPropによって指定される型と一致する必要があります。

注釈

GetProperty は、 を介して値を返します pvProp

注意

この関数は、コントロールのプロパティを表す オブジェクトでのみ CWnd ActiveXがあります。

ActiveX コントロール コンテナーでこのメンバー関数を使用する方法の詳細については、「ActiveX コントロール コンテナー: ActiveX コントロール コンテナーでの ActiveX コントロールのプログラミング」を参照してください

CWnd::GetRenderTarget

このウィンドウに関連付けられているレンダー ターゲットを取得します。

CHwndRenderTarget* GetRenderTarget();

戻り値

レンダー ターゲットまたは へのポインター NULL

CWnd::GetSafeHwnd

ポインターが m_hWnd の場合は NULL 、 を this 返します NULL

HWND GetSafeHwnd() const;

戻り値

ウィンドウのウィンドウ ハンドルを返します。 がウィンドウ NULLCWnd アタッチされていない場合、または ポインターと一緒に使用されている場合は を返 NULLCWnd します。

の例を参照してください CWnd::SubclassWindow

CWnd::GetSafeOwner

このメンバー関数を呼び出して、ダイアログ ボックスまたは他のモーダル ウィンドウに使用する必要がある所有者ウィンドウを取得します。

static CWnd* GetSafeOwner(
    CWnd* pParent = NULL,
    HWND* pWndTop = NULL);

パラメーター

pParent
親ウィンドウへの CWnd ポインター。 NULL でもかまいません。

pWndTop
現在上にあるウィンドウへのポインター。 NULL でもかまいません。

戻り値

指定されたウィンドウの安全な所有者へのポインター。

注釈

安全な所有者は、 の最初の子以外の親ウィンドウです pParent 。 が pParentNULL 場合、スレッドのメイン ウィンドウ (を使用して取得) AfxGetMainWnd が所有者の検索に使用されます。

注意

フレームワーク自体は、この関数を使用して、所有者が指定されていないダイアログ ボックスとプロパティ シートの正しい所有者ウィンドウを決定します。

CWnd::GetScrollBarCtrl

このメンバー関数を呼び出して、指定した兄弟スクロール バーまたは分割ウィンドウへのポインターを取得します。

virtual CScrollBar* GetScrollBarCtrl(int nBar) const;

パラメーター

nBar
スクロール バーの種類を指定します。 パラメーターには、次のいずれかの値を指定できます。

  • SB_HORZ 水平スクロール バーの位置を取得します。

  • SB_VERT 垂直スクロール バーの位置を取得します。

戻り値

兄弟スクロール バー コントロール。存在しない NULL 場合は 。

注釈

このメンバー関数は、ウィンドウの作成時に または ビットが設定されている場合に作成されるスクロール バー WS_HSCROLLWS_VSCROLL では動作しません。 この CWnd 関数の実装は、単に を返します NULL 。 などの派生クラスは CView 、説明されている機能を実装します。

CWnd::GetScrollBarInfo

指定されたスクロール バーの情報を取得します。

BOOL GetScrollBarInfo(
    LONG idObject,
    PSCROLLBARINFO psbi) const;

パラメーター

idObject
メニュー オブジェクトを指定します。 有効な値の一覧については、「GetScrollBarInfo」を参照してください。

psbi
情報を SCROLLBARINFO 受け取る 構造体へのポインター。

戻り値

関数が正常終了した場合は 0 以外。それ以外の場合は 0。

注釈

このメンバー関数は、 関数の機能をエミュレートします。詳細については、「Windows GetScrollBarInfo SDK」を参照してください。

CWnd::GetScrollInfo

構造体がスクロール バーに関して保持する情報を取得するには、 SCROLLINFO このメンバー関数を呼び出します。

BOOL GetScrollInfo(
    int nBar,
    LPSCROLLINFO lpScrollInfo,
    UINT nMask = SIF_ALL);

パラメーター

nBar
スクロール バーがコントロールか、ウィンドウの非クライアント領域の一部かを指定します。 非クライアント領域の一部である場合は、スクロール バーを水平方向、垂直方向、または両方に配置するかどうか nBar も示します。 次のいずれかを指定する必要があります。

  • SB_CTL スクロール バー コントロールのパラメーターを取得します。 データ m_hWnd メンバーは、スクロール バー コントロールのハンドルである必要があります。

  • SB_HORZ ウィンドウの標準水平スクロール バーのパラメーターを取得します。

  • SB_VERT ウィンドウの標準の垂直スクロール バーのパラメーターを取得します。

lpScrollInfo
構造体への SCROLLINFO ポインター。 この構造のWindowsについては、Windows SDK を参照してください。

nMask
取得するスクロール バーパラメーターを指定します。 既定値は、、、、および SIF_PAGESIF_POS 組み合 SIF_TRACKPOS わせを指定します SIF_RANGE 。 値 SCROLLINFO の詳細については、 を nMask 参照してください。

戻り値

メッセージが値を取得した場合、戻り値は になります TRUE 。 それ以外の場合は、FALSE となります。

注釈

GetScrollInfo では、アプリケーションで 32 ビットのスクロール位置を使用できます。

構造体には、スクロール バーに関する情報 (スクロール バーの最小位置と最大スクロール位置、ページ サイズ、スクロール ボックスの位置 (つまみ) など) SCROLLINFO が含まれる。 構造体の SCROLLINFO 既定値の変更の詳細については、Windows SDK の structure トピックを参照してください。

MFC Windowsスクロール バーの位置を示すメッセージ ハンドラー CWnd::OnHScrollCWnd::OnVScrollは、16 ビットの位置データのみを提供します。 GetScrollInfoSetScrollInfo は、32 ビットのスクロール バー位置データを提供します。 したがって、アプリケーションは、 または の処理中に を呼び出して GetScrollInfoCWnd::OnHScrollCWnd::OnVScroll 、32 ビットのスクロール バー位置データを取得できます。

CWnd::GetScrollLimit

このメンバー関数を呼び出して、スクロール バーの最大スクロール位置を取得します。

int GetScrollLimit(int nBar);

パラメーター

nBar
スクロール バーの種類を指定します。 パラメーターには、次のいずれかの値を指定できます。

  • SB_HORZ 水平スクロール バーのスクロール制限を取得します。

  • SB_VERT 垂直スクロール バーのスクロール制限を取得します。

戻り値

成功した場合のスクロール バーの最大位置を指定します。それ以外の場合は 0。

CWnd::GetScrollPos

スクロール バーのスクロール ボックスの現在位置を取得します。

int GetScrollPos(int nBar) const;

パラメーター

nBar
調べるスクロール バーを指定します。 パラメーターには、次のいずれかの値を指定できます。

  • SB_HORZ 水平スクロール バーの位置を取得します。

  • SB_VERT 垂直スクロール バーの位置を取得します。

戻り値

成功した場合は、スクロール バーのスクロール ボックスの現在位置を指定します。それ以外の場合は 0。

注釈

現在の位置は、現在のスクロール範囲に依存する相対値です。 たとえば、スクロール範囲が 50 ~ 100 で、スクロール ボックスがバーの中央にある場合、現在の位置は 75 です。

CWnd::GetScrollRange

指定したスクロール バーの現在の最小および最大スクロール バー位置を、 と で指定された場所にコピー lpMinPos します lpMaxPos

void GetScrollRange(
    int nBar,
    LPINT lpMinPos,
    LPINT lpMaxPos) const;

パラメーター

nBar
調べるスクロール バーを指定します。 パラメーターには、次のいずれかの値を指定できます。

  • SB_HORZ 水平スクロール バーの位置を取得します。

  • SB_VERT 垂直スクロール バーの位置を取得します。

lpMinPos
最小位置を受け取る整数変数をポイントします。

lpMaxPos
最大位置を受け取る整数変数をポイントします。

注釈

CWnd スクロール バーが存在しない場合、メンバー関数は 0 を GetScrollRange および にコピー lpMinPos します lpMaxPos

標準スクロール バーの既定の範囲は 0 ~ 100 です。 スクロール バー コントロールの既定の範囲は空です (両方の値は 0 です)。

CWnd::GetStyle

現在のウィンドウ スタイルを返します。

DWORD GetStyle() const;

戻り値

ウィンドウのスタイル。 MFC で使用されるウィンドウ スタイルの詳細については、「ウィンドウ スタイル」を 参照してください

CWnd::GetSystemMenu

アプリケーションがコピーおよび変更のためにコントロール メニューにアクセスできるようにします。

CMenu* GetSystemMenu(BOOL bRevert) const;

パラメーター

bRevert
実行するアクションを指定します。 が bRevertFALSE 場合 GetSystemMenu は、現在使用されているコントロール メニューのコピーへのハンドルを返します。 このコピーは、最初は [コントロール] メニューと同じですが、変更できます。 が bRevertTRUE 場合 GetSystemMenu 、コントロール メニューが既定の状態にリセットされます。 前の [コントロール] メニュー (変更された可能性があります) がある場合は破棄されます。 この場合、戻り値は未定義です。

戻り値

が の場合、コントロール メニューのコピーを bRevert 識別します FALSE 。 が bRevertTRUE 場合、戻り値は未定義です。

返されるポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

[コントロール] メニューの独自のコピーを作成するために使用しないウィンドウには、標準の GetSystemMenu [コントロール] メニューが表示されます。

メンバー関数によって返されるポインターは、または 関数と一緒に使用 GetSystemMenuCMenu::AppendMenu して、コントロール CMenu::InsertMenuCMenu::ModifyMenu メニューを変更できます。

[コントロール] メニューには、 などのさまざまな ID 値で識別される項目 SC_CLOSESC_MOVE 最初に含まれています SC_SIZE 。 [コントロール] メニューの項目によってメッセージが WM_SYSCOMMAND 生成されます。 定義済みのすべてのコントロール メニュー項目の ID 番号は、0xF000。 アプリケーションが [コントロール] メニューに項目を追加する場合は、F000 未満の ID 番号を使用する必要があります。

Windows標準の [コントロール] メニューで項目を自動的に使用できなくなる場合があります。 CWnd は、メニューが表示される前に送信されるメッセージに応答することで、独自 WM_INITMENU の選択または使用不可を実行できます。

// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu *pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
   CString strAboutMenu;
   strAboutMenu.LoadString(IDS_ABOUT);
   if (!strAboutMenu.IsEmpty())
   {
      pSysMenu->AppendMenu(MF_SEPARATOR);
      pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
   }
}

// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE);  // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

CWnd::GetTitleBarInfo

指定されたタイトル バーの情報を取得します。

BOOL GetTitleBarInfo(PTITLEBARINFO pti) const;

パラメーター

pti
情報を TITLEBARINFO 受け取る 構造体へのポインター。

注釈

このメンバー関数は、 関数の機能をエミュレートします。詳細については、「Windows GetTitleBarInfo SDK」を参照してください。

CWnd::GetTopLevelFrame

このメンバー関数を呼び出して、ウィンドウのトップ レベルのフレーム ウィンドウ (その場合) を取得します。

CFrameWnd* GetTopLevelFrame() const;

戻り値

ウィンドウのトップ レベルのフレーム ウィンドウを識別します。

返されるポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

ウィンドウがアタッチされていない場合、またはその上位レベルの親が派生オブジェクトではない場合、この関数は CWndCFrameWnd を返します NULL

CWnd::GetTopLevelOwner

このメンバー関数を呼び出して、トップ レベルのウィンドウを取得します。

CWnd* GetTopLevelOwner() const;

戻り値

トップ レベルのウィンドウを識別します。 返されるポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

トップ レベルのウィンドウは、デスクトップの子であるウィンドウです。 に CWnd ウィンドウがアタッチされている場合、この関数は を返します NULL

CWnd::GetTopLevelParent

このメンバー関数を呼び出して、ウィンドウの上位レベルの親を取得します。

CWnd* GetTopLevelParent() const;

戻り値

ウィンドウの上位レベルの親ウィンドウを識別します。

返されるポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

GetTopLevelParent は と に GetTopLevelFrame 似ています GetTopLevelOwner が、現在の所有者ウィンドウとして設定された値は無視されます。

CWnd::GetTopWindow

に属する上位レベルの子ウィンドウを検索します CWnd

CWnd* GetTopWindow() const;

戻り値

子ウィンドウのリンクリスト内のトップ レベルの CWnd 子ウィンドウを識別します。 子ウィンドウが存在しない場合、値は です NULL

返されるポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

CWnd 子がない場合、この関数は を返します NULL

CWnd::GetUpdateRect

更新領域を完全に囲む最小の四角形の座標を取得します。

BOOL GetUpdateRect(
    LPRECT lpRect,
    BOOL bErase = FALSE);

パラメーター

lpRect
更新領域を囲む更新プログラムのクライアント座標を受け取るオブジェクト CRect または構造体をCRectポイントします。

更新リージョンが 内に存在するかどうかを判断するには NULL 、このパラメーターを に設定します CWnd 。 が lpRect の場合、メンバー関数は更新領域が存在する場合は 0 以外を返し、存在しない場合 NULLGetUpdateRect は 0 を返します。 これにより、メッセージが無効な領域から WM_PAINT 発生したかどうかを判断する方法が提供されます。 バージョン NULL 3.0 以前ではWindowsパラメーターを に設定しない。

bErase
更新領域の背景を消去するかどうかを指定します。

戻り値

更新リージョンの状態を指定します。 更新リージョンが空でない場合、値は 0 以外です。それ以外の場合は 0。

パラメーターが に設定されている場合、更新リージョンが存在する場合、戻り値は lpRectNULL 0 以外の値になります。それ以外の場合は 0 です。

注釈

スタイルを使用して作成され、マッピング モードが ではない場合、メンバー関数は四角形を CWndCS_OWNDCMM_TEXTGetUpdateRect 論理座標で指定します。 それ以外の場合は GetUpdateRect 、クライアント座標で四角形を指定します。 更新領域がない場合は、四角形を空に GetUpdateRect 設定します (すべての座標を 0 に設定します)。

パラメーター bErase は、更新領域 GetUpdateRect の背景を消去するかどうかを指定します。 が bEraseTRUE 、更新リージョンが空ではない場合、背景は消去されます。 背景を消去するには、 GetUpdateRect メッセージを送信 WM_ERASEBKGND します。

メンバー関数によって取得された更新四角形は、メンバー関数によって取得 BeginPaint された四角形と GetUpdateRect 同じです。

メンバー関数は更新リージョンを自動的に検証します。そのため、 の呼び出しの直後に行われた すべての呼び出しは、空の更新リージョン BeginPaintGetUpdateRectBeginPaint を取得します。

CWnd::GetUpdateRgn

によって識別されるリージョンに更新リージョンを取得します pRgn

int GetUpdateRgn(
    CRgn* pRgn,
    BOOL bErase = FALSE);

パラメーター

pRgn
更新リージョンを識別します。

bErase
背景を消去し、子ウィンドウの非クライアント領域を描画するかどうかを指定します。 値が の場合 FALSE 、描画は実行されません。

戻り値

結果の領域の種類を示す短整数フラグを指定します。 値は、次のいずれかを受け取る場合があります。

  • SIMPLEREGION 領域には、重なり合う境界線はありません。

  • COMPLEXREGION 領域の境界線が重複しています。

  • NULLREGION リージョンが空です。

  • ERROR リージョンは作成されません。

注釈

この領域の座標は、左上隅 (クライアント座標) を基準としています。

メンバー関数は更新リージョンを自動的に検証します。そのため、 の呼び出しの直後に行われた すべての呼び出しは、空の更新リージョン BeginPaintGetUpdateRgnBeginPaint を取得します。

CWnd::GetWindow

要求されたウィンドウへのポインターを返します。または、ない NULL 場合は を返します。

CWnd* GetWindow(UINT nCmd) const;

パラメーター

*nCmd*
と返されるウィンドウの CWnd 間のリレーションシップを指定します。 次のいずれかの値を受け取ることができます。

  • GW_CHILD 最初の子 CWnd ウィンドウを識別します。

  • GW_HWNDFIRSTCWnd 子ウィンドウの場合、 は最初の兄弟ウィンドウを返します。 それ以外の場合は、リスト内の最初のトップ レベル ウィンドウが返されます。

  • GW_HWNDLASTCWnd 子ウィンドウの場合、 は最後の兄弟ウィンドウを返します。 それ以外の場合は、リスト内の最後のトップ レベル ウィンドウが返されます。

  • GW_HWNDNEXT ウィンドウ マネージャーの一覧の次のウィンドウを返します。

  • GW_HWNDPREV ウィンドウ マネージャーの一覧の前のウィンドウを返します。

  • GW_OWNER 所有者を識別 CWnd します。

戻り値

返されるポインターは一時的な場合があります。後で使用するために格納することはできません。

CWnd::GetWindowContextHelpId

このメンバー関数を呼び出して、ウィンドウに関連付けられているヘルプ コンテキスト識別子 (必要な場合) を取得します。

DWORD GetWindowContextHelpId() const;

戻り値

ヘルプ コンテキスト識別子。 ウィンドウに何も指定しない場合は 0 を返します。

CWnd::GetWindowedChildCount

このメンバー関数を呼び出して、関連付けられている子ウィンドウの数を取得します。

long GetWindowedChildCount();

戻り値

オブジェクトに関連付けられている子ウィンドウの CWnd 数。

CWnd::GetWindowDC

キャプション バー、メニュー、スクロール バーなど、ウィンドウ全体の表示コンテキストを取得します。

CDC* GetWindowDC();

戻り値

関数が成功した場合に、指定されたウィンドウの表示コンテキストを識別します。それ以外の場合 NULL は 。

返されるポインターは一時的な場合があります。後で使用するために格納することはできません。 ReleaseDC への正常な呼び出しごとに 1 回呼び出す必要があります GetWindowDC

注釈

ウィンドウ表示コンテキストでは、コンテキストの原点がクライアント領域ではなくの左上隅にあるので、 内の任意の場所に塗り CWndCWnd 分けできます。

既定の属性は、コンテキストを取得するごとに表示コンテキストに割り当てられます。 以前の属性は失われます。

GetWindowDC は、非クライアント領域内の特殊な塗り分け効果 CWnd に使用することを目的としています。 ウィンドウの非クライアント領域での塗り分けは推奨されません。

このWindows、キャプション バー、メニュー、スクロール バーなど、非クライアント領域のさまざまな部分の寸法を取得 GetSystemMetrics するために使用できます。

塗り分けが完了したら、 ReleaseDC 表示コンテキストを解放するためにメンバー関数を呼び出す必要があります。 表示コンテキストを解放すると、同時に開くことができるデバイス コンテキストの数に制限が生じ、アプリケーションによって要求される塗り分けには重大な影響を与える可能性があります。

CWnd::GetWindowInfo

ウィンドウに関する情報を取得します。

BOOL GetWindowInfo(PWINDOWINFO pwi) const;

パラメーター

pwi
構造体への WINDOWINFO ポインター。

注釈

このメンバー関数は、 関数の機能をエミュレートします。詳細については、「Windows GetWindowInfo SDK」を参照してください。

CWnd::GetWindowlessChildCount

関連付けられたウィンドウレス子ウィンドウの数を取得します。

long GetWindowlessChildCount();

戻り値

オブジェクトに関連付けられているウィンドウレス子ウィンドウの CWnd 数。

CWnd::GetWindowPlacement

ウィンドウの表示状態、通常の位置 (復元された位置)、最小化された位置、および最大表示された位置を取得します。

BOOL GetWindowPlacement(WINDOWPLACEMENT* lpwndpl) const;

パラメーター

lpwndpl
表示状態と WINDOWPLACEMENT 位置情報を受け取る 構造体をポイントします。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

注釈

この flags 関数によって取得 WINDOWPLACEMENT される 構造体のメンバーは常に 0 です。 が CWnd 最大化されている場合、 の showCmd メンバーは WINDOWPLACEMENT です SW_SHOWMAXIMIZED 。 ウィンドウが最小化されている場合は です SW_SHOWMINIMIZED 。 それ SW_SHOWNORMAL 以外の場合は です。

CWnd::GetWindowRect

オブジェクトの外接する四角形の次元を、 が指す CWnd 構造体にコピーします lpRect

void GetWindowRect(LPRECT lpRect) const;

パラメーター

lpRect
左上隅と右下隅の画面座標を受け取る オブジェクトまたは 構造体 CRect をポイントします。 CRect

注釈

ディメンションは、表示画面の左上隅を基準にした画面座標で指定されます。 キャプション、境界線、スクロール バーの寸法 (存在する場合) が含まれます。

CWnd::GetWindowRgn

このメンバー関数を呼び出して、ウィンドウのウィンドウ領域を取得します。

int GetWindowRgn(HRGN hRgn)const;

パラメーター

hRgn
ウィンドウ領域へのハンドル。

戻り値

戻り値は、関数が取得する領域の型を指定します。 次のいずれかの値を指定できます。

  • NULLREGION リージョンが空です。

  • SIMPLEREGION 領域は 1 つの四角形です。

  • COMPLEXREGION 領域は複数の四角形です。

  • ERROR エラーが発生しました。リージョンは影響を受けません。

注釈

ウィンドウ領域は、オペレーティング システムが描画を許可するウィンドウ内の領域を決定します。 オペレーティング システムでは、ウィンドウ領域の外側にあるウィンドウの一部は表示されません。

ウィンドウのウィンドウ領域の座標は、ウィンドウのクライアント領域ではなく、ウィンドウの左上隅を基準にした相対座標です。

ウィンドウのウィンドウ領域を設定するには、 を呼び出します CWnd::SetWindowRgn

CWnd::GetWindowText

キャプション タイトル (ある場合) を、 または が指すバッファーにコピー先 CWndlpszStringBuf の文字列 にコピーします rString

int GetWindowText(
    LPTSTR lpszStringBuf,
    int nMaxCount) const;

void GetWindowText(
    CString& rString) const;

パラメーター

lpszStringBuf
ウィンドウのタイトルのコピーされた文字列を受け取るバッファーをポイントします。

nMaxCount
終端の null 文字を含め、バッファーにコピーする最大文字数を指定します。 文字列が で指定された文字数を超える場合 nMaxCount 、文字列は切り捨てられて表示されます。

rString
ウィンドウ CString のタイトルのコピーされた文字列を受け取る オブジェクト。

戻り値

コピーした文字列の長さ (文字数) を指定します。終端の null 文字は含めることはできません。 キャプションがない場合は CWnd 0、キャプションが空の場合は 0 です。

注釈

オブジェクトが コントロールの場合、メンバー関数はキャプションをコピーするのではなく、コントロール内の CWndGetWindowText テキストをコピーします。

このメンバー関数により、 WM_GETTEXT メッセージが オブジェクトに送信 CWnd されます。

の例を参照してください CWnd::SetWindowText

CWnd::GetWindowTextLength

オブジェクト キャプション タイトルの CWnd 長さを返します。

int GetWindowTextLength() const;

戻り値

テキストの長さを文字で指定します。null 終端文字は含めることはできません。 このようなテキストが存在しない場合、値は 0 です。

注釈

CWnd コントロールの場合、メンバー関数はキャプションではなく、コントロール内のテキストの長 GetWindowTextLength さを返します。

このメンバー関数により、 WM_GETTEXTLENGTH メッセージが オブジェクトに送信 CWnd されます。

の例を参照してください CWnd::SetWindowText

CWnd::HideCaret

ディスプレイ画面からキャレットを削除して非表示にします。

void HideCaret();

注釈

キャレットは表示されなくなりましたが、メンバー関数を使用して再び ShowCaret 表示できます。 キャレットを非表示にしても、現在の図形は破棄されない。

非表示は累積的です。 行で 5 回呼び出された場合は、キャレットが表示される前にメンバー関数を 5 回呼び HideCaretShowCaret 出す必要があります。

CWnd::HiliteMenuItem

トップ レベル (メニュー バー) メニュー項目の強調表示または削除を行います。

BOOL HiliteMenuItem(
    CMenu* pMenu,
    UINT nIDHiliteItem,
    UINT nHilite);

パラメーター

pMenu
強調表示する項目を含むトップ レベルのメニューを識別します。

nIDHiliteItem
パラメーターの値に応じて、強調表示するメニュー項目を指定 nHilite します。

nHilite
メニュー項目を強調表示するか、強調表示を解除するかを指定します。 またはとの組み合わせにすることができ MF_HILITEMF_UNHILITEMF_BYCOMMANDMF_BYPOSITION ます。 値は、ビットごとの演算子を使用して組み合わせることができ OR ます。 これらの値には次の意味があります。

  • MF_BYCOMMANDnIDHiliteItemは、メニュー項目の ID (既定の解釈) として解釈します。

  • MF_BYPOSITIONnIDHiliteItemメニュー項目の0から始まるオフセットとして解釈します。

  • MF_HILITE 項目を強調表示します。 この値が指定されていない場合、強調表示は項目から削除されます。

  • MF_UNHILITE 項目から強調表示を削除します。

戻り値

メニュー項目が強調表示されたかどうかを指定します。 項目が強調表示されている場合は0以外の。それ以外の場合は0です。

注釈

MF_HILITEフラグと MF_UNHILITE フラグは、このメンバー関数でのみ使用できます。これらのフラグは、メンバー関数と共に使用することはできません CMenu::ModifyMenu

CWnd::HtmlHelp

このメンバー関数を呼び出して、Html ヘルプアプリケーションを呼び出します。

virtual void HtmlHelp(
    DWORD_PTR dwData,
    UINT nCmd = 0x000F);

パラメーター

dwData
追加データを指定します。 使用される値は、パラメーターの値によって異なり nCmd ます。

nCmd
要求されるヘルプの種類を指定します。 使用可能な値の一覧とパラメーターに与える影響については、 dwDatauCommand Windows SDK の HTML ヘルプ API リファレンスで説明されているパラメーターを参照してください。

注釈

詳細については、「 CWinApp::HtmlHelp 」を参照してください。

CWnd::InitDynamicLayout

ウィンドウの動的レイアウトを初期化するために、フレームワークによって呼び出されます。

void InitDynamicLayout();

注釈

このメソッドを直接呼び出さないでください。

CWnd::Invalidate

のクライアント領域全体を無効にし CWnd ます。

void Invalidate(BOOL bErase = TRUE);

パラメーター

bErase
更新領域内の背景を消去するかどうかを指定します。

注釈

クライアント領域は、次のメッセージが発生したときに描画するようにマークされ WM_PAINT ます。 WM_PAINTまたはメンバー関数によってメッセージが発生する前に、領域を検証することもでき ValidateRectValidateRgn ます。

更新領域を bErase 処理するときに、更新領域内の背景を消去するかどうかをパラメーターで指定します。 がの場合 bEraseTRUE 、メンバー関数が呼び出されると背景が消去され BeginPaint ます。がの場合 bErase 、背景は変更され FALSE ません。 bEraseTRUE 更新領域の任意の部分に対してである場合、指定された部分だけでなく、領域全体の背景も消去されます。

WM_PAINTCWnd 更新領域が空ではなく、そのウィンドウのアプリケーションキューに他のメッセージがない場合は、Windows によってメッセージが送信されます。

の例を参照してください CWnd::UpdateWindow

CWnd::InvalidateRect

四角形を更新領域に追加することによって、指定された四角形内のクライアント領域を無効にし CWnd ます。

void InvalidateRect(
    LPCRECT lpRect,
    BOOL bErase = TRUE);

パラメーター

lpRect
CRect更新領域に追加する四角形 (クライアント座標) を格納するオブジェクトまたはCRectを指します。 がの場合 lpRectNULL 、クライアント領域全体が領域に追加されます。

bErase
更新領域内の背景を消去するかどうかを指定します。

注釈

無効化された四角形は、更新領域内の他のすべての領域と共に、次のメッセージが送信されるときに描画用にマークされ WM_PAINT ます。 無効化された領域は、次の呼び出しが発生したときに領域が処理される WM_PAINT か、 ValidateRect またはメンバー関数によって領域が検証されるまで、更新領域に累積され ValidateRgn ます。

更新領域を bErase 処理するときに、更新領域内の背景を消去するかどうかをパラメーターで指定します。 がの場合 bEraseTRUE 、メンバー関数が呼び出されると背景が消去され BeginPaint ます。がの場合 bErase 、背景は変更され FALSE ません。 bEraseTRUE 更新領域の任意の部分に対してである場合、指定された部分だけでなく、領域全体の背景も消去されます。

WM_PAINTCWnd 更新領域が空ではなく、そのウィンドウのアプリケーションキューに他のメッセージがない場合は、Windows によってメッセージが送信されます。

CWnd::InvalidateRgn

指定された領域内のクライアント領域を、の現在の更新領域に追加することによって無効にし CWnd ます。

void InvalidateRgn(
    CRgn* pRgn,
    BOOL bErase = TRUE);

パラメーター

pRgn
CRgn更新領域に追加する領域を識別するオブジェクトへのポインター。 この領域にはクライアント座標があると見なされます。 このパラメーターがの場合 NULL 、クライアント領域全体が更新領域に追加されます。

bErase
更新領域内の背景を消去するかどうかを指定します。

注釈

無効化された領域は、更新領域内の他のすべての領域と共に、メッセージが次に送信されるときに描画用にマークされ WM_PAINT ます。 無効化された領域は、メッセージが次に送信されたときに領域が処理される WM_PAINT か、 ValidateRect またはメンバー関数によって領域が検証されるまで、更新領域に累積され ValidateRgn ます。

更新領域を bErase 処理するときに、更新領域内の背景を消去するかどうかをパラメーターで指定します。 がの場合 bEraseTRUE 、メンバー関数が呼び出されると背景が消去され BeginPaint ます。がの場合 bErase 、背景は変更され FALSE ません。 bEraseTRUE 更新領域の任意の部分に対してである場合、指定された部分だけでなく、領域全体の背景も消去されます。

WM_PAINTCWnd 更新領域が空ではなく、そのウィンドウのアプリケーションキューに他のメッセージがない場合は、Windows によってメッセージが送信されます。

指定された領域は、リージョン関数のいずれかによって既に作成されている必要があります。

CWnd::InvokeHelper

によって指定されたコンテキストで、によって指定された ActiveX コントロールメソッドまたはプロパティを呼び出すには、このメンバー関数を呼び出し dwDispIDwFlags ます。

void AFX_CDECL InvokeHelper(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo,
    ... );

パラメーター

dwDispID
呼び出されるメソッドまたはプロパティを識別します。

wFlags
への呼び出しのコンテキストを記述するフラグ IDispatch::Invoke

vtRet
戻り値の型を指定します。 使用可能な値については、「」の「解説」を参照してください COleDispatchDriver::InvokeHelper

pvRet
プロパティ値または戻り値を受け取る変数のアドレス。 これは、 vtRetによって指定される型と一致する必要があります。

pbParamInfo
pbParamInfoに従うパラメーターの型を指定するバイトの null で終わる文字列へのポインター。 使用可能な値については、「」の「解説」を参照してください COleDispatchDriver::InvokeHelper

...
で指定された型のパラメーターの変数リスト pbParamInfo

注釈

pbParamInfo パラメーターは、メソッドまたはプロパティに渡されるパラメーターの型を指定します。 引数の変数一覧は、構文宣言でによって表され ... ます。

この関数は、パラメーターを VARIANTARG 値に変換し、 IDispatch::Invoke ActiveX コントロールに対してメソッドを呼び出します。 IDispatch::Invoke の呼び出しに失敗すると、この関数は、例外をスローします。 SCODEによって返される (状態コード) がの場合 IDispatch::InvokeDISP_E_EXCEPTION 、この関数はオブジェクトをスローし COleException ます。それ以外の場合は、をスロー COleDispatchException します。

注意

この関数は、ActiveX コントロールを表すオブジェクトでのみ呼び出す必要があり CWnd ます。

このメンバー関数を ActiveX コントロールコンテナーと共に使用する方法の詳細については、「コントロールコンテナー: ActiveX コントロールコンテナーのプログラミング ActiveX コントロール」を参照して ActiveX ください。

CWnd::IsChild

によって指定されたウィンドウ pWnd が子ウィンドウまたはの他の直接の子孫であるかどうかを示し CWnd ます。

BOOL IsChild(const CWnd* pWnd) const;

パラメーター

pWnd
テストするウィンドウを識別します。

戻り値

関数の結果を指定します。 によって識別されるウィンドウがの子ウィンドウである場合、値は0以外の値です。 pWnd それ以外の場合は CWnd 0 です。

注釈

子ウィンドウは、 CWndCWnd 元のポップアップウィンドウから子ウィンドウにつながる親ウィンドウのチェーンにオブジェクトがある場合、の直接の子孫です。

CWnd::IsD2DSupportEnabled

D2D のサポートが有効かどうかを判断します。

BOOL IsD2DSupportEnabled();

戻り値

TRUE 機能が有効な場合は。それ以外の場合は FALSE

CWnd::IsDialogMessage

このメンバー関数を呼び出して、指定したメッセージがモードレスダイアログボックス用であるかどうかを確認します。の場合、この関数はメッセージを処理します。

BOOL IsDialogMessage(LPMSG lpMsg);

パラメーター

lpMsg
MSG確認するメッセージが格納されている構造体を指します。

戻り値

メンバー関数が特定のメッセージを処理したかどうかを指定します。 メッセージが処理された場合は0以外になります。それ以外の場合は0です。 戻り値が 0 の場合は、基本クラスのメンバー関数を呼び CWnd::PreTranslateMessage 出してメッセージを処理します。 メンバー関数のオーバーライド CWnd::PreTranslateMessage では、コードは次のように表示されます。

BOOL CAboutDlg::PreTranslateMessage(MSG *pMsg)
{
   if (IsDialogMessage(pMsg))
      return TRUE;
   else
      return CDialog::PreTranslateMessage(pMsg);
}

注釈

関数は、メッセージを処理するときにキーボード メッセージをチェックし、対応するダイアログ ボックスの選択 IsDialogMessage コマンドに変換します。 たとえば、Tab キーは次のコントロールまたはコントロールのグループを選択し、下方向キーはグループ内の次のコントロールを選択します。

によって処理されたメッセージは、既に処理済みWindows関数に渡 IsDialogMessageTranslateMessageDispatchMessage す必要があります。

CWnd::IsDlgButtonChecked

ボタン コントロールの横にチェック マークが付くかどうかを判断します。

UINT IsDlgButtonChecked(int nIDButton) const;

パラメーター

nIDButton
ボタン コントロールの整数識別子を指定します。

戻り値

指定したコントロールがチェックされている場合は 0 以外、チェックされていない場合は 0 です。 チェック ボックスをオンにできるのは、ラジオ ボタンとチェック ボックスのみです。 3 つの状態のボタンの場合、ボタンが不確定な場合、戻り値は 2 になります。 このメンバー関数は、プッシュボタンに対して 0 を返します。

注釈

ボタンが 3 状態のコントロールの場合、メンバー関数は、淡色表示、チェック、またはどちらでもないかを決定します。

CWnd::IsDynamicLayoutEnabled

このウィンドウで動的レイアウトが有効かどうかを判断します。 動的レイアウトが有効な場合は、ユーザーが親ウィンドウのサイズを変更したときに、子ウィンドウの位置とサイズを変更できます。

BOOL IsDynamicLayoutEnabled() const;

戻り値

TRUE 動的レイアウトが有効な場合は 。それ以外の場合 FALSE は 。

注釈

CWnd::IsIconic

が最小化 ( CWnd アイコン) かどうかを指定します。

BOOL IsIconic() const;

戻り値

が最小化されている CWnd 場合は 0 以外、それ以外の場合は 0。

void CAboutDlg::OnPaint()
{
   // This code, normally emitted by the Application Wizard for a dialog-
   // based project for the dialog's WM_PAINT handler, runs only if the
   // window is iconic. The window erases the icon's area, then
   // paints the icon referenced by m_hIcon.
   if (IsIconic())
   {
      CPaintDC dc(this); // device context for painting

      SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);

      // Center icon in client rectangle
      int cxIcon = GetSystemMetrics(SM_CXICON);
      int cyIcon = GetSystemMetrics(SM_CYICON);
      CRect rect;
      GetClientRect(&rect);
      int x = (rect.Width() - cxIcon + 1) / 2;
      int y = (rect.Height() - cyIcon + 1) / 2;

      // Draw the icon
      dc.DrawIcon(x, y, m_hIcon);
   }
   else
   {
      CDialog::OnPaint();
   }
}

CWnd::IsTouchWindow

CWnd でタッチ操作がサポートされているかどうかを示します。

BOOL IsTouchWindow() const;

戻り値

TRUE タッチサポート CWnd がある場合は 。それ以外の場合は FALSE

注釈

CWnd::IsWindowEnabled

がマウス入力 CWnd とキーボード入力に対して有効かどうかを指定します。

BOOL IsWindowEnabled() const;

戻り値

が有効な場合 CWnd は 0 以外、それ以外の場合は 0。

//change the background color of an edit control on the dialog
HBRUSH CMyDlg::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
   HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

   if (pWnd->GetDlgCtrlID() == IDC_MYEDIT)
   {
      if (pWnd->IsWindowEnabled())
      {
         // Red brush for the background...
         pDC->SetBkColor(RGB(255, 0, 0));
         // m_pRedBrush is the CBrush object initialized with a red brush
         // using CreateSolidBrush
         return (HBRUSH)m_RedBrush.GetSafeHandle();
      }
      else
      {
         // Blue brush for the background...
         pDC->SetBkColor(RGB(0, 0, 255));
         // m_pBlueBrush is the CBrush object initialized with a blue
         // brush using CreateSolidBrush
         return (HBRUSH)m_BlueBrush.GetSafeHandle();
      }
   }

   return hbr;
}

CWnd::IsWindowVisible

指定したウィンドウの表示状態を決定します。

BOOL IsWindowVisible() const;

戻り値

が表示されている CWnd 場合は 0 以外 (スタイル ビット WS_VISIBLE が設定され、親ウィンドウが表示されます)。 戻り値はスタイル ビットの状態を反映します。他のウィンドウで完全に見えなくても、戻り値は 0 以外 WS_VISIBLECWnd になる可能性があります。

注釈

ウィンドウは、スタイル ビットで示される表示状態を WS_VISIBLE 持っています。 このスタイル ビットがメンバー関数の呼び出しで設定されている場合、ウィンドウが表示され、ウィンドウにスタイル ビットが設定されている限り、ウィンドウへの後続の描画 ShowWindow が表示されます。

スタイルを持つウィンドウへの描画は、ウィンドウが他のウィンドウでカバーされている場合、または親ウィンドウによってクリップされている場合 WS_VISIBLE は表示されません。

// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is not, it calls
// CWnd::ShowWindow with the SW_SHOWNORMAL command.
void CMainFrame::DisplayModeless()
{
   if(!m_Modeless.IsWindowVisible())
   {
      m_Modeless.ShowWindow(SW_SHOWNORMAL);
   }
}

// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is, it calls
// CWnd::ShowWindow with the SW_HIDE command.
void CMainFrame::HideModeless()
{
   if(m_Modeless.IsWindowVisible())
   {
      m_Modeless.ShowWindow(SW_HIDE);
   }
}

CWnd::IsZoomed

が最大化 CWnd されているかどうかを判断します。

BOOL IsZoomed() const;

戻り値

が最大化されている CWnd 場合は 0 以外、それ以外の場合は 0。

CWnd::KillTimer

の前の呼び出しから によって nIDEvent 識別されるタイマー イベントを終了します SetTimer

BOOL KillTimer(UINT_PTR nIDEvent);

パラメーター

nIDEvent
に渡されるタイマー イベントの値 SetTimer

戻り値

関数の結果を指定します。 イベントが終了した場合、値は 0 以外です。 指定したタイマー イベントが KillTimer メンバー関数で見つからない場合は 0 です。

注釈

タイマーに WM_TIMER 関連付けられている保留中のメッセージは、メッセージ キューから削除されません。

の例を参照してください CWnd::SetTimer

CWnd::LoadDynamicLayoutResource

リソース ファイルから動的レイアウト情報を読み込むために、フレームワークによって呼び出されます。

BOOL LoadDynamicLayoutResource(LPCTSTR lpszResourceName);

パラメーター

lpszResourceName
このウィンドウの目的の動的レイアウト情報が含まれているリソースの名前。

戻り値

正常終了した場合は 0 以外を返します。 エラーが発生した場合は 0 です。

注釈

このメソッドを直接呼び出さないでください。

CWnd::LockWindowUpdate

指定したウィンドウの描画を無効にします。

BOOL LockWindowUpdate();

戻り値

正常終了した場合は 0 以外を返します。 エラーが発生した場合、または関数が別のウィンドウをロックするために使用されている場合は 0 LockWindowUpdate です。

注釈

ロックされたウィンドウは移動できません。 一度にロックできるウィンドウは 1 つのみです。 でロックされたウィンドウのロックを解除するには、 LockWindowUpdate を呼び出します UnlockWindowUpdate

ロックされたウィンドウ (またはロックされた子ウィンドウ) を持つアプリケーションが 、、または Windows 関数を呼び出した場合、呼び出された関数は、表示領域が空のデバイス コンテキストを返します。 GetDCGetDCExBeginPaint これは、アプリケーションがメンバー関数を呼び出してウィンドウのロックを解除するまで UnlockWindowUpdate 発生します。

ウィンドウの更新がロックされている間、システムは、ロックされたウィンドウに関連付けられているデバイス コンテキストに対する描画操作の外接する四角形を追跡します。 描画を再び有効にした場合、この外接する四角形は、ロックされたウィンドウとその子ウィンドウで無効にされ、最終的なメッセージに強制的に画面 WM_PAINT が更新されます。 ウィンドウの更新がロックされている間に描画が発生した場合、領域は無効にされません。

メンバー LockWindowUpdate 関数は、指定されたウィンドウを非表示にしません。また、スタイル ビットを WS_VISIBLE クリアしません。

CWnd::m_hWnd

この にアタッチWindowsウィンドウのハンドル CWnd

HWND m_hWnd;

注釈

データ m_hWnd メンバーは、 型のパブリック変数です HWND

CWnd::MapWindowPoints

複数の点を CWnd の座標空間から他のウィンドウの座標空間へ変換 (マップ) します。

void MapWindowPoints(
    CWnd* pwndTo,
    LPRECT lpRect) const;

void MapWindowPoints(
    CWnd* pwndTo,
    LPPOINT lpPoint,
    UINT nCount) const;

パラメーター

pwndTo
ポイントの変換に使用するウィンドウを識別します。 このパラメーターが の NULL 場合、ポイントは画面座標に変換されます。

lpRect
変換する点を持つ四角形を指定します。 この関数の最初のバージョンは、Windows 3.1 以降でのみ使用できます。

lpPoint
変換するポイントの セットを含む 構造体の配列へのポインター。

nCount
が指す配列 POINT 内の構造体の数を指定します lpPoint

CWnd::MessageBox

アプリケーションによって提供されるメッセージとキャプションを含むウィンドウと、メッセージ ボックス スタイルの一覧で説明されている定義済みのアイコンとプッシュボタンの組み合わせを作成して表示します。

int MessageBox(
    LPCTSTR lpszText,
    LPCTSTR lpszCaption = NULL,
    UINT nType = MB_OK);

パラメーター

lpszText
表示するメッセージ CString を含むオブジェクトまたは null で終えた文字列をポイントします。

lpszCaption
メッセージ ボックス キャプションに使用するオブジェクトまたは null で終われる文字列 CString をポイントします。 が lpszCaptionNULL 場合、既定のキャプション "Error" が使用されます。

nType
メッセージ ボックスの内容と動作を指定します。

戻り値

このメソッドは、SDK MessageBox で定義されている 関数をWindowsします。 このメソッドは、この関数を呼び出した結果を返します。

注釈

このメンバー関数の AfxMessageBox 代わりにグローバル関数を使用して、アプリケーションにメッセージ ボックスを実装します。

メッセージボックスで使用できるさまざまなシステムアイコンを次に示します。

アイコン マクロ
停止または X アイコン。 MB_ICONHANDMB_ICONSTOPMB_ICONERROR
ヘルプまたは疑問符アイコン。 MB_ICONQUESTION
[重要] または [感嘆符] アイコン。 MB_ICONEXCLAMATION と MB_ICONWARNING
情報または文字の I アイコン。 MB_ICONASTERISK と MB_ICONINFORMATION

void CMainFrame::OnDisplayErrorMessage()
{
   // This displays a message box with the title "Error"
   // and the message "Help, Something went wrong."
   // The error icon is displayed in the message box, along with
   // an OK button.
   MessageBox(_T("Help, Something went wrong."), _T("Error"),
              MB_ICONERROR | MB_OK);
}

CWnd::ModifyStyle

ウィンドウのスタイルを変更するには、このメンバー関数を呼び出します。

BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

パラメーター

dwRemove
スタイルの変更中に削除されるウィンドウスタイルを指定します。

dwAdd
スタイルの変更中に追加されるウィンドウスタイルを指定します。

nFlags
に渡されるフラグ SetWindowPos 。を呼び出さない場合は 0 SetWindowPos 。 既定値は 0 です。 プリセットフラグの一覧については、「解説」を参照してください。

戻り値

スタイルが正常に変更された場合は0以外の。それ以外の場合は0です。

注釈

追加または削除するスタイルは、ビットごとの OR 演算子 (|) を使用して組み合わせることができます。 使用可能なウィンドウスタイルの詳細については、「トピックウィンドウのスタイル」および「Windows SDK」を参照してください

nFlagsが0以外の場合、は ModifyStyle Windows API 関数を呼び出し、 SetWindowPosnFlags 次の4つのプリセットフラグを組み合わせてウィンドウを再描画します。

  • SWP_NOSIZE 現在のサイズを保持します。

  • SWP_NOMOVE 現在の位置を保持します。

  • SWP_NOZORDER 現在の Z オーダーを保持します。

  • SWP_NOACTIVATE ウィンドウをアクティブにしません。

ウィンドウの拡張スタイルを変更するには、「」を参照してください ModifyStyleEx

注意

特定のコントロールの一部のスタイル ( ES_READONLY たとえば、エディットコントロールのスタイル) では、 ModifyStyle コントロールが特殊な内部処理を実行する必要があるため、スタイルが正しく変更されない場合があります。 このような場合、スタイルを変更するための対応するメッセージが使用できるようになり EM_SETREADONLY ます (前述の例を参照)。

// This example adds the WS_CLIPCHILDREN style to the window.
// No Styles are removed from the window.
void CMyView::OnInitialUpdate()
{
   CView::OnInitialUpdate();
   ModifyStyle(0, WS_CLIPCHILDREN);
}

CWnd::ModifyStyleEx

ウィンドウの拡張スタイルを変更するには、このメンバー関数を呼び出します。

BOOL ModifyStyleEx(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

パラメーター

dwRemove
スタイルの変更中に削除される拡張スタイルを指定します。

dwAdd
スタイルの変更中に追加する拡張スタイルを指定します。

nFlags
に渡されるフラグ SetWindowPos 。を呼び出さない場合は 0 SetWindowPos 。 既定値は 0 です。 プリセットフラグの一覧については、「解説」を参照してください。

戻り値

スタイルが正常に変更された場合は0以外の。それ以外の場合は0です。

注釈

追加または削除するスタイルは、ビットごとの演算子 (|) を使用して組み合わせることができ OR ます。 使用可能な拡張スタイルの詳細については、このブックの「拡張ウィンドウスタイル」および「Windows SDK のトピックを参照してください。

nFlagsが0以外の場合、は ModifyStyleEx Windows API 関数を呼び出し、 SetWindowPosnFlags 次の4つのプリセットフラグを組み合わせてウィンドウを再描画します。

  • SWP_NOSIZE 現在のサイズを保持します。

  • SWP_NOMOVE 現在の位置を保持します。

  • SWP_NOZORDER 現在の Z オーダーを保持します。

  • SWP_NOACTIVATE ウィンドウをアクティブにしません。

通常のウィンドウスタイルを使用してウィンドウを変更するには、「」を参照してください ModifyStyle

// This example would make the dialog box transparent by
// changing the dialog window's extended styles.
int CAboutDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
   if (CDialog::OnCreate(lpCreateStruct) == -1)
      return -1;

   ModifyStyleEx(0, WS_EX_TRANSPARENT);   
   
   return 0;
}

CWnd::MoveWindow

位置と大きさを変更します。

void MoveWindow(
    int x,
    int y,
    int nWidth,
    int nHeight,
    BOOL bRepaint = TRUE);

void MoveWindow(
    LPCRECT lpRect,
    BOOL bRepaint = TRUE);

パラメーター

x
の左側の新しい位置を指定し CWnd ます。

y
の先頭の新しい位置を指定し CWnd ます。

nWidth
の新しい幅を指定し CWnd ます。

nHeight
の新しい高さを指定し CWnd ます。

bRepaint
を再描画するかどうかを指定し CWnd ます。 TRUEの場合、メッセージ CWndWM_PAINT ハンドラー内で通常どおりメッセージを受信し OnPaint ます。 このパラメーターがの場合 FALSE 、どのような種類の再描画も行われません。 これは、クライアント領域、非クライアント領域 (タイトルとスクロールバーを含む)、およびの移動の結果としてカバーされていない親ウィンドウの任意の部分に適用され CWnd ます。 このパラメーターがの場合 FALSE 、アプリケーションは、再描画する必要があるおよび親ウィンドウの部分を明示的に無効化または再描画する必要があり CWnd ます。

lpRect
CRect新しいサイズと位置を指定するオブジェクトまたはCRect

注釈

最上位レベルのオブジェクトの場合 CWndxy パラメーターとパラメーターは画面の左上隅を基準としています。 子オブジェクトの場合 CWnd は、親ウィンドウのクライアント領域の左上隅を基準とした相対値になります。

関数は、 MoveWindow メッセージを送信し WM_GETMINMAXINFO ます。 このメッセージを処理 CWnd することにより、可能な限り大きいウィンドウの既定値を変更することができます。 メンバー関数のパラメーターがこれらの値を超える場合は、 MoveWindow ハンドラー内の値を最小値または最大値に置き換えることができ WM_GETMINMAXINFO ます。

の例を参照してください CWnd::ClientToScreen

CWnd::NotifyWinEvent

定義済みイベントが発生したことをシステムに通知します。 クライアントアプリケーションによってイベントのフック関数が登録されている場合、システムはクライアントのフック関数を呼び出します。

void NotifyWinEvent(
    DWORD event,
    LONG idObjectType,
    LONG idObject);

パラメーター

event
発生したイベントを指定します。 この値は、 イベント定数のいずれかである必要があります。

idObjectType
イベントを生成したオブジェクトの種類を識別します。 この値は、定義済みの オブジェクト識別子 またはカスタムオブジェクト ID 値のいずれかです。

idObject
オブジェクトまたはオブジェクトの子要素によってイベントが生成されたかどうかを識別します。 この値がの場合 CHILDID_SELF 、イベントはオブジェクト自体によって生成されたものです。 それ以外の場合、この値は、イベントを生成した要素の子 ID になります。

注釈

このメンバー関数は、 NotifyWinEvent Windows SDK で説明されているように、関数の機能をエミュレートします。

CWnd::OnActivate

フレームワークは、 CWnd オブジェクトがアクティブ化または非アクティブ化されるときにこのメンバー関数を呼び出します。

afx_msg void OnActivate(
    UINT nState,
    CWnd* pWndOther,
    BOOL bMinimized);

パラメーター

nState
CWnd がアクティブ化または非アクティブ化されているかどうかが示されます。 次のいずれかの値を指定できます。

  • WA_INACTIVE ウィンドウが非アクティブ化されています。

  • WA_ACTIVE ウィンドウは、マウスクリック以外の何らかの方法 (たとえば、キーボードインターフェイスを使用してウィンドウを選択するなど) によってアクティブ化されています。

  • WA_CLICKACTIVE ウィンドウは、マウスクリックによってアクティブ化されています。

pWndOther
アクティブ化または非アクティブ化されている CWnd へのポインター。 ポインターはにすることができ、一時的なものでもかまい NULL ません。

bMinimized
アクティブ化または非アクティブ化されている CWnd の最小化された状態が示されます。 値がの場合は TRUE 、ウィンドウが最小化されていることを示します。

がアクティブになっている場合 TRUECWnd は。それ以外の場合は非アクティブ化されます。

注釈

CWndオブジェクトがマウスクリックでアクティブ化された場合は、 OnMouseActivate メンバー関数呼び出しも受け取ります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnActivateApp

このメンバー関数は、アクティブ化されているタスクのトップレベルウィンドウすべてと、非アクティブ化されているタスクのすべてのトップレベルウィンドウに対して呼び出されます。

afx_msg void OnActivateApp(
    BOOL bActive,
    DWORD dwThreadID);

パラメーター

bActive
CWnd がアクティブ化または非アクティブ化されているかどうかが示されます。 TRUE は、 CWnd がアクティブ化されていることを示します。 FALSE は、 CWnd が非アクティブ化されることを意味します。

dwThreadID
スレッド ID の値を指定します。 がの場合 bActiveTRUEdwThreadID 非アクティブ化されているを所有しているスレッドを識別し CWnd ます。 がの場合 bActiveFALSEdwThreadID アクティブ化されているを所有しているスレッドを識別 CWnd します。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnAmbientProperty

フレームワークは、このメンバー関数を呼び出して、OLE コントロールを含むウィンドウからアンビエントプロパティ値を取得します。

virtual BOOL OnAmbientProperty(
    COleControlSite* pSite,
    DISPID dispid,
    VARIANT* pvar);

パラメーター

pSite
アンビエントプロパティを要求したコントロールのサイトへのポインター。

dispid
要求されたアンビエントプロパティのディスパッチ ID。

pvar
アンビエントプロパティの値が返される、呼び出し元によって割り当てられた構造体へのポインター VARIANT

戻り値

TRUE アンビエントプロパティがサポートされている場合は、 FALSE そうでなければ。

注釈

OLE コントロールコンテナーによって返される既定のアンビエントプロパティ値をコントロールに変更するには、この関数をオーバーライドします。 オーバーライドする関数によって処理されないアンビエントプロパティ要求は、基本クラスの実装に転送される必要があります。

CWnd::OnAppCommand

フレームワークは、ユーザーがアプリケーションコマンドイベントを生成するときにこのメンバー関数を呼び出します。 このようなイベントは、ユーザーがアプリケーションのコマンドボタンをクリックしたとき、またはアプリケーションのコマンドキーを入力したときに発生します。

afx_msg void OnAppCommand(
    CWnd* pWnd,
    UINT nCmd,
    UINT nDevice,
    UINT nKey);

パラメーター

pWnd
から CWnd ユーザーがコマンドボタンをクリックしたとき、またはコマンドキーを押したウィンドウを表すオブジェクトへのポインター。 このウィンドウは、メッセージを受信するウィンドウの子ウィンドウにすることができます。

nCmd
からアプリケーションコマンドを示します。 使用可能な値の一覧については、 cmd のパラメーターのセクションにあるコマンドを参照してください lParamWM_APPCOMMAND

nDevice
から入力イベントを生成した入力デバイス。 使用可能な値の一覧については、 uDevice のパラメーターのセクションにあるデバイスを参照してください lParamWM_APPCOMMAND

nKey
からCTRL キーやマウスの左ボタンなど、停止している任意の仮想キーを示します。 使用可能な値の一覧については、 dwKeys のパラメーターのセクションにあるキーを参照してください lParamWM_APPCOMMAND 。 詳細については、「 マウス入力について」の「メッセージパラメーター」小見出しを参照してください。

注釈

このメソッドは、 WM_APPCOMMAND 通知を受信します。これについては、Windows SDK を参照してください。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnAskCbFormatName

クリップボードに形式のデータハンドル (つまり、クリップボードの CF_OWNERDISPLAY 所有者がクリップボードの内容を表示する場合) が含まれている場合、フレームワークはこのメンバー関数を呼び出します。

afx_msg void OnAskCbFormatName(
    UINT nMaxCount,
    LPTSTR lpszString);

パラメーター

nMaxCount
コピーする最大バイト数を指定します。

lpszString
形式名のコピーを格納するバッファーを指します。

注釈

クリップボードの所有者は、その形式の名前を指定する必要があります。

このメンバー関数をオーバーライドし、 CF_OWNERDISPLAY 指定された最大バイト数を超えないように、指定されたバッファーに形式の名前をコピーします。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnCancelMode

フレームワークは、このメンバー関数を呼び出して、 CWnd 内部モードをキャンセルするように通知します。

afx_msg void OnCancelMode();

注釈

オブジェクトに CWnd フォーカスがある場合は、 OnCancelMode ダイアログボックスまたはメッセージボックスが表示されたときに、そのメンバー関数が呼び出されます。 これにより、 CWnd マウスキャプチャなどのモードをキャンセルすることができます。

既定の実装は、Windows 関数を呼び出すことによって応答し ReleaseCapture ます。 他のモードを処理するには、派生クラスでこのメンバー関数をオーバーライドします。

CWnd::OnCaptureChanged

フレームワークは、このメンバー関数を呼び出して、マウスのキャプチャが失われていることをウィンドウに通知します。

afx_msg void OnCaptureChanged(CWnd* pWnd);

パラメーター

pWnd
マウスキャプチャを取得するウィンドウへのポインター

注釈

ウィンドウは、それ自体を呼び出す場合でも、このメッセージを受信 ReleaseCapture します。 このメッセージに応答して、アプリケーションがマウスキャプチャを設定しようとすることはできません。 このメッセージを受信すると、新しいマウスキャプチャの状態を反映するために、必要に応じてウィンドウが再描画されます。

Windows 関数の詳細については、Windows SDK を参照してください ReleaseCapture

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnChangeCbChain

フレームワークは、ウィンドウがチェーンから削除されていることを通知するために、クリップボードビューアーチェーン内の各ウィンドウに対してこのメンバー関数を呼び出します。

afx_msg void OnChangeCbChain(
    HWND hWndRemove,
    HWND hWndAfter);

パラメーター

hWndRemove
クリップボードビューアーのチェーンから削除されるウィンドウハンドルを指定します。

hWndAfter
クリップボードビューアーのチェーンから削除されるウィンドウの次のウィンドウハンドルを指定します。

注釈

CWnd呼び出しを受け取る各オブジェクト OnChangeCbChain は、Windows 関数を使用し SendMessage て、 WM_CHANGECBCHAIN クリップボードビューアーのチェーン (から返されたハンドル) の次のウィンドウにメッセージを送信する必要があり SetClipboardViewer ます。 hWndRemoveがチェーン内の次のウィンドウである場合は、によって指定されたウィンドウが hWndAfter 次のウィンドウになり、クリップボードのメッセージがそのウィンドウに渡されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnChangeUIState

ユーザー インターフェイス (UI) 状態を変更する必要があるときに呼び出されます。

afx_msg void OnChangeUIState(
    UINT nAction,
    UINT nUIElement);

パラメーター

nAction
実行するアクションを指定します。 値は、次のいずれかです。

  • UIS_CLEAR UI 状態要素 (で指定 nUIElement ) は非表示にする必要があります。

  • UIS_INITIALIZE UI 状態要素 (で指定) は、 nUIElement 最後の入力イベントに基づいて変更する必要があります。 詳細については、「」の「 解説 」を参照してください

  • UIS_SET UI 状態要素 (で指定 nUIElement ) は表示されます。

nUIElement
影響を受ける UI 状態要素またはコントロールのスタイルを指定します。 値は、次のいずれかです。

  • UISF_HIDEACCEL キーボードアクセラレータ。

  • UISF_HIDEFOCUS フォーカスインジケーター。

  • UISF_ACTIVEWindows XP: コントロールは、アクティブなコントロールに使用されるスタイルで描画される必要があります。

注釈

このメンバー関数は、 WM_CHANGEUISTATE Windows SDK で説明されているように、メッセージの機能をエミュレートします。

CWnd::OnChar

キーストロークが非システム文字に変換される場合、フレームワークはこのメンバー関数を呼び出します。

afx_msg void OnChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

パラメーター

nChar
キーの文字コード値を格納します。

nRepCnt
ユーザーがキーを押したままにした場合にキーストロークが繰り返される回数の繰り返し回数を格納します。

nFlags
次の一覧に示すように、スキャン コード、キー切り替えコード、以前のキー状態、コンテキスト コードが含まれます。

説明
0-15 繰り返し回数を指定します。 値は、ユーザーがキーを押した結果、キーストロークが繰り返される回数です。
16-23 スキャン コードを指定します。 値は、OEM (元の機器メーカー) によって異なります
24 拡張 101 キーまたは 102 キー のキーボードに表示される右手の Alt キーや Ctrl キーなど、キーが拡張キーかどうかを指定します。 拡張キーの場合、値は 1 です。それ以外の場合は 0 です。
25-28 Windows によって内部的に使用されます。
29 コンテキスト コードを指定します。 キーが押されている間 ALT キーが押されている場合、値は 1 です。それ以外の場合、値は 0 です。
30 前のキー状態を指定します。 メッセージが送信される前にキーがダウンしている場合は 1、キーがアップしている場合は 0 です。
31 遷移状態を指定します。 キーが解放されている場合は 1、キーが押されている場合は 0 です。

注釈

この関数は、メンバー関数の前 OnKeyUp とメンバー関数の呼び出 OnKeyDown し後に呼び出されます。 OnChar には、押または解放されるキーボード キーの値が格納されます。

押されたキーと生成された呼び出しの間には必ずしも一対一の対応はないので、 の情報は一般にアプリケーションにとって OnCharnFlags 役に立たしません。 の情報は、 の呼び出しの前にあるメンバー関数またはメンバー関数に対する最新の呼び出 nFlagsOnKeyUpOnKeyDown しにのみ適用されます OnChar

IBM Enhanced 101 および 102 キー キーボードの場合、拡張キーはキーボードのメイン セクションの右 ALT キーと右 Ctrl キーです。テンキーの左側にあるクラスター内の INS、DEL、HOME、END、PAGE UP、PAGE DOWN、および方向キー。と、テンキーのスラッシュ (/) キーと ENTER キー。 他の一部のキーボードでは、 の拡張キー ビットがサポートされている場合があります nFlags

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnCharToItem

スタイルのリスト ボックスがメッセージに応答して所有者にメッセージ LBS_WANTKEYBOARDINPUTWM_CHARTOITEM を送信するときに呼び出 WM_CHAR されます。

afx_msg int OnCharToItem(
    UINT nChar,
    CListBox* pListBox,
    UINT nIndex);

パラメーター

nChar
ユーザーが押したキーの値を指定します。

pListBox
リスト ボックスへのポインターを指定します。 一時的な場合があります。

nIndex
現在のキャレット位置を指定します。

戻り値

フレームワークは、このメンバー関数を呼び出して、呼び出しに応答してアプリケーションが実行したアクションを指定します。 戻り値 -2 は、アプリケーションが項目の選択のすべての側面を処理し、リスト ボックスによるそれ以上の操作を行いたくない場合を示します。 戻り値 -1 は、キーストロークに応答してリスト ボックスで既定のアクションを実行する必要がある場合を示します。 戻り値 0 以上は、リスト ボックス内の項目の 0 から始るインデックスを指定し、リスト ボックスが指定された項目のキーストロークに対して既定のアクションを実行する必要があるかどうかを示します。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnChildActivate

オブジェクトが複数のドキュメント インターフェイス CWnd (MDI) 子ウィンドウの場合、ユーザーがウィンドウのタイトル バーをクリックするか、ウィンドウがアクティブ化、移動、またはサイズ変更されると、フレームワークによって呼び出されます。 OnChildActivate

afx_msg void OnChildActivate();

CWnd::OnChildNotify

このメンバー関数は、このウィンドウに適用される通知メッセージを受信すると、このウィンドウの親ウィンドウによって呼び出されます。

virtual BOOL OnChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

パラメーター

message
親Windowsに送信されるメッセージ番号を示す 。

wParam
メッセージに関連付けられている wparam。

lParam
メッセージに関連付けられている lparam。

pLResult
親のウィンドウ プロシージャから返される値へのポインター。 戻り値が NULL 必要ない場合、このポインターは になります。

戻り値

このウィンドウが親に送信されたメッセージを処理する場合は 0 以外。それ以外の場合は 0。

注釈

このメンバー関数を直接呼び出さない。

このメンバー関数の既定の実装では 0 が返されます。つまり、親はメッセージを処理する必要があります。

このメンバー関数をオーバーライドして、コントロールが通知メッセージに応答する方法を拡張します。

CWnd::OnClipboardUpdate

フレームワークは、クリップボードの内容が変更された場合に、このメンバー関数を呼び出します。

afx_msg void OnClipboardUpdate();

CWnd::OnClose

フレームワークは、 または アプリケーションが終了するシグナルとして、このメンバー CWnd 関数を呼び出します。

afx_msg void OnClose();

注釈

既定の実装では、 が呼び出 DestroyWindow されます。

CWnd::OnColorizationColorChanged

フレームワークは、非クライアント領域のレンダリング ポリシーが変更された場合に、このメンバーを呼び出します。

afx_msg void OnColorizationColorChanged(
    DWORD dwColorizationColor,
    BOOL bOpacity);

パラメーター

dwColorizationColor
[in]新しい色付け色を指定します。 色の形式は 0xAARRGGBB 形式の 16 進数で、4 つの各コンポーネントの範囲は 0x00 0xFF。 AA コンポーネントはアルファ値、RR は赤、GG は緑、BB は青です。

bOpacity
[in] TRUE 新しい色が不透明度とブレンドされている場合は 。 FALSE ない場合は 。

注釈

このメソッドは通知 WM_DWMNCRENDERINGCHANGED メッセージを受け取ります。このメッセージは、SDK のWindowsされています。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnCommand

フレームワークは、ユーザーがメニューから項目を選択した場合、子コントロールが通知メッセージを送信する場合、またはアクセラレータ キーストロークが変換された場合に、このメンバー関数を呼び出します。

virtual BOOL OnCommand(
    WPARAM wParam,
    LPARAM lParam);

パラメーター

wParam
の低い単語は wParam 、メニュー項目、コントロール、またはアクセラレータのコマンド ID を識別します。 の高い単語は wParam 、メッセージが コントロールからの場合に通知メッセージを指定します。 メッセージがアクセラレータからの場合、高次ワードは 1 です。 メニューからのメッセージの場合、高次ワードは 0 です。

lParam
メッセージが コントロールから送信された場合にメッセージを送信するコントロールを識別します。 それ以外の場合、 lParam は 0 です。

戻り値

アプリケーションは、このメッセージを処理する場合、0 以外の値を返します。それ以外の場合は 0。

注釈

OnCommand は、制御通知とエントリのメッセージ マップを ON_COMMAND 処理し、適切なメンバー関数を呼び出します。

派生クラスでこのメンバー関数をオーバーライドして、メッセージを処理 WM_COMMAND します。 オーバーライドでは、基本クラスが呼び出されない限り、メッセージ マップ OnCommand は処理されません。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnCompacting

このフレームワークは、Windows が 30 秒から 60 秒の間隔でシステム時間の 12.5% 以上がメモリの圧縮に費やされているのを検出すると、すべてのトップ レベル ウィンドウに対してこのメンバー関数を呼び出します。

afx_msg void OnCompacting(UINT nCpuTime);

パラメーター

nCpuTime
メモリの圧縮によって現在費やされている CPU 時間とWindowsの実行に費やされた CPU 時間の比率を指定します。 たとえば、8000h は、メモリの圧縮に費やされた CPU 時間の 50% を表します。

注釈

これは、システム メモリが少ない状態を示します。

オブジェクトは、この呼び出しを受信すると、アプリケーションの現在のアクティビティ レベルと、Windows で実行されているアプリケーションの総数を考慮して、可能な限り多くのメモリを解放 CWnd する必要があります。 アプリケーションは、アプリケーション関数Windows呼び出して、実行されているアプリケーションの数を決定できます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnCompareItem

フレームワークは、このメンバー関数を呼び出して、子の並べ替えされた所有者描画コンボボックスまたはリスト ボックス内の新しい項目の相対位置を指定します。

afx_msg int OnCompareItem(
    int nIDCtl,
    LPCOMPAREITEMSTRUCT lpCompareItemStruct);

パラメーター

nIDCtl
メッセージを送信したコントロールの WM_COMPAREITEM 識別子。

lpCompareItemStruct
複合またはリスト ボックス内の 2 つの項目の識別子とアプリケーションによって提供されるデータを含むデータ構造への long ポインター COMPAREITEMSTRUCT を格納します。

戻り値

2 つの項目の相対位置を示します。 次の値を指定できます。

説明
-1 項目 1 は、項目 2 の前に並べ替えされます。
0 項目 1 と項目 2 は、同じ並べ替えを行います。
1 項目 1 は、項目 2 の後に並べ替えされます。

注釈

または スタイルを使用してコンボ ボックスまたはリスト ボックスを作成した場合、Windows は、アプリケーションが新しい項目を追加するたびに、コンボ ボックスまたはリスト ボックスの所有者にメッセージ CBS_SORTLBS_SORTWM_COMPAREITEM を送信します。

コンボ ボックスまたはリスト ボックス内の 2 つの項目は、 によって指 COMPAREITEMSTRUCT される構造で変更されます lpCompareItemStructOnCompareItem は、他の項目の前に表示する項目を示す値を返す必要があります。 通常、このWindows新しい項目の正確な位置が決定されるまで、この呼び出しを数回行います。

構造体のメンバーが または オブジェクトに属している場合は、適切なクラスの仮想 hwndItemCOMPAREITEMSTRUCTCListBoxCComboBoxCompareItem 関数が呼び出されます。 派生 CComboBox::CompareItem クラスまたは クラスで または CListBox::CompareItemCListBox オーバーライド CComboBox して、項目の比較を実行します。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnCompositionChanged

フレームワークは、このメンバー関数をすべてのトップ レベル ウィンドウに対して呼び出します。これは、デスクトップ ウィンドウ マネージャー (DWM) コンポジションが有効または無効になっている場合です。

afx_msg void OnCompositionChanged();

注釈

このメソッドは通知 WM_DWMCOMPOSITIONCHANGED を受け取ります。この通知については、SDK のWindowsしてください。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnContextMenu

ユーザーがウィンドウ内のマウスの右ボタン (右クリック) をクリックすると、フレームワークによって呼び出されます。

afx_msg void OnContextMenu(
    CWnd* pWnd,
    CPoint pos);

パラメーター

pWnd
ユーザーがマウスを右クリックしたウィンドウを処理します。 メッセージを受信するウィンドウの子ウィンドウを指定できます。 このメッセージの処理の詳細については、「解説」セクションを参照してください。

pos
マウス クリック時のカーソルの位置 (画面座標)。

注釈

このメッセージを処理するには、 を使用してコンテキスト メニューを表示します TrackPopupMenu

コンテキスト メニューを表示しない場合は、このメッセージを関数に渡す必要 DefWindowProc があります。 ウィンドウが子ウィンドウの場合、 DefWindowProc は親にメッセージを送信します。 それ以外の場合 DefWindowProc は、指定した位置がウィンドウのキャプションにある場合は、既定のコンテキスト メニューが表示されます。

CWnd::OnCopyData

このメンバー関数は、あるアプリケーションから別のアプリケーションにデータをコピーするためにフレームワークによって呼び出されます。

afx_msg BOOL OnCopyData(
    CWnd* pWnd,
    COPYDATASTRUCT* pCopyDataStruct);

パラメーター

pWnd
データを CWnd 送信している オブジェクトへのポインター。

pCopyDataStruct
送信されるデータ COPYDATASTRUCT を含む 構造体へのポインター。

戻り値

受信側アプリケーション TRUE がデータを正常に受け入れる場合は を返します。 それ以外の場合、FALSE を返します。

注釈

渡されるデータには、ポインターや、データを受け取るアプリケーションからアクセスできないオブジェクトへのその他の参照を含めずにしてください。

データのコピー中は、送信プロセスの別のスレッドで変更することはできません。

受信側アプリケーションは、データを読み取り専用と見なす必要があります。 パラメーターが指す構造体は、データの転送中にのみ有効です。ただし、受信側アプリケーションでは、構造体に関連付けられているメモリ pCopyDataStruct を解放することはできません。

この関数が戻った後に受信側アプリケーションがデータにアクセスする必要がある場合は、受信したデータをローカル バッファーにコピーする必要があります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnCreate

フレームワークは、アプリケーションが または メンバー関数を呼び出すことによってWindowsウィンドウを作成する必要がある場合に、この Create メンバー関数を CreateEx 呼び出します。

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

パラメーター

lpCreateStruct
作成されるオブジェクト CREATESTRUCT に関する情報を含む CWnd 構造体をポイントします。

戻り値

OnCreate は、オブジェクトの作成を続行するために 0 を返す必要 CWnd があります。 アプリケーションから -1 が返された場合、ウィンドウは破棄されます。

注釈

オブジェクト CWnd は、ウィンドウが作成された後、表示される前に、この呼び出しを受け取ります。 OnCreate は、 または メンバー関数が返 CreateCreateEx される前に呼び出されます。

このメンバー関数をオーバーライドして、派生クラスの必要な初期化を実行します。

構造体 CREATESTRUCT には、ウィンドウの作成に使用されるパラメーターのコピーが含まれています。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnCtlColor

フレームワークは、子コントロールの描画が近いときに、このメンバー関数を呼び出します。

afx_msg HBRUSH OnCtlColor(
    CDC* pDC,
    CWnd* pWnd,
    UINT nCtlColor);

パラメーター

pDC
子ウィンドウの表示コンテキストへのポインターを格納します。 一時的な場合があります。

pWnd
色を求めるコントロールへのポインターを格納します。 一時的な場合があります。

nCtlColor
コントロールの種類を指定する、次のいずれかの値が含まれます。

  • CTLCOLOR_BTN ボタン コントロール

  • CTLCOLOR_DLG ダイアログ ボックス

  • CTLCOLOR_EDIT コントロールの編集

  • CTLCOLOR_LISTBOX リスト ボックス コントロール

  • CTLCOLOR_MSGBOX [メッセージ] ボックス

  • CTLCOLOR_SCROLLBAR スクロール バー コントロール

  • CTLCOLOR_STATIC 静的コントロール

戻り値

OnCtlColor は、コントロールの背景の塗り分けに使用するブラシへのハンドルを返す必要があります。

注釈

ほとんどのコントロールは、このメッセージを親 (通常はダイアログ ボックス) に送信して、正しい色を使用してコントロールを描画する pDC 準備をします。

テキストの色を変更するには、目的の赤、緑、青 (RGB) の値を使用してメンバー関数 SetTextColor を呼び出します。

単一行エディトコントロールの背景色を変更するには、 と メッセージ コードの両方でブラシ ハンドルを設定し、コードに応答して 関数を呼び CTLCOLOR_EDITCTLCOLOR_MSGBOXCDC::SetBkColorCTLCOLOR_EDIT します。

OnCtlColor ドロップダウン リスト ボックスは実際にはウィンドウの子ではなくコンボ ボックスの子なので、 はドロップダウン コンボ ボックスのリスト ボックスに対して呼び出されません。 ドロップダウン リスト ボックスの色を変更するには、 パラメーターで をチェックする のオーバーライドを使用 CComboBoxOnCtlColor して CTLCOLOR_LISTBOX を作成 nCtlColor します。 このハンドラーでは、メンバー関数 SetBkColor を使用してテキストの背景色を設定する必要があります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。 ダイアログ クラスに次のメソッドを追加するには、[プロパティ] Visual Studioを使用して、 のメッセージ ハンドラーを追加します WM_CTLCOLOR 。 または、メッセージ マップにエントリ ON_WM_CTLCOLOR() を手動で追加することもできます。

// This OnCtlColor handler will change the color of a static control
// with the ID of IDC_MYSTATIC. The code assumes that the CPenWidthsDlg
// class has an initialized and created CBrush member named m_brush.
// The control will be painted with red text and a background
// color of m_brush.
HBRUSH CPenWidthsDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
   // Call the base class implementation first! Otherwise, it may
   // undo what we're trying to accomplish here.
   HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

   // Are we painting the IDC_MYSTATIC control? We can use
   // CWnd::GetDlgCtrlID() to perform the most efficient test.
   if (pWnd->GetDlgCtrlID() == IDC_MYSTATIC)
   {
      // Set the text color to red
      pDC->SetTextColor(RGB(255, 0, 0));

      // Set the background mode for text to transparent 
      // so background will show thru.
      pDC->SetBkMode(TRANSPARENT);

      // Return handle to our CBrush object
      hbr = m_brush;
   }

   return hbr;
}

CWnd::OnDeadChar

フレームワークは、メンバー関数とメンバー関数が呼び出された場合に、この OnKeyUpOnKeyDown メンバー関数を呼び出します。

afx_msg void OnDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

パラメーター

nChar
実行キー文字の値を指定します。

nRepCnt
繰り返し回数を指定します。

nFlags
次の一覧に示すように、スキャン コード、キー切り替えコード、以前のキー状態、コンテキスト コードを指定します。

説明
0-7 コードをスキャンする (OEM に依存する値)。 高次ワードの低バイト。
8 関数キーやテンキーのキーなどの拡張キー (拡張キーの場合は 1、それ以外の場合は 0)。
9-10 使用されていません。
11-12 Windows によって内部的に使用されます。
13 コンテキスト コード (キーが押されている間に ALT キーが押されている場合は 1、それ以外の場合は 0)。
14 以前のキー状態 (呼び出しの前にキーがダウンしている場合は 1、キーが上にある場合は 0)。
15 遷移状態 (キーが解放されている場合は 1、キーが押されている場合は 0)。

注釈

このメンバー関数を使用して、使用しないキーの文字値を指定できます。 "行き出しキー" とは、umlaut (double-dot) 文字などのキーで、他の文字と組み合わせて複合文字を形成します。 たとえば、umlaut-O 文字は、Dead Key、umlaut、O キーで構成されます。

アプリケーションでは、通常、 を OnDeadChar 使用して、押された各キーに関するフィードバックをユーザーに提供します。 たとえば、アプリケーションでは、キャレットを移動することなく、現在の文字位置にアクセントを表示できます。

押されたキーと呼び出しの間には必ずしも 1 対 1 の対応が必要ではなわけではないため、 の情報は一般にアプリケーションにとって OnDeadCharnFlags 役に立たしません。 の情報は、メンバー関数または呼び出しの前のメンバー関数に対する最新の呼び出 nFlagsOnKeyUpOnKeyDown しにのみ適用 OnDeadChar されます。

IBM Enhanced 101 および 102 キー キーボードの場合、拡張キーはキーボードのメイン セクションの右 ALT キーと右 Ctrl キーです。テンキーの左側にあるクラスター内の INS、DEL、HOME、END、PAGE UP、PAGE DOWN、および方向キー。と、テンキーのスラッシュ (/) キーと ENTER キー。 他の一部のキーボードでは、 の拡張キー ビットがサポートされている場合があります nFlags

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnDeleteItem

フレームワークは、このメンバー関数を呼び出して、リスト ボックスまたはコンボ ボックスが破棄されたか、項目が 、または によって削除されたという所有者描画リスト ボックスまたはコンボ ボックスを所有者に通知 CComboBox::DeleteStringCListBox::DeleteStringCComboBox::ResetContent します CListBox::ResetContent

afx_msg void OnDeleteItem(
    int nIDCtl,
    LPDELETEITEMSTRUCT lpDeleteItemStruct);

パラメーター

nIDCtl
メッセージを送信したコントロールの WM_DELETEITEM 識別子。

lpDeleteItemStruct
削除されたリスト ボックス項目に関する情報を含むデータ構造への long DELETEITEMSTRUCT ポインターを指定します。

注釈

構造体のメンバーがコンボ ボックスまたはリスト ボックスに属している場合は、適切なクラスの仮想 hwndItemDELETEITEMSTRUCTDeleteItem 関数が呼び出されます。 項目固有 DeleteItem のデータを削除するには、適切なコントロールの クラスのメンバー関数をオーバーライドします。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnDestroy

フレームワークは、このメンバー関数を呼び出して CWnd 、破棄中のオブジェクトを通知します。

afx_msg void OnDestroy();

注釈

OnDestroy は、オブジェクトが画面 CWnd から削除された後に呼び出されます。

OnDestroy は、破棄される に対して最初に呼び出され、 の子ウィンドウが破棄されると CWndCWnd 呼び出されます。 実行中は、すべての子ウィンドウがまだ存在すると想定 OnDestroy できます。

破棄されるオブジェクトがクリップボード ビューアー チェーン (メンバー関数を呼び出して設定) の一部である場合、 は、関数から戻る前にメンバー関数を呼び出すことによって、クリップボード ビューアー チェーンから自身を削除する必要があります。 CWndSetClipboardViewerCWndChangeClipboardChainOnDestroy

CWnd::OnDestroyClipboard

フレームワークは、クリップボードの所有者に対してこのメンバー関数を呼び出します。このメンバー関数は、その関数の呼び出しによってクリップボードが空 EmptyClipboard Windowsされます。

afx_msg void OnDestroyClipboard();

CWnd::OnDeviceChange

フレームワークは、このメンバー関数を呼び出して、デバイスまたはコンピューターのハードウェア構成の変更をアプリケーションまたはデバイス ドライバーに通知します。

afx_msg BOOL OnDeviceChange(
    UINT nEventType,
    DWORD_PTR dwData);

パラメーター

nEventType
イベントの種類。 使用可能な値の説明については、「解説」セクションを参照してください。

dwData
イベント固有のデータを含む 構造体のアドレス。 その意味は、指定されたイベントによって異なります。

注釈

ソフトウェアで制御可能な機能を提供するデバイスの場合 (通常、オペレーティング システムはメッセージを送信して、アプリケーションとデバイス ドライバーがデバイスの使用を正常に終了します)。 DBT_DEVICEREMOVEPENDING

オペレーティング システムがデバイスを強制的に削除した場合、その前にメッセージ DBT_DEVICEQUERYREMOVE が送信されない可能性があります。

パラメーター nEvent には、次のいずれかの値を指定できます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnDevModeChange

フレームワークは、ユーザーがデバイス モード設定を変更するときに、すべてのトップ レベル オブジェクトに対 CWnd してこのメンバー関数を呼び出します。

afx_msg void OnDevModeChange(LPTSTR lpDeviceName);

パラメーター

lpDeviceName
初期化ファイル で指定されたデバイス名 Windowsをポイントします WIN.INI

注釈

メッセージを処理するアプリケーション WM_DEVMODECHANGE は、デバイスモード設定を再初期化することができます。 ExtDeviceModeデバイス設定を保存および復元するために Windows 関数を使用するアプリケーションでは、通常、この機能は処理されません。

ユーザーがコントロールパネルから既定のプリンターを変更した場合、この関数は呼び出されません。 この場合、 OnWinIniChange 関数が呼び出されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnDrawClipboard

フレームワークは、クリップボードの内容が変更されたときに、クリップボードビューアーチェーン内のウィンドウごとにこのメンバー関数を呼び出します。

afx_msg void OnDrawClipboard();

注釈

SetClipboardViewerこの呼び出しに応答する必要があるのは、メンバー関数を呼び出すことによって、クリップボードビューアーチェーンに参加したアプリケーションだけです。

呼び出しを受信する各ウィンドウ OnDrawClipboard は、Windows 関数を呼び出して、 SendMessageWM_DRAWCLIPBOARD クリップボードビューアーチェーンの次のウィンドウにメッセージを渡す必要があります。 次のウィンドウのハンドルは、メンバー関数によって返され SetClipboardViewer ます。メンバー関数呼び出しに応答して変更される可能性があり OnChangeCbChain ます。

CWnd::OnDrawIconicThumbnailOrLivePreview

Windows 7 のタブのサムネイルに表示する、またはアプリケーションのピーク用にクライアントで表示するビットマップを取得する必要があるときに、フレームワークによって呼び出されます。

virtual void OnDrawIconicThumbnailOrLivePreview(
    CDC& dc,
    CRect rect,
    CSize szRequiredThumbnailSize,
    BOOL bIsThumbnail,
    BOOL& bAlphaChannelSet);

パラメーター

dc
デバイスコンテキストを指定します。

rect
描画する領域の外接する四角形を指定します。

szRequiredThumbnailSize
ターゲットサムネイルのサイズを指定します。 がの場合は無視する必要があり bIsThumbnailFALSE ます。

bIsThumbnail
このメソッドが、アイコンのサムネイルまたはライブプレビュー (ピーク) に対して呼び出されるかどうかを指定します。

bAlphaChannelSet
入出力 TRUE 実装で、で選択されたビットマップのアルファチャネルを初期化する場合は、に設定し dc ます。

注釈

サムネイルとピークをカスタマイズするために、派生クラスでこのメソッドをオーバーライドし、指定したデバイスコンテキストに描画します。 がの場合は bThumbnailTRUE 、を szRequiredThumbnailSize 無視できます。 この場合は、フルサイズのビットマップ (つまり、クライアント領域全体をカバーするビットマップ) を描画することに注意してください。 デバイスコンテキスト () には、 dc 32 ビットビットマップが選択されています。 既定の実装は WM_PRINT 、、、およびの各フラグを使用して、このウィンドウにを送信し PRF_CLIENTPRF_CHILDRENPRF_NONCLIENT ます。

CWnd::OnDrawItem

フレームワークは、コントロールまたはメニューの視覚的な側面が変更されたときに、オーナー描画ボタンコントロール、コンボボックスコントロール、リストボックスコントロール、またはメニューの所有者のためにこのメンバー関数を呼び出します。

afx_msg void OnDrawItem(
    int nIDCtl,
    LPDRAWITEMSTRUCT lpDrawItemStruct);

パラメーター

nIDCtl
メッセージを送信したコントロールの識別子を格納し WM_DRAWITEM ます。 メニューがメッセージを送信した場合、には nIDCtl 0 が格納されます。

lpDrawItemStruct
DRAWITEMSTRUCT描画する項目および必要な描画の種類に関する情報を格納するデータ構造への long ポインターを指定します。

注釈

itemAction構造体のメンバーは、 DRAWITEMSTRUCT 実行する描画操作を定義します。 このメンバーのデータを使用すると、コントロールの所有者は、必要な描画アクションを決定できます。

アプリケーションでは、このメッセージの処理から戻る前に、構造体のメンバーによって識別されるデバイスコンテキスト hDCDRAWITEMSTRUCT が既定の状態に復元されるようにする必要があります。

メンバーが hwndItem 、、、または CComboBox オブジェクトに属している場合は、 CButtonCMenuCListBoxhwndItemDrawItem 適切なクラスの仮想関数が呼び出されます。 項目を DrawItem 描画するには、適切なコントロールのクラスのメンバー関数をオーバーライドします。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnDropFiles

フレームワークは、ユーザーがドロップしたファイルの受信者として登録されているウィンドウ上でマウスの左ボタンを離すと、このメンバー関数を呼び出します。

afx_msg void OnDropFiles(HDROP hDropInfo);

パラメーター

hDropInfo
削除されたファイルを記述する内部データ構造へのポインター。 このハンドルは DragFinish 、、、および Windows 関数によって、削除され DragQueryFileDragQueryPoint たファイルに関する情報を取得するために使用されます。

注釈

通常、派生クラスは、削除されたファイルをサポートするように設計され、ウィンドウの構築時にそれ自体を登録します。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnEnable

アプリケーションがオブジェクトの有効な状態を変更すると、フレームワークはこのメンバー関数を呼び出し CWnd ます。

afx_msg void OnEnable(BOOL bEnable);

パラメーター

bEnable
オブジェクトが有効か無効かを指定し CWnd ます。 が有効になっている場合、このパラメーターはです。が無効になっている場合はです TRUECWndFALSECWnd

注釈

OnEnable は、メンバー関数がを返す前に呼び出され EnableWindow ますが、ウィンドウの有効状態 ( WS_DISABLED スタイルビット) が変更された後に呼び出されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnEndSession

このメンバー関数は、 CWnd オブジェクトがメンバー関数呼び出しから0以外の値を返した後に、フレームワークによって呼び出され OnQueryEndSession ます。

afx_msg void OnEndSession(BOOL bEnding);

パラメーター

bEnding
セッションが終了しているかどうかを指定します。 TRUEセッションが終了している場合は、それ以外の場合はです FALSE

注釈

この OnEndSession 呼び出しは、 CWnd セッションが実際に終了しているかどうかをオブジェクトに通知します。

がの場合 bEndingTRUE 、すべてのアプリケーションからこの呼び出しの処理が返された後、いつでも Windows を終了できます。 そのため、アプリケーションで、内の終了に必要なすべてのタスクを実行 OnEndSession します。

DestroyWindowセッションの終了時にメンバー関数または Windows 関数を呼び出す必要はありません PostQuitMessage

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnEnterIdle

フレームワークは、このメンバー関数を呼び出して、モーダルダイアログボックスまたはメニューがアイドル状態に入っていることをアプリケーションのメインウィンドウプロシージャに通知します。

afx_msg void OnEnterIdle(
    UINT nWhy,
    CWnd* pWho);

パラメーター

nWhy
ダイアログボックスまたはメニューを表示するかどうかを指定します。 このパラメーターには、次のいずれかの値を指定できます。

  • MSGF_DIALOGBOX ダイアログボックスが表示されているため、システムはアイドル状態です。

  • MSGF_MENU メニューが表示されているため、システムはアイドル状態です。

pWho
ダイアログボックスへのポインター ( nWhy がの場合 MSGF_DIALOGBOX )、または表示されているメニューを含むウィンドウ (がの場合) を指定し nWhyMSGF_MENU ます。 このポインターは一時的なものである可能性があり、後で使用するために格納することはできません。

注釈

モーダルダイアログボックスまたはメニューは、1つまたは複数の前のメッセージを処理した後にキューで待機しているメッセージがない場合に、アイドル状態になります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnEnterMenuLoop

このメンバー関数は、メニューモーダルループが入力されたときにフレームワークによって呼び出されます。

afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);

パラメーター

bIsTrackPopupMenu
関連するメニューがポップアップメニューかどうかを指定します。 関数が成功した場合、は0以外の値を持ちます。それ以外の場合は0です。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnEnterSizeMove

フレームワークは、影響を受けたウィンドウが移動またはサイズ変更のモーダルループに入ると、このメンバー関数を1回呼び出します。

afx_msg void OnEnterSizeMove();

注釈

このメソッドは通知 WM_ENTERSIZEMOVE を受け取ります。この通知については、SDK のWindowsしてください。

ユーザーがウィンドウのタイトル バーまたはサイズ変更境界線をクリックするか、ウィンドウが関数にメッセージを渡し、そのメッセージの WM_SYSCOMMANDCWnd::DefWindowProcWM_SYSCOMMAND パラメーターで または が指定されている場合、ウィンドウは移動またはサイズ変更モーダル ループに入ります SC_MOVESC_SIZE

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnEraseBkgnd

フレームワークは、オブジェクトの背景に消去が必要な場合 (サイズ変更時など) に CWnd このメンバー関数を呼び出します。

afx_msg BOOL OnEraseBkgnd(CDC* pDC);

パラメーター

pDC
デバイス コンテキスト オブジェクトを指定します。

戻り値

背景を消去する場合は 0 以外。それ以外の場合は 0。

注釈

これは、無効化された領域を塗り分け準備するために呼び出されます。

既定の実装では、ウィンドウ クラス構造体のメンバーによって指定されたウィンドウ クラスの背景ブラシを使用 hbrBackground して、背景が消去されます。

メンバーが hbrBackground の場合 NULL 、 のオーバーライドされたバージョンでは OnEraseBkgnd 背景色が消去されます。 また、バージョンでは、最初にブラシを呼び出してからブラシを選択することで、目的のブラシの原点を座標 CWndUnrealizeObject に合わせて配置する必要があります。

オーバーライドされた は、メッセージを処理し、背景を消去する場合に に応答して 0 以外の値を返す OnEraseBkgnd 必要があります。これは、それ以上消去する必要がなさそう WM_ERASEBKGND でありません。 0 が返された場合、ウィンドウは消去する必要があるとしてマークされたままです。 (通常、これは 構造体 fErase のメンバーが PAINTSTRUCT になるという意味です TRUE )。

Windowsは、マッピング モードでバックグラウンドが計算された MM_TEXT と想定しています。 デバイス コンテキストが他のマッピング モードを使用している場合は、消去された領域がクライアント領域の可視部分内に含めない可能性があります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnExitMenuLoop

フレームワークは、メニュー モーダル ループが終了すると、このメンバー関数を呼び出します。

afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);

パラメーター

bIsTrackPopupMenu
関連するメニューがポップアップ メニューかどうかを指定します。 関数が成功した場合、0 以外の値を持つ。それ以外の場合は 0。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnExitSizeMove

フレームワークは、影響を受けるウィンドウが移動またはサイズ変更モーダル ループを終了した後に、このメンバー関数を 1 回呼び出します。

afx_msg void OnExitSizeMove();

注釈

このメソッドは通知 WM_EXITSIZEMOVE を受け取ります。この通知については、SDK のWindowsしてください。

ユーザーがウィンドウのタイトル バーまたはサイズ変更境界線をクリックした場合、またはウィンドウが関数にメッセージを渡し、そのメッセージの パラメーターで または が指定されている場合、ウィンドウは移動またはサイズ変更モーダル ループに入ります WM_SYSCOMMANDCWnd::DefWindowProcwParamSC_MOVESC_SIZE

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnFontChange

システム内のすべてのトップ レベル ウィンドウは、アプリケーションがフォント リソースのプールを変更した後、フレームワーク OnFontChange から呼び出しを受け取ります。

afx_msg void OnFontChange();

注釈

システムにフォントを追加または削除するアプリケーション (たとえば、 または Windows 関数を介して) は、すべてのトップ レベル ウィンドウにメッセージ AddFontResourceRemoveFontResourceWM_FONTCHANGE を送信する必要があります。

このメッセージを送信するには、 パラメーター SendMessage を にWindows関数 hWnd を使用します HWND_BROADCAST

CWnd::OnGetDlgCode

方向キーおよび Tab キーによる入力そのものをコントロールが処理できるように、そのコントロールに対して呼び出されます。

afx_msg UINT OnGetDlgCode();

戻り値

アプリケーションが処理する入力の種類を示す、次の値の 1 つ以上。

  • DLGC_BUTTON ボタン (汎用)。

  • DLGC_DEFPUSHBUTTON 既定のプッシュボタン。

  • DLGC_HASSETSELEM_SETSEL メッセージ。

  • DLGC_UNDEFPUSHBUTTON 既定のプッシュボタン処理はありません。 (アプリケーションでは、 でこのフラグを使用して、ボタン入力を処理するが、既定のプッシュボタン処理でシステムに依存 DLGC_BUTTON する場合を示します)。

  • DLGC_RADIOBUTTON ラジオボタン。

  • DLGC_STATIC 静的コントロール。

  • DLGC_WANTALLKEYS すべてのキーボード入力。

  • DLGC_WANTARROWS 方向キー。

  • DLGC_WANTCHARSWM_CHAR メッセージ。

  • DLGC_WANTMESSAGE すべてのキーボード入力。 アプリケーションは、このメッセージを コントロールに渡します。

  • DLGC_WANTTAB Tab キー。

注釈

通常、Windowsコントロールへのすべての矢印キーと TAB キーの入力を処理 CWnd します。 をオーバーライドすることで OnGetDlgCodeCWnd コントロールは、それ自体を処理する特定の種類の入力を選択できます。

定義済みの OnGetDlgCode コントロール クラスの既定の関数は、各クラスに適したコードを返します。

CWnd::OnGetMinMaxInfo

フレームワークは、このメンバー関数を呼び出Windows、最大の位置または次元、または最小または最大の追跡サイズを知る必要がある場合に常に呼び出されます。

afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);

パラメーター

lpMMI
ウィンドウの最大サイズと位置、および最小および最大追跡サイズに関する情報を含む MINMAXINFO 構造体をポイントします。 この構造体の詳細については、 構造体に関するページを参照 MINMAXINFO してください。

注釈

最大化されたサイズは、境界線が完全に拡張された場合のウィンドウのサイズです。 ウィンドウの最大追跡サイズは、境界線を使用してウィンドウのサイズを設定することで実現できる最大ウィンドウ サイズです。 ウィンドウの最小追跡サイズは、境界線を使用してウィンドウのサイズを設定することで実現できる最小のウィンドウ サイズです。

Windows、さまざまな位置と次元の既定値を指定するポイントの配列を入力します。 アプリケーションでは、 でこれらの値を変更できます OnGetMinMaxInfo

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnHelp

アプリケーション内で F1 ヘルプを (現在のコンテキストを使って) 処理します。

afx_msg void OnHelp();

注釈

詳細については、「 CWinApp::OnHelp 」を参照してください。

CWnd::OnHelpFinder

コマンドと コマンド ID_HELP_FINDER を処理 ID_DEFAULT_HELP します。

afx_msg void OnHelpFinder();

注釈

詳細については、「 CWinApp::OnHelpFinder 」を参照してください。

CWnd::OnHelpIndex

コマンドを処理 ID_HELP_INDEX し、既定のヘルプ トピックを提供します。

afx_msg void OnHelpIndex();

注釈

詳細については、「 CWinApp::OnHelpIndex 」を参照してください。

CWnd::OnHelpInfo

ユーザーが F1 キーを押したときに、フレームワークによって呼び出されます。

afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo);

パラメーター

lpHelpInfo
ヘルプが要求されるメニュー項目、コントロール、ダイアログ ボックス、またはウィンドウに関する情報を含 HELPINFO む 構造体へのポインター。

戻り値

ウィンドウに TRUE キーボード フォーカスがある場合、またはウィンドウ内でメニューがアクティブな場合は を返します。 キーボード フォーカスを持つウィンドウがない場合、 は を返します FALSE

注釈

F1 キーを押すと、メニューがアクティブな場合は、 がメニューに関連付けられているウィンドウに送信されます。それ以外の場合は、 がキーボード フォーカスのあるウィンドウ WM_HELPWM_HELP に送信されます。 キーボード フォーカスがあるウィンドウがない場合、 WM_HELP は現在アクティブなウィンドウに送信されます。

CWnd::OnHelpUsing

ID_HELP_USING コマンドを処理します。

afx_msg void OnHelpUsing();

注釈

詳細については、「 CWinApp::OnHelpUsing 」を参照してください。

CWnd::OnHotKey

フレームワークは、ユーザーがシステム全体のホット キーを押すと、このメンバー関数を呼び出します。

afx_msg void OnHotKey(
    UINT nHotKeyId,
    UINT nKey1,
    UINT nKey2);

パラメーター

nHotKeyId
[in]メッセージを生成したホット キーの識別子。 システム定義のホット キーによってメッセージが生成された場合、このパラメーターは次のいずれかの値になります。

  • IDHOT_SNAPDESKTOP - スナップ デスクトップのホット キーが押されました。
  • IDHOT_SNAPWINDOW - スナップ ウィンドウのホット キーが押されました。

nKey1
[in]パラメーターで指定されたキーと組み合わせて押されたキーを示すフラグのビット操作の組み合わせ nKey2 (OR)。 設定できる値は次のとおりです。

  • MOD_ALT - Alt キーが押されました。
  • MOD_CONTROL - Ctrl キーを押したままにしました。
  • MOD_SHIFT - Shift キーが押されました。
  • MOD_WIN - どちらの WINDOWS キーも押されました。 これらのキーには、Microsoft Windows ロゴが付けされています。

nKey2
[in]ホット キーの仮想キー コード。

注釈

このメソッドは通知 WM_HOTKEY を受け取ります。この通知については、SDK のWindowsしてください。 このメッセージは、ホット キーを登録したスレッドに関連付けられているメッセージ キューの上部に配置されます。 関数を RegisterHotKey 使用して、システム全体のホット キーを登録します。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnHScroll

フレームワークは、ユーザーがウィンドウの水平スクロール バーをクリックすると、このメンバー関数を呼び出します。

afx_msg void OnHScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

パラメーター

nSBCode
ユーザーのスクロール要求を示すスクロール バー コードを指定します。 このパラメーターには、次のいずれかを指定できます。

  • SB_LEFT 一番左までスクロールします。

  • SB_ENDSCROLL スクロールを終了します。

  • SB_LINELEFT 左にスクロールします。

  • SB_LINERIGHT 右にスクロールします。

  • SB_PAGELEFT 1 ページ左にスクロールします。

  • SB_PAGERIGHT 1 ページ右にスクロールします。

  • SB_RIGHT 右にスクロールします。

  • SB_THUMBPOSITION 絶対位置までスクロールします。 現在の位置は、 パラメーターで指定 nPos されます。

  • SB_THUMBTRACK スクロール ボックスを指定した位置にドラッグします。 現在の位置は、 パラメーターで指定 nPos されます。

nPos
スクロール バー コードが または の場合は、スクロール ボックスの位置を指定します SB_THUMBPOSITIONSB_THUMBTRACK 。それ以外の場合は使用されません。 最初のスクロール範囲によっては、 が負の値になる場合があります。必要に応じて にキャスト nPosint する必要があります。

pScrollBar
スクロール メッセージがスクロール バー コントロールから送信された場合は、 コントロールへのポインターが格納されます。 ユーザーがウィンドウのスクロール バーをクリックした場合、このパラメーターは になります NULL 。 ポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

通常、スクロール バー コードは、スクロール ボックスがドラッグされている間にフィードバックを提供するアプリケーション SB_THUMBTRACK によって使用されます。

アプリケーションがスクロール バーによって制御されるコンテンツをスクロールする場合は、メンバー関数を使用してスクロール ボックスの位置もリセットする SetScrollPos 必要があります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

void CMdiView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
{
   // Get the minimum and maximum scroll-bar positions.
   int minpos;
   int maxpos;
   GetScrollRange(SB_HORZ, &minpos, &maxpos);
   maxpos = GetScrollLimit(SB_HORZ);

   // Get the current position of scroll box.
   int curpos = GetScrollPos(SB_HORZ);

   // Determine the new position of scroll box.
   switch (nSBCode)
   {
   case SB_LEFT: // Scroll to far left.
      curpos = minpos;
      break;

   case SB_RIGHT: // Scroll to far right.
      curpos = maxpos;
      break;

   case SB_ENDSCROLL: // End scroll.
      break;

   case SB_LINELEFT: // Scroll left.
      if (curpos > minpos)
         curpos--;
      break;

   case SB_LINERIGHT: // Scroll right.
      if (curpos < maxpos)
         curpos++;
      break;

   case SB_PAGELEFT: // Scroll one page left.
   {
      // Get the page size.
      SCROLLINFO info;
      GetScrollInfo(SB_HORZ, &info, SIF_ALL);

      if (curpos > minpos)
         curpos = max(minpos, curpos - (int)info.nPage);
   }
   break;

   case SB_PAGERIGHT: // Scroll one page right.
   {
      // Get the page size.
      SCROLLINFO info;
      GetScrollInfo(SB_HORZ, &info, SIF_ALL);

      if (curpos < maxpos)
         curpos = min(maxpos, curpos + (int)info.nPage);
   }
   break;

   case SB_THUMBPOSITION: // Scroll to absolute position. nPos is the position
      curpos = nPos;      // of the scroll box at the end of the drag operation.
      break;

   case SB_THUMBTRACK: // Drag scroll box to specified position. nPos is the
      curpos = nPos;   // position that the scroll box has been dragged to.
      break;
   }

   // Set the new position of the thumb (scroll box).
   SetScrollPos(SB_HORZ, curpos);

   CView::OnHScroll(nSBCode, nPos, pScrollBar);
}

CWnd::OnHScrollClipboard

クリップボード所有者のメンバー関数は、クリップボード データの形式がで、クリップボード ビューアーの水平スクロール バーにイベントがある場合に、クリップボード ビューアーによって OnHScrollClipboardCF_OWNERDISPLAY 呼び出されます。

afx_msg void OnHScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

パラメーター

pClipAppWnd
クリップボード ビューアー ウィンドウへのポインターを指定します。 ポインターは一時的な場合があります。後で使用するために格納することはできません。

nSBCode
次のいずれかのスクロール バー コードを低い順序で指定します。

  • SB_BOTTOM 右下にスクロールします。

  • SB_ENDSCROLL スクロールを終了します。

  • SB_LINEDOWN 1 行下にスクロールします。

  • SB_LINEUP 1 行上にスクロールします。

  • SB_PAGEDOWN 1 ページ下にスクロールします。

  • SB_PAGEUP 1 ページ上にスクロールします。

  • SB_THUMBPOSITION 絶対位置までスクロールします。 現在の位置は で指定されます nPos

  • SB_TOP 左上までスクロールします。

nPos
スクロール バー コードが の場合は、スクロール ボックスの位置を格納します SB_THUMBPOSITION 。それ以外の場合は使用されません。

注釈

所有者はクリップボード イメージをスクロールし、適切なセクションを無効にし、スクロール バーの値を更新する必要があります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnIconEraseBkgnd

フレームワークは、アイコンを塗りつぶす前にアイコンの背景を塗りつぶす必要がある場合に、最小化された (アイコン) オブジェクトに対してこの CWnd メンバー関数を呼び出します。

afx_msg void OnIconEraseBkgnd(CDC* pDC);

パラメーター

pDC
アイコンのデバイス コンテキスト オブジェクトを指定します。 一時的な可能性があります。後で使用するために格納することはできません。

注釈

CWnd ウィンドウの既定の実装に対してクラス アイコンが定義されている場合にのみ、この呼び出しを受け取ります。それ以外の場合 OnEraseBkgnd は が呼び出されます。

メンバー DefWindowProc 関数は、親ウィンドウの背景ブラシでアイコンの背景を塗りつぶします。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnInitMenu

フレームワークは、メニューがアクティブになりかねない場合に、このメンバー関数を呼び出します。

afx_msg void OnInitMenu(CMenu* pMenu);

パラメーター

pMenu
初期化するメニューを指定します。 一時的な可能性があります。後で使用するために格納することはできません。

注釈

OnInitMenu は、ユーザーがメニュー バーの項目をクリックするか、メニュー キーを押すと呼び出されます。 このメンバー関数をオーバーライドして、メニューを表示する前に変更します。

OnInitMenu は、メニューに最初にアクセスした場合 (たとえば、ユーザーがメニュー バーの項目をクリックした場合) に 1 回だけ呼び出されます。 このメソッドは、メニュー項目に関する情報を提供します。 ユーザーがメニュー内の項目に移動する (たとえば、複数のメニュー項目間でマウスを移動する) と、関数は再び呼び出されません。 ユーザーがメニューから終了すると (たとえば、アプリケーション クライアント領域をクリックして)、後でメニュー バーの項目をクリックすると、関数が再度呼び出されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnInitMenuPopup

フレームワークは、ポップアップ メニューがアクティブになりかねない場合に、このメンバー関数を呼び出します。

afx_msg void OnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nIndex,
    BOOL bSysMenu);

パラメーター

pPopupMenu
ポップアップ メニューのメニュー オブジェクトを指定します。 一時的な可能性があります。後で使用するために格納することはできません。

nIndex
メイン メニューのポップアップ メニューのインデックスを指定します。

bSysMenu
TRUE ポップアップ メニューが [コントロール] メニューの場合は 。それ以外の場合 FALSE は 。

注釈

これにより、アプリケーションは、メニュー全体を変更せずに、表示される前にポップアップ メニューを変更できます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnInputDeviceChange

フレームワークは、I/O デバイスがシステムに追加または削除されると、このメンバー関数を呼び出します。

afx_msg void OnInputDeviceChange(unsigned short uFlag);

パラメーター

uFlag
[in]このフラグには、次の値を含めることができます。

  • GIDC_ARRIVAL - 新しいデバイスがシステムに追加されました。
  • GIDC_REMOVAL - デバイスがシステムから削除されました。

注釈

このメソッドは通知 WM_INPUT_DEVICE_CHANGE を受け取ります。この通知については、SDK のWindowsしてください。 は汎用的な入力デバイス メッセージです。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnInputLangChange

フレームワークは、アプリケーションの入力言語が変更された後、影響を受ける最上位のウィンドウに対してこのメンバーを呼び出します。

afx_msg void OnInputLangChange(
    UINT nCharSet,
    UINT nLocaleId);

パラメーター

nCharSet
[in]新しいロケールの文字セット。 詳細については、 構造体の lfCharSet パラメーターを参照 LOGFONT してください。

nLocaleId
[in]入力ロケール識別子。 詳細については、「言語識別子の 定数と文字列」を参照してください

注釈

このメソッドは通知 WM_INPUTLANGCHANGE メッセージを受け取ります。このメッセージは、SDK のWindowsされています。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnInputLangChangeRequest

フレームワークは、ユーザーが新しい入力言語を選択するときにフォーカスのあるウィンドウに対してこのメンバーを呼び出します。

afx_msg void OnInputLangChangeRequest(
    UINT nFlags,
    UINT nLocaleId);

パラメーター

nFlags
[in]インストールされているロケールの一覧の前または次のロケールから新しいロケールが選択されたか、新しい入力ロケールのキーボード レイアウトをシステム文字セットと一緒に使用できる、新しいロケールを示すフラグのビット処理 (OR) の組み合わせ。 指定できる値は INPUTLANGCHANGE_BACKWARDINPUTLANGCHANGE_FORWARD 、、、および です INPUTLANGCHANGE_SYSCHARSET

nLocaleId
[in]入力ロケール識別子。 詳細については、「言語識別子の 定数と文字列」を参照してください

注釈

このメソッドは通知 WM_INPUTLANGCHANGEREQUEST メッセージを受け取ります。このメッセージは、SDK のWindowsされています。 このメッセージは、ユーザーがキーボード コントロール パネル アプリケーションで指定されたホットキーを使用するか、システム タスク バーのインジケーターから新しい入力言語を選択すると投稿されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnKeyDown

フレームワークは、非システム キーが押された場合に、このメンバー関数を呼び出します。

afx_msg void OnKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

パラメーター

nChar
指定したキーの仮想キー コードを指定します。 標準の仮想キー コードの一覧については、「Winuser.h」を参照してください。

nRepCnt
繰り返しカウント (ユーザーがキーを押した結果、キーストロークが繰り返される回数)。

nFlags
次の一覧に示すように、スキャン コード、キー切り替えコード、以前のキー状態、コンテキスト コードを指定します。

説明
0-7 コードをスキャンする (OEM に依存する値)。
8 関数キーやテンキーのキーなどの拡張キー (拡張キーの場合は 1)。
9-10 使用されていません。
11-12 Windows によって内部的に使用されます。
13 コンテキスト コード (キーが押されている間に ALT キーが押されている場合は 1、それ以外の場合は 0)。
14 以前のキー状態 (呼び出しの前にキーがダウンしている場合は 1、キーが上にある場合は 0)。
15 遷移状態 (キーが解放されている場合は 1、キーが押されている場合は 0)。

メッセージの WM_KEYDOWN 場合、キー遷移ビット (ビット 15) は 0、コンテキスト コード ビット (ビット 13) は 0 です。

注釈

非システム キーは、ALT キーが押されていない場合に押されるキーボード キー、または入力フォーカスがあるときに押されたキーボード キー CWnd です。

自動繰り返しのため、メンバー関数の呼び出しが行われる前に、複数の OnKeyDown 呼び OnKeyUp 出しが行われる場合があります。 前のキー状態を示すビットを使用して、呼び出しが最初のダウン遷移か、繰り返しダウン遷移かを OnKeyDown 判断できます。

IBM Enhanced 101 および 102 キー キーボードの場合、拡張キーはキーボードのメイン セクションの右 ALT キーと右 Ctrl キーです。テンキーの左側にあるクラスター内の INS、DEL、HOME、END、PAGE UP、PAGE DOWN、および方向キー。と、テンキーのスラッシュ (/) キーと ENTER キー。 他の一部のキーボードでは、 の拡張キー ビットがサポートされている場合があります nFlags

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnKeyUp

フレームワークは、非システム キーが解放されると、このメンバー関数を呼び出します。

afx_msg void OnKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

パラメーター

nChar
指定したキーの仮想キー コードを指定します。 標準の仮想キー コードの一覧については、以下を参照してください。 Winuser.h

nRepCnt
繰り返しカウント (ユーザーがキーを押した結果、キーストロークが繰り返される回数)。

nFlags
次の一覧に示すように、スキャン コード、キー切り替えコード、以前のキー状態、コンテキスト コードを指定します。

説明
0-7 コードをスキャンする (OEM に依存する値)。 高次ワードの低バイト。
8 関数キーやテンキーのキーなどの拡張キー (拡張キーの場合は 1、それ以外の場合は 0)。
9-10 使用されていません。
11-12 Windows によって内部的に使用されます。
13 コンテキスト コード (キーが押されている間に ALT キーが押されている場合は 1、それ以外の場合は 0)。
14 以前のキー状態 (呼び出しの前にキーがダウンしている場合は 1、キーが上にある場合は 0)。
15 遷移状態 (キーが解放されている場合は 1、キーが押されている場合は 0)。

メッセージの WM_KEYUP 場合、キー遷移ビット (ビット 15) は 1 で、コンテキスト コード ビット (ビット 13) は 0 です。

注釈

非システム キーは、ALT キーが押されていないときに押されるキーボード キー、または が入力フォーカスを持っているときに押されるキーボード CWnd キーです。

IBM Enhanced 101 および 102 キー キーボードの場合、拡張キーはキーボードのメイン セクションの右 ALT キーと右 Ctrl キーです。テンキーの左側にあるクラスター内の INS、DEL、HOME、END、PAGE UP、PAGE DOWN、および方向キー。と、テンキーのスラッシュ (/) キーと ENTER キー。 他の一部のキーボードでは 、nFlags の拡張キー ビットがサポートされている場合があります

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnKillFocus

フレームワークは、入力フォーカスを失う直前に、このメンバー関数を呼び出します。

afx_msg void OnKillFocus(CWnd* pNewWnd);

パラメーター

pNewWnd
入力フォーカスを受け取るウィンドウへのポインターを指定します (一時的な場合と NULL 一時的な場合があります)。

注釈

オブジェクトに CWnd キャレットが表示されている場合は、この時点でキャレットを破棄する必要があります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnLButtonDblClk

フレームワークは、ユーザーがマウスの左ボタンをダブルクリックすると、このメンバー関数を呼び出します。

afx_msg void OnLButtonDblClk(
    UINT nFlags,
    CPoint point);

パラメーター

nFlags
さまざまな仮想キーがダウンするかどうかを示します。 このパラメーターには、次の値を任意に組み合わせて指定できます。

  • MK_CONTROL Ctrl キーが下の場合に設定します。

  • MK_LBUTTON マウスの左ボタンが下にある場合に設定します。

  • MK_MBUTTON マウスの中央ボタンが下にある場合に設定します。

  • MK_RBUTTON マウスの右ボタンが下にある場合に設定します。

  • MK_SHIFT Shift キーが下の場合に設定します。

point
カーソルの x 座標と y 座標を指定します。 これらの座標は、常にウィンドウの左上隅を基準にしています。

注釈

スタイルを持つウィンドウだけが CS_DBLCLKSWNDCLASS 呼び出しを受 OnLButtonDblClk け取る。 これは、Microsoft Foundation クラス ウィンドウの既定値です。 Windowsのダブルクリック制限内で、ユーザーがマウスの左ボタンを押して離し、もう一度押すと、 が呼び OnLButtonDblClk 出されます。 マウスの左ボタンをダブルクリックすると、実際には、ボタンが離されると、、メッセージ、呼び出し、別のメッセージの 4 つのイベント WM_LBUTTONDOWNWM_LBUTTONUPWM_LBUTTONDBLCLKWM_LBUTTONUP が生成されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnLButtonDown

フレームワークは、ユーザーがマウスの左ボタンを押すと、このメンバー関数を呼び出します。

afx_msg void OnLButtonDown(
    UINT nFlags,
    CPoint point);

パラメーター

nFlags
さまざまな仮想キーがダウンするかどうかを示します。 このパラメーターには、次の値を任意に組み合わせて指定できます。

  • MK_CONTROL Ctrl キーが下の場合に設定します。

  • MK_LBUTTON マウスの左ボタンが下にある場合に設定します。

  • MK_MBUTTON マウスの中央ボタンが下にある場合に設定します。

  • MK_RBUTTON マウスの右ボタンが下にある場合に設定します。

  • MK_SHIFT Shift キーが下の場合に設定します。

point
カーソルの x 座標と y 座標を指定します。 これらの座標は、常にウィンドウの左上隅を基準にしています。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnLButtonUp

フレームワークは、ユーザーがマウスの左ボタンを離すと、このメンバー関数を呼び出します。

afx_msg void OnLButtonUp(
    UINT nFlags,
    CPoint point);

パラメーター

nFlags
さまざまな仮想キーがダウンするかどうかを示します。 このパラメーターには、次の値を任意に組み合わせて指定できます。

  • MK_CONTROL Ctrl キーが下の場合に設定します。

  • MK_MBUTTON マウスの中央ボタンが下にある場合に設定します。

  • MK_RBUTTON マウスの右ボタンが下にある場合に設定します。

  • MK_SHIFT Shift キーが下の場合に設定します。

point
カーソルの x 座標と y 座標を指定します。 これらの座標は、常にウィンドウの左上隅を基準にしています。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMButtonDblClk

フレームワークは、ユーザーがマウスの中央ボタンをダブルクリックすると、このメンバー関数を呼び出します。

afx_msg void OnMButtonDblClk(
    UINT nFlags,
    CPoint point);

パラメーター

nFlags
さまざまな仮想キーがダウンするかどうかを示します。 このパラメーターには、次の値を任意に組み合わせて指定できます。

  • MK_CONTROL Ctrl キーが下の場合に設定します。

  • MK_LBUTTON マウスの左ボタンが下にある場合に設定します。

  • MK_MBUTTON マウスの中央ボタンが下にある場合に設定します。

  • MK_RBUTTON マウスの右ボタンが下にある場合に設定します。

  • MK_SHIFT Shift キーが下の場合に設定します。

point
カーソルの x 座標と y 座標を指定します。 これらの座標は、常にウィンドウの左上隅を基準にしています。

注釈

スタイルを持つウィンドウだけが CS_DBLCLKSWNDCLASS 呼び出しを受 OnMButtonDblClk け取る。 これは、すべての Microsoft Foundation クラス ウィンドウの既定値です。 Windows、ユーザーが押し、離した後、システムのダブルクリック制限内でマウスの中央ボタンを再度押すと、呼び出し OnMButtonDblClk が生成されます。 マウスの中央ボタンをダブルクリックすると、実際には、メッセージ、呼び出し、別のメッセージの 4 つの WM_MBUTTONDOWNWM_MBUTTONUPWM_MBUTTONDBLCLK イベントが生成 WM_MBUTTONUP されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMButtonDown

フレームワークは、ユーザーがマウスの中央ボタンを押すと、このメンバー関数を呼び出します。

afx_msg void OnMButtonDown(
    UINT nFlags,
    CPoint point);

パラメーター

nFlags
さまざまな仮想キーがダウンするかどうかを示します。 このパラメーターには、次の値を任意に組み合わせて指定できます。

  • MK_CONTROL Ctrl キーが下の場合に設定します。

  • MK_LBUTTON マウスの左ボタンが下にある場合に設定します。

  • MK_MBUTTON マウスの中央ボタンが下にある場合に設定します。

  • MK_RBUTTON マウスの右ボタンが下にある場合に設定します。

  • MK_SHIFT Shift キーが下の場合に設定します。

point
カーソルの x 座標と y 座標を指定します。 これらの座標は、常にウィンドウの左上隅を基準にしています。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMButtonUp

フレームワークは、ユーザーがマウスの中央ボタンを離すと、このメンバー関数を呼び出します。

afx_msg void OnMButtonUp(
    UINT nFlags,
    CPoint point);

パラメーター

nFlags
さまざまな仮想キーがダウンするかどうかを示します。 このパラメーターには、次の値を任意に組み合わせて指定できます。

  • MK_CONTROL Ctrl キーが下の場合に設定します。

  • MK_LBUTTON マウスの左ボタンが下にある場合に設定します。

  • MK_RBUTTON マウスの右ボタンが下にある場合に設定します。

  • MK_SHIFT Shift キーが下の場合に設定します。

point
カーソルの x 座標と y 座標を指定します。 これらの座標は、常にウィンドウの左上隅を基準にしています。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMDIActivate

フレームワークは、非アクティブ化されている子ウィンドウとアクティブ化されている子ウィンドウに対して、このメンバー関数を呼び出します。

afx_msg void OnMDIActivate(
    BOOL bActivate,
    CWnd* pActivateWnd,
    CWnd* pDeactivateWnd);

パラメーター

bActivate
TRUE 子がアクティブ化されている場合は 。 FALSE 非アクティブ化されている場合は 。

pActivateWnd
アクティブ化する MDI 子ウィンドウへのポインターを格納します。 MDI 子ウィンドウによって受信された場合、 pActivateWnd アクティブ化されている子ウィンドウへのポインターが格納されます。 このポインターは一時的な場合があります。後で使用するために格納することはできません。

pDeactivateWnd
非アクティブ化される MDI 子ウィンドウへのポインターを格納します。 このポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

MDI 子ウィンドウは、MDI フレーム ウィンドウとは独立してアクティブ化されます。 フレームがアクティブになると、呼び出しで最後にアクティブになった子ウィンドウは、アクティブなウィンドウ フレームとキャプション バーを描画するメッセージを受信しますが、別の呼び出しを OnMDIActivateWM_NCACTIVATE 受信 OnMDIActivate しません。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMeasureItem

フレームワークは、コントロールの作成時に、所有者描画ボタン、コンボ ボックス、リスト ボックス、またはメニュー項目の所有者に対して、フレームワークによってこのメンバー関数を呼び出します。

afx_msg void OnMeasureItem(
    int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);

パラメーター

nIDCtl
コントロールの ID。

lpMeasureItemStruct
所有者描画 MEASUREITEMSTRUCT コントロールのディメンションを含むデータ構造をポイントします。

注釈

このメンバー関数をオーバーライドし、 によって指されるデータ構造を入力して戻します。これにより、Windows にコントロールのディメンションが通知され MEASUREITEMSTRUCT 、Windows がコントロールとのユーザー操作を正しく処理できます。 lpMeasureItemStruct

リスト ボックスまたはコンボ ボックスが または スタイルを使用して作成された場合、フレームワークはコントロール内の各項目の所有者に対してこの関数を呼び出します。それ以外の場合、この関数は 1 回呼び出 LBS_OWNERDRAWVARIABLECBS_OWNERDRAWVARIABLE されます。

Windowsを送信する前に、 スタイルで作成されたコンボ ボックスとリスト ボックスの所有者に対する の呼び出 OnMeasureItemOWNERDRAWFIXED しを開始 WM_INITDIALOG します。 その結果、所有者がこの呼び出しを受け取った場合、Windows はコントロールで使用されるフォントの高さと幅をまだ特定していません。これらの値を必要とする関数呼び出しと計算は、アプリケーションまたはライブラリのメイン関数で行う必要があります。

測定対象の項目が 、または オブジェクトの場合は、適切なクラスの仮想 CMenuCListBoxCComboBoxMeasureItem 関数が呼び出されます。 適切な MeasureItem コントロールの クラスのメンバー関数をオーバーライドして、各項目のサイズを計算して設定します。

OnMeasureItem は、コントロールの クラスが実行時に作成された場合、または または スタイルを使用して作成された場合にのみ呼 LBS_OWNERDRAWVARIABLE び出 CBS_OWNERDRAWVARIABLE されます。 コントロールがダイアログ エディターによって作成された場合、 OnMeasureItem は呼び出されません。 これは、メッセージが WM_MEASUREITEM コントロールの作成プロセスの早い段階で送信されるためです。 、、または を使用してサブクラス DDX_ControlSubclassDlgItem 化する場合、サブクラス化は通常、作成 SubclassWindow プロセスの後に行われます。 そのため、コントロールの 関数でメッセージを処理する方法はありません。これは、MFC が を実装するために WM_MEASUREITEMOnChildNotify 使用するメカニズムです ON_WM_MEASUREITEM_REFLECT

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMenuChar

フレームワークは、ユーザーが現在のメニューの定義済みのニーモニックと一致しないメニューニーモニック文字を押すと、このメンバー関数を呼び出します。

afx_msg LRESULT OnMenuChar(
    UINT nChar,
    UINT nFlags,
    CMenu* pMenu);

パラメーター

nChar
ビルド設定に応じて、ユーザーが押した ANSI または Unicode 文字を指定します。

nFlags
メニューが MF_POPUP ポップアップ メニューの場合は フラグを格納します。 メニューが [コントロール MF_SYSMENU ] メニューの場合は フラグが含まれている。

pMenu
選択した へのポインターを格納します CMenu 。 ポインターは一時的なもので、格納してはならない場合があります。

戻り値

戻り値の高い単語には、次のいずれかのコマンド コードが含まれている必要があります。

説明
0 ユーザー Windows押した文字を破棄するようにユーザーに指示し、システム スピーカーで短いビープ音を作成します。
1 現在のWindowsを閉じる必要があるユーザーに指示します。
2 戻りWindowsの低い単語に、特定の項目の項目番号が含まれていると通知します。 この項目は、次のWindows。

高次ワードに 0 または 1 が含まれている場合、低い単語は無視されます。 アクセラレータ (ショートカット) キーを使用してメニューに配置されたビットマップを選択すると、アプリケーションでこのメッセージを処理する必要があります。

注釈

メニューを所有する CWnd に送信されます。 OnMenuChar キーがニーモニック文字に対応していない場合でも、ユーザーが ALT キーや他のキーを押すと も呼び出されます。 この場合、 pMenu は によって所有されているメニューをポイントし CWnd 、 は nFlags 0 です。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMenuDrag

フレームワークは、ユーザーがメニュー項目のドラッグを開始するときに、現在のドラッグ アンド ドロップ メニューのこのメンバー関数を呼び出します。

afx_msg UINT OnMenuDrag(
    UINT nPos,
    CMenu* pMenu);

パラメーター

nPos
[in]ドラッグ操作の開始時のメニュー項目のインデックス位置。

pMenu
[in]メニュー項目 CMenu を含む オブジェクトへのポインター。

戻り値

戻り値 説明
MND_CONTINUE メニューはアクティブなままです。 マウスを離した場合は無視する必要があります。
MND_ENDMENU メニューは終了する必要があります。

注釈

このメソッドは通知 WM_MENUDRAG を受け取ります。この通知については、SDK のWindowsしてください。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMenuGetObject

フレームワークは、マウスカーソルがメニュー項目に入ったとき、または項目の中央から項目の上部または下部に移動したときに、現在のドラッグアンドドロップメニューのこのメンバー関数を呼び出します。

afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO* pMenuGetObjectInfo);

パラメーター

pMenu
から MENUGETOBJECTINFO マウスカーソルがあるドラッグアンドドロップメニューに関する情報を格納している構造体へのポインター。

戻り値

戻り値 説明
MNGO_NOERROR ドロップアンドドラッグ操作をサポートするインターフェイスポインターは、 pvObj 構造体のメンバーで返され MENUGETOBJECTINFO ます。 現時点では、 IDropTarget インターフェイスのみがサポートされています。
MNGO_NOINTERFACE ドロップアンドドラッグインターフェイスはサポートされていません。

注釈

このメソッドは、 WM_MENUGETOBJECT 通知を受信します。これについては、Windows SDK を参照してください。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMenuRButtonUp

カーソルがメニュー項目にあるときにユーザーがマウスの右ボタンを放すと、フレームワークはこのメンバー関数を呼び出します。

afx_msg void OnMenuRButtonUp(
    UINT nPos,
    CMenu* pMenu);

パラメーター

nPos
からマウスの右ボタンが離されたときのメニュー項目のインデックス位置。

pMenu
から CMenu メニュー項目を格納しているオブジェクトへのポインター。

注釈

このメソッドは、 WM_MENURBUTTONUP 通知を受信します。これについては、Windows SDK を参照してください。 メッセージによって、 WM_MENURBUTTONUP アプリケーションは、メッセージで指定されたメニュー項目に対して状況依存のメニューを提供できます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMenuSelect

CWndオブジェクトがメニューに関連付けられている場合、 OnMenuSelect ユーザーがメニュー項目を選択すると、がフレームワークによって呼び出されます。

afx_msg void OnMenuSelect(
    UINT nItemID,
    UINT nFlags,
    HMENU hSysMenu);

パラメーター

nItemID
選択された項目を識別します。 選択した項目がメニュー項目の場合は、 nItemID メニュー項目の ID が含まれます。 選択した項目にポップアップメニューが含まれている場合は、に nItemID ポップアップメニューのインデックスが含まれ、 hSysMenu メインメニュー (クリックされたとき) のハンドルが表示されます。

nFlags
次のメニューフラグの組み合わせが含まれています。

  • MF_BITMAP 項目はビットマップです。

  • MF_CHECKED 項目がチェックされます。

  • MF_DISABLED 項目が無効になっています。

  • MF_GRAYED 項目が淡色表示されます。

  • MF_MOUSESELECT 項目がマウスで選択されました。

  • MF_OWNERDRAW 項目はオーナー描画項目です。

  • MF_POPUP 項目にポップアップメニューが含まれています。

  • MF_SEPARATOR 項目はメニュー項目の区切り記号です。

  • MF_SYSMENU 項目はコントロールメニューに含まれています。

hSysMenu
nFlagsが contains の場合 MF_SYSMENU 、メッセージに関連付けられているメニューを識別します。 nFlagsが含まれている場合 MF_POPUP 、メインメニューのハンドルを識別します。 nFlagsにとがどちらも含まれていない場合 MF_SYSMENUMF_POPUP は、使用されません。

注釈

nFlags 0xffff が含まれており hSysMenu 、0が含まれている場合は、ユーザーが ESC キーを押すか、メニューの外側をクリックしたため、Windows によってメニューが閉じられました。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMouseActivate

カーソルが非アクティブウィンドウにあり、ユーザーがマウスボタンを押すと、フレームワークはこのメンバー関数を呼び出します。

afx_msg int OnMouseActivate(
    CWnd* pDesktopWnd,
    UINT nHitTest,
    UINT message);

パラメーター

pDesktopWnd
アクティブ化されるウィンドウのトップレベルの親ウィンドウへのポインターが指定されます。 ポインターは一時的なものである可能性があり、格納することはできません。

nHitTest
ヒットテスト領域コードを指定します。 ヒット テストは、カーソルの位置を判断するテストです。

message
マウスのメッセージ番号が指定されます。

戻り値

をアクティブにするかどうか、 CWnd およびマウスイベントを破棄するかどうかを指定します。 次のいずれかの値を指定する必要があります。

  • MA_ACTIVATECWndオブジェクトをアクティブにします。

  • MA_NOACTIVATE オブジェクトをアクティブ化しないで CWnd ください。

  • MA_ACTIVATEANDEATCWndオブジェクトをアクティブ化し、マウスイベントを破棄します。

  • MA_NOACTIVATEANDEAT オブジェクトをアクティブ化せず、 CWnd マウスイベントを破棄しないでください。

注釈

既定の実装では、処理が行われる前に、このメッセージが親ウィンドウに渡されます。 親ウィンドウが TRUE を返した場合、処理は停止します。

個々のヒットテスト区分コードの説明については、「メンバー関数」を参照してください。 OnNcHitTest

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

// The code fragment below shows how to UI activate an ActiveX control.
// CMyAxCtrl is a COleControl-derived class.
int CMyAxCtrl::OnMouseActivate(CWnd *pDesktopWnd, UINT nHitTest, UINT message)
{
   OnActivateInPlace(TRUE, NULL); // OnActivateInPlace() is an undocumented function
   return COleControl::OnMouseActivate(pDesktopWnd, nHitTest, message);
}

CWnd::OnMouseHover

このメンバー関数は、の前の呼び出しで指定した期間、カーソルがウィンドウのクライアント領域の上に置かれたときに呼び出され TrackMouseEvent ます。

afx_msg void OnMouseHover(
    UINT nFlags,
    CPoint point);

パラメーター

nFlags
からどの修飾子キーが押されたかを示すフラグのビットごとの組み合わせ (or)。 たとえば、フラグは、 MK_CONTROL CTRL キーが押されたことを示します。

point
から CPointxy クライアント領域の左上隅を基準とした、カーソルの座標と座標を指定するオブジェクト。

注釈

このメソッドは、 WM_MOUSEHOVER 通知を受信します。これについては、Windows SDK を参照してください。

パラメーターには、 nFlags 次の表に示す修飾子キーの組み合わせを指定できます。 詳細については、「 マウス入力について」を参照してください。

修飾子キー 説明
MK_CONTROL CTRL キーが押されています。
MK_LBUTTON マウスの左ボタンが押された状態です。
MK_MBUTTON マウスの中央ボタンが押された状態です。
MK_RBUTTON マウスの右ボタンが押された状態です。
MK_SHIFT SHIFT キーが押された状態です。
MK_XBUTTON1 XBUTTON1Microsoft IntelliMouse のマウスボタンが押された状態になります。
MK_XBUTTON2 XBUTTON2Microsoft IntelliMouse のマウスボタンが押された状態になります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMouseHWheel

フレームワークは、マウスの水平スクロールホイールが傾いたり回転したりしたときにこのメンバーを呼び出します。

afx_msg void OnMouseHWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

パラメーター

nFlags
[in]押される修飾子キーを示すフラグのビット演算子の組み合わせ (OR)。 たとえば、 フラグ MK_CONTROL は、Ctrl キーが押された状態を示します。 フラグの一覧については、「About Mouse Input 」の「メッセージ パラメーター」の小 ヘッドを参照してください

zDelta
[in]ホイールが回転する距離を示します。これは、120 の倍数または除算 WHEEL_DELTA で表されます。 正の値は、ホイールが右に回転した状態を示します。負の値は、ホイールが左に回転した状態を示します。

pt
[in]クライアント領域の左上隅を基準としてカーソルの および 座標 CPointxy を指定する オブジェクト。

注釈

このメソッドは通知 WM_MOUSEHWHEEL メッセージを受け取ります。このメッセージは、SDK のWindowsされています。 このメッセージは、マウスの水平スクロール ホイールが傾いているか回転した場合にフォーカスがあるウィンドウに送信されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMouseLeave

フレームワークは、 の前の呼び出しで指定されたウィンドウのクライアント領域からカーソルが離れるときに、このメンバー関数を呼び出します TrackMouseEvent

afx_msg void OnMouseLeave();

注釈

このメソッドは通知 WM_MOUSELEAVE を受け取ります。この通知については、SDK のWindowsしてください。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMouseMove

フレームワークは、マウス カーソルが移動するときにこのメンバー関数を呼び出します。

afx_msg void OnMouseMove(
    UINT nFlags,
    CPoint point);

パラメーター

nFlags
さまざまな仮想キーがダウンするかどうかを示します。 このパラメーターには、次の値を任意に組み合わせて指定できます。

  • MK_CONTROL Ctrl キーが下の場合に設定します。

  • MK_LBUTTON マウスの左ボタンが下にある場合に設定します。

  • MK_MBUTTON マウスの中央ボタンが下にある場合に設定します。

  • MK_RBUTTON マウスの右ボタンが下にある場合に設定します。

  • MK_SHIFT Shift キーが下の場合に設定します。

point
カーソルの x 座標と y 座標を指定します。 これらの座標は、常にウィンドウの左上隅を基準にしています。

注釈

マウスがキャプチャされていない場合、メッセージはマウス カーソルの下にある オブジェクトによって受信されます。それ以外の場合、メッセージはマウスをキャプチャしたウィンドウ WM_MOUSEMOVECWnd に移動します。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMouseWheel

フレームワークは、ユーザーがマウス ホイールを回転し、ホイールの次の切り取りを検出すると、このメンバー関数を呼び出します。

afx_msg BOOL OnMouseWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

パラメーター

nFlags
さまざまな仮想キーがダウンするかどうかを示します。 このパラメーターには、次の値を任意に組み合わせて指定できます。

  • MK_CONTROL Ctrl キーが下の場合に設定します。

  • MK_LBUTTON マウスの左ボタンが下にある場合に設定します。

  • MK_MBUTTON マウスの中央ボタンが下にある場合に設定します。

  • MK_RBUTTON マウスの右ボタンが下にある場合に設定します。

  • MK_SHIFT Shift キーが下の場合に設定します。

zDelta
回転した距離を示します。 値 zDelta は、 の倍数または除算で表されます WHEEL_DELTA 。これは 120 です。 0 より小さい値は、(ユーザーに向かって) 戻り、0 より大きい値は前方に回転 (ユーザーから離れる) を示します。 ユーザーは、マウス ソフトウェアの Wheel 設定を変更することで、この応答を反転できます。 このパラメーターの詳細については、「解説」を参照してください。

pt
カーソルの x 座標と y 座標を指定します。 これらの座標は、常に画面の左上隅を基準にしています。

戻り値

マウス ホイールのスクロールが有効な場合は 0 以外。それ以外の場合は 0。

注釈

オーバーライドされない限り、 は OnMouseWheel の既定値を呼び出します WM_MOUSEWHEEL 。 Windows、フォーカスがあるコントロールまたは子ウィンドウにメッセージを自動的にルーティングします。 Win32 関数は DefWindowProc 、メッセージを処理するウィンドウに親チェーンを伝達します。

パラメーター zDelta は の倍数で WHEEL_DELTA 、120 に設定されます。 この値はアクションが実行されるしきい値であり、そのようなアクション (たとえば、1 つの切り込み方向にスクロール) がデルタごとに発生します。

WHEEL_DELTA は 120 に設定されたので、より細かく解像度の高いホイールが可能です。たとえば、開きがない自由に回転するホイールなどです。 より細かい解像度のホイールでは、回転ごとに送信されるメッセージの数が多いですが、各メッセージのデルタ値は小さめになります。 このようなホイールを使用するには、 に到達するまで受信値を追加するか (指定された差分回転に対して同じ応答を取得する)、またはより頻繁なメッセージに応答して部分的な行をスクロールします zDeltaWHEEL_DELTA 。 スクロールの粒度を選択し、到達するまで差分を WHEEL_DELTA 累積できます。

このメンバー関数をオーバーライドして、独自のマウス ホイールスクロール動作を提供します。

注意

OnMouseWheelは、Windows NT 4.0 以降のバージョンのメッセージを処理します。 95 Windows 98 または 3.51 Windows NT処理の場合は、 を使用します OnRegisteredMouseWheel

CWnd::OnMove

フレームワークは、 オブジェクトの移動後にこの CWnd メンバー関数を呼び出します。

afx_msg void OnMove(
    int x,
    int y);

パラメーター

x
クライアント領域の左上隅の新しい x 座標の位置を指定します。 この新しい場所は、重なり合ったポップアップ ウィンドウの画面座標と、子ウィンドウの親クライアント座標で指定されます。

y
クライアント領域の左上隅の新しい y 座標の位置を指定します。 この新しい場所は、重なり合ったポップアップ ウィンドウの画面座標と、子ウィンドウの親クライアント座標で指定されます。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMoving

フレームワークは、ユーザーが オブジェクトを移動している間に、このメンバー関数を呼び出 CWnd します。

afx_msg void OnMoving(
    UINT nSide,
    LPRECT lpRect);

パラメーター

nSide
移動するウィンドウの端。

lpRect
項目の CRect 座標CRect格納する 構造体または 構造体のアドレス。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcActivate

非クライアント領域を変更してアクティブまたは非アクティブ状態を示す必要がある場合、フレームワークはこのメンバー関数を呼び出します。

afx_msg BOOL OnNcActivate(BOOL bActive);

パラメーター

bActive
アクティブまたは非アクティブの状態を示すためにキャプション バーまたはアイコンを変更する必要がある場合に指定します。 アクティブ bActiveTRUE キャプションまたはアイコンを描画する場合、 パラメーターは です。 これは、 FALSE 非アクティブなキャプションまたはアイコン用です。

戻り値

既定の処理Windowsする必要がある場合は 0 以外。キャプション バーまたはアイコンが非アクティブ化されるのを防ぐには 0。

注釈

既定の実装では、 が の場合はアクティブな色で、が の場合は非アクティブな色でタイトル バーとタイトル バーの bActiveTRUE テキストが bActive 描画されます FALSE

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcCalcSize

クライアント領域のサイズと位置を計算する必要がある場合、フレームワークはこのメンバー関数を呼び出します。

afx_msg void OnNcCalcSize(
    BOOL bCalcValidRects,
    NCCALCSIZE_PARAMS* lpncsp);

パラメーター

bCalcValidRects
クライアント領域のどの部分に有効な情報が含まれるかをアプリケーションで指定するかどうかを指定します。 Windows によって、新しいクライアント領域内の指定した領域に有効な情報がコピーされます。 このパラメーターが TRUE の場合、アプリケーションでは、クライアント領域のどの部分が有効であるかを指定する必要があります。

lpncsp
NCCALCSIZE_PARAMSアプリケーションが四角形の新しいサイズと位置 CWnd (クライアント領域、境界線、キャプション、スクロールバーなど) を計算するために使用できる情報を格納するデータ構造を指します。

注釈

このメッセージを処理することによって、ウィンドウのサイズまたは位置が変更されたときに、アプリケーションでウィンドウのクライアント領域の内容を制御できます。

の値に関係なく bCalcValidRects 、構造体の構造体のメンバーによって指定された配列内の最初の四角形には、 rgrcNCCALCSIZE_PARAMS ウィンドウの座標が含まれます。 子ウィンドウの場合、座標は親ウィンドウのクライアント領域を基準とします。 トップレベルウィンドウでは、座標は画面座標です。 アプリケーションでは、 rgrc[0] クライアント領域のサイズと位置を反映するように四角形を変更する必要があります。

との四角形は、 rgrc[1]rgrc[2] がの場合にのみ有効です bCalcValidRectsTRUE 。 この場合、四角形に rgrc[1] は、移動またはサイズ変更される前のウィンドウの座標が含まれます。 四角形には、ウィンドウが rgrc[2] 移動される前のウィンドウのクライアント領域の座標が含まれています。 すべての座標は、親ウィンドウまたは画面に対して相対的です。

既定の実装では、ウィンドウの特性 (スクロールバーの有無、メニューなど) に基づいてクライアント領域のサイズが計算され、結果がに配置され lpncsp ます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcCreate

フレームワークは、 WM_CREATE オブジェクトが最初に作成されたときに、メッセージの前にこのメンバー関数を呼び出し CWnd ます。

afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);

パラメーター

lpCreateStruct
CREATESTRUCTのデータ構造体を指し CWnd ます。

戻り値

非クライアント領域が作成された場合は0以外。 エラーが発生した場合は0になります。 Create この場合、関数は failure を返します。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcDestroy

非クライアント領域が破棄されるときにフレームワークによって呼び出され、Windows ウィンドウが破棄されるときに呼び出される最後のメンバー関数です。

afx_msg void OnNcDestroy();

注釈

既定の実装では、一部のクリーンアップが実行された後、仮想メンバー関数が呼び出され PostNcDestroy ます。

PostNcDestroy操作など、独自のクリーンアップを実行する場合は、をオーバーライドし delete this ます。 をオーバーライドする場合は OnNcDestroyOnNcDestroy ウィンドウに内部的に割り当てられたメモリが解放されるように、基本クラスでを呼び出す必要があります。

CWnd::OnNcHitTest

このメンバー関数は、マウスを移動するたびに、 CWnd カーソル (または、 CWnd メンバー関数を使用して SetCapture マウス入力をキャプチャするために使用したオブジェクト) を含むオブジェクトに対して呼び出されます。

afx_msg LRESULT OnNcHitTest(CPoint point);

パラメーター

point
カーソルの x 座標と y 座標を格納します。 これらの座標は常に画面座標です。

戻り値

マウスヒットテストの列挙値のいずれか。 WM_NCHITTEST値の一覧については、「」を参照してください。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcLButtonDblClk

カーソルがの非クライアント領域内にあるときに、ユーザーがマウスの左ボタンをダブルクリックすると、フレームワークはこのメンバー関数を呼び出し CWnd ます。

afx_msg void OnNcLButtonDblClk(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒットテストコードを指定します。 ヒット テストは、カーソルの位置を判断するテストです。 WM_NCHITTEST値の一覧については、「」を参照してください。

point
CPointカーソル位置の x および y 画面座標を格納しているオブジェクトを指定します。 これらの座標は、常に画面の左上隅に対して相対的です。

注釈

必要に応じて、 WM_SYSCOMMAND メッセージが送信されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcLButtonDown

カーソルがオブジェクトの非クライアント領域内にあるときに、ユーザーがマウスの左ボタンを押すと、フレームワークはこのメンバー関数を呼び出し CWnd ます。

afx_msg void OnNcLButtonDown(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒットテストコードを指定します。 ヒット テストは、カーソルの位置を判断するテストです。 WM_NCHITTEST値の一覧については、「」を参照してください。

point
CPointカーソル位置の x および y 画面座標を格納しているオブジェクトを指定します。 これらの座標は、常に画面の左上隅に対して相対的です。

注釈

必要に応じて、 WM_SYSCOMMAND が送信されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されたパラメーターは、メッセージを受信したときにフレームワークによって受信されたパラメーターを反映します。この関数の基本クラスの実装を呼び出すと、その実装は、関数に指定したパラメーターではなく、最初にメッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcLButtonUp

カーソルが非クライアント領域内にあるときに、ユーザーがマウスの左ボタンを離すと、フレームワークはこのメンバー関数を呼び出します。

afx_msg void OnNcLButtonUp(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒットテストコードを指定します。 ヒット テストは、カーソルの位置を判断するテストです。 WM_NCHITTEST値の一覧については、「」を参照してください。

point
CPointカーソル位置の x および y 画面座標を格納しているオブジェクトを指定します。 これらの座標は、常に画面の左上隅に対して相対的です。

注釈

必要に応じて、 WM_SYSCOMMAND が送信されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcMButtonDblClk

カーソルが非クライアント領域内にあるときにマウスの中央ボタンをダブルクリックすると、フレームワークはこのメンバー関数を呼び出します。

afx_msg void OnNcMButtonDblClk(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒットテストコードを指定します。 ヒット テストは、カーソルの位置を判断するテストです。

point
CPointカーソル位置の x および y 画面座標を格納しているオブジェクトを指定します。 これらの座標は、常に画面の左上隅に対して相対的です。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcMButtonDown

フレームワークは、カーソルがクライアント以外の領域内にある間にユーザーがマウスの中央ボタンを押すと、このメンバー関数を呼び出します。

afx_msg void OnNcMButtonDown(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒット テスト コード を指定します。 ヒット テストは、カーソルの位置を判断するテストです。

point
カーソル位置の x および y 画面座標を CPoint 含む オブジェクトを指定します。 これらの座標は、常に画面の左上隅を基準にしています。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcMButtonUp

フレームワークは、カーソルがクライアント以外の領域内にあるときに、ユーザーがマウスの中央ボタンを離すと、このメンバー関数を呼び出します。

afx_msg void OnNcMButtonUp(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒット テスト コード を指定します。 ヒット テストは、カーソルの位置を判断するテストです。

point
カーソル位置の x および y 画面座標を CPoint 含む オブジェクトを指定します。 これらの座標は、常に画面の左上隅を基準にしています。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcMouseHover

フレームワークは、 への以前の呼び出しで指定された期間、ウィンドウの非クライアント領域にカーソルを置くと、このメンバー関数を呼び出します TrackMouseEvent

afx_msg void OnNcMouseHover(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
[in]メッセージの処理結果として関数によって返されるヒット CWnd::DefWindowProc テスト WM_NCHITTEST 値。

point
[in]画面 CPoint の左上隅を CPoint としてカーソルの x 座標と y 座標を指定する オブジェクト。

注釈

このメソッドは通知 WM_NCMOUSEHOVER を受け取ります。この通知については、SDK のWindowsしてください。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcMouseLeave

フレームワークは、 の前の呼び出しで指定されたウィンドウの非クライアント領域からカーソルが離れるときに、このメンバー関数を呼び出します TrackMouseEvent

afx_msg void OnNcMouseLeave();

注釈

このメソッドは通知 WM_NCMOUSELEAVE を受け取ります。この通知については、SDK のWindowsしてください。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcMouseMove

フレームワークは、カーソルが非クライアント領域内で移動するときに、このメンバー関数を呼び出します。

afx_msg void OnNcMouseMove(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒット テスト コード を指定します。 ヒット テストは、カーソルの位置を判断するテストです。

point
カーソル位置の x および y 画面座標を CPoint 含む オブジェクトを指定します。 これらの座標は、常に画面の左上隅を基準にしています。

注釈

必要に応じて、 WM_SYSCOMMAND メッセージが送信されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcPaint

フレームワークは、非クライアント領域を描画する必要がある場合に、このメンバー関数を呼び出します。

afx_msg void OnNcPaint();

注釈

既定の実装では、ウィンドウ フレームが描画されます。

アプリケーションでは、この呼び出しをオーバーライドし、独自のカスタム ウィンドウ フレームを描画できます。 クリッピング領域は、フレームの形状が変更された場合でも、常に四角形になります。

CWnd::OnNcRButtonDblClk

フレームワークは、カーソルが の非クライアント領域内にあるときに、ユーザーがマウスの右ボタンをダブルクリックすると、このメンバー関数を呼び出します CWnd

afx_msg void OnNcRButtonDblClk(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒット テスト コード を指定します。 ヒット テストは、カーソルの位置を判断するテストです。

point
カーソル位置の x および y 画面座標を CPoint 含む オブジェクトを指定します。 これらの座標は、常に画面の左上隅を基準にしています。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcRButtonDown

フレームワークは、カーソルがクライアント以外の領域内にあるときに、ユーザーがマウスの右ボタンを押すと、このメンバー関数を呼び出します。

afx_msg void OnNcRButtonDown(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒット テスト コード を指定します。 ヒット テストは、カーソルの位置を判断するテストです。

point
カーソル位置の x および y 画面座標を CPoint 含む オブジェクトを指定します。 これらの座標は、常に画面の左上隅を基準にしています。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcRButtonUp

フレームワークは、カーソルがクライアント以外の領域内にあるときに、ユーザーがマウスの右ボタンを離すと、このメンバー関数を呼び出します。

afx_msg void OnNcRButtonUp(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒット テスト コード を指定します。 ヒット テストは、カーソルの位置を判断するテストです。

point
カーソル位置の x および y 画面座標を CPoint 含む オブジェクトを指定します。 これらの座標は、常に画面の左上隅を基準にしています。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcRenderingChanged

フレームワークは、非クライアント領域のレンダリング ポリシーが変更された場合に、このメンバーを呼び出します。

afx_msg void OnNcRenderingChanged(BOOL bIsRendering);

パラメーター

bIsRendering
[in] TRUE ウィンドウデスクトップ ウィンドウ マネージャー非クライアント領域に対して DWM (DWM) レンダリングが有効になっている場合は 。 FALSE レンダリングが無効になっている場合は 。

注釈

このメソッドは通知 WM_DWMNCRENDERINGCHANGED を受け取ります。この通知については、SDK のWindowsしてください。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcXButtonDblClk

フレームワークは、ユーザーがダブルクリックした場合、またはカーソルがウィンドウの非クライアント領域にあるときに、このメンバー XBUTTON1XBUTTON2 関数を呼び出します。

void OnNcXButtonDblClk(
    short nHitTest,
    UINT nButton,
    CPoint point);

パラメーター

nHitTest
からメッセージを処理した CWnd::DefWindowProc 結果として関数によって返されたヒットテストの値 WM_NCHITTEST

nButton
から XBUTTON1 最初の Microsoft Intellimouse X ボタンがダブルクリックされた場合はの値 XBUTTON2 。2番目の x ボタンがダブルクリックされた場合は。

point
から CPointxy クライアント領域の左上隅を基準とした、カーソルの座標と座標を指定するオブジェクト。

注釈

このメソッドは、 WM_XBUTTONDBLCLK 通知を受信します。これについては、Windows SDK を参照してください。 このメッセージは、カーソルを含むウィンドウにポストされます。 ウィンドウがマウスをキャプチャした場合、このメッセージはポストされません。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcXButtonDown

XBUTTON1XBUTTON2 カーソルがウィンドウの非クライアント領域にあるときに、ユーザーがマウスを押すかマウスを押すと、フレームワークはこのメンバー関数を呼び出します。

afx_msg void OnNcXButtonDown(
    short nHitTest,
    UINT nButton,
    CPoint point);

パラメーター

nHitTest
からメッセージを処理した CWnd::DefWindowProc 結果として関数によって返されたヒットテストの値 WM_NCHITTEST

nButton
から XBUTTON1 最初のマウスボタンが押された場合はの値 XBUTTON2 。2番目の x ボタンが押された場合は。

point
から CPointxy 画面の左上隅を基準とした、カーソルの座標と座標を指定するオブジェクト。

注釈

このメソッドは、 WM_NCXBUTTONDOWN 通知を受信します。これについては、Windows SDK を参照してください。 このメッセージは、カーソルを含むウィンドウにポストされます。 ウィンドウがマウスをキャプチャした場合、このメッセージはポストされません。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcXButtonUp

このメンバー関数は、 XBUTTON1XBUTTON2 カーソルがウィンドウの非クライアント領域にあるときに、ユーザーがマウスを離すか、マウスを離したときに呼び出されます。

afx_msg void OnNcXButtonUp(
    short nHitTest,
    UINT nButton,
    CPoint point);

パラメーター

nHitTest
からメッセージを処理した CWnd::DefWindowProc 結果として関数によって返されたヒットテストの値 WM_NCHITTEST

nButton
から XBUTTON1 最初のマウス X ボタンが離された場合はの値 XBUTTON2 。2番目の x ボタンが離された場合は。

point
から CPoint 画面の左上隅を基準とするカーソルの CPoint 座標と y 座標を指定するオブジェクト。

注釈

このメソッドは、 WM_NCXBUTTONUP 通知を受信します。これについては、Windows SDK を参照してください。 このメッセージは、カーソルを含むウィンドウにポストされます。 ウィンドウがマウスをキャプチャした場合、このメッセージはポストされません。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNextMenu

このメンバー関数は、右または左方向キーを使用してメニューバーとシステムメニューを切り替えると、フレームワークによって呼び出されます。

afx_msg void OnNextMenu(
    UINT nKey,
    LPMDINEXTMENU lpMdiNextMenu);

パラメーター

nKey
からORどの修飾子キーが押されたかを示すフラグのビットごとの組み合わせ ()。 たとえば、フラグは、 MK_CONTROL CTRL キーが押されたことを示します。 フラグの一覧については、「 マウス入力について」の「メッセージパラメーター」小見出しを参照してください。

lpMdiNextMenu
から MDINEXTMENU アクティブにするメニューに関する情報を格納している構造体へのポインター。

注釈

このメソッドは、 WM_UNINITMENUPOPUP 通知を受信します。これについては、Windows SDK を参照してください。 このメッセージに応答して、アプリケーションで構造体のメンバーを設定して、切り替えるメニューを指定し、メンバーを使用して、 hmenuNextMDINEXTMENUhwndNext メニュー通知メッセージを受信するウィンドウを指定できます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNotify

フレームワークは、このメンバー関数を呼び出して、コントロールでイベントが発生したこと、またはコントロールに何らかの情報が必要であることをコントロールの親ウィンドウに通知します。

virtual BOOL OnNotify(
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

パラメーター

wParam
メッセージがコントロールからのものである場合に、メッセージを送信するコントロールを識別します。 それ以外の場合、 wParam は0です。

lParam
通知 NMHDR コードと追加情報を格納する通知メッセージ () 構造体へのポインター。 一部の通知メッセージでは、このパラメーターは、構造体が最初のメンバーとなる、より大きな構造体を指し NMHDR ます。

pResult
LRESULTメッセージが処理された場合に結果コードを格納する変数へのポインター。

戻り値

アプリケーションは、このメッセージを処理すると0以外の値を返します。それ以外の場合は0です。

注釈

OnNotify コントロール通知のメッセージマップを処理します。

このメンバー関数を派生クラスでオーバーライドして、メッセージを処理し WM_NOTIFY ます。 基底クラスが呼び出されない限り、オーバーライドはメッセージマップを処理しません OnNotify

メッセージの詳細につい WM_NOTIFY ては、「テクニカルノート 61 (テクニカルノート 61)」 WM_NOTIFY」を参照してください。 また、「コントロールトピック」で説明されている関連トピック、およびWindows コントロールのメッセージリフレクション」を参照してください。

CWnd::OnNotifyFormat

フレームワークは、このメンバー関数を呼び出して、現在のウィンドウが、通知メッセージで ANSI または Unicode の構造を受け入れるかどうかを判断し WM_NOTIFY ます。

afx_msg UINT OnNotifyFormat(
    CWnd* pWnd,
    UINT nCommand);

パラメーター

pWnd
からメッセージを送信する CWnd ウィンドウを表すオブジェクトへのポインター WM_NOTIFY 。 このパラメーターは、パラメーターがの場合はコントロールへのポインター、 nCommandNF_QUERY がの場合はコントロールの親ウィンドウへのポインターです nCommandNF_REQUERY

nCommand
からメッセージを特殊化するコマンド値 WM_NOTIFY 。 設定できる値は次のとおりです。

  • NF_QUERY -メッセージは、ANSI または Unicode の構造をメッセージで使用する必要があるかどうかを判断するためのクエリです WM_NOTIFY 。 このメッセージは、コントロールの作成時にコントロールから親ウィンドウに送信され、このメッセージの形式に応答して送信され NF_REQUERY ます。
  • NF_REQUERY -メッセージは、 NF_QUERY このメッセージの形式を親ウィンドウに送信するコントロールの要求です。 この要求は親ウィンドウから送信され、メッセージで使用する構造体の型について親を再クエリするようにコントロールに要求し WM_NOTIFY ます。 nCommandパラメーターがの場合 NF_REQUERY 、戻り値は requery 操作の結果です。

戻り値

戻り値 説明
NFR_ANSI ANSI 構造体は WM_NOTIFY 、コントロールによって送信されるメッセージで使用する必要があります。
NFR_UNICODE Unicode 構造体は WM_NOTIFY 、コントロールによって送信されるメッセージで使用する必要があります。
0 エラーが発生しました。

解説

このメソッドは、 WM_NOTIFYFORMAT 通知を受信します。これについては、Windows SDK を参照してください。 WM_NOTIFY メッセージは、コモンコントロールから親ウィンドウに送信され、親ウィンドウからコモンコントロールに送られます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnPaint

Windows またはアプリケーションがアプリケーションのウィンドウの一部の再描画要求を行うときに、フレームワークはこのメンバー関数を呼び出します。

afx_msg void OnPaint();

注釈

WM_PAINTUpdateWindow または RedrawWindow メンバー関数が呼び出されると、メッセージが送信されます。

ウィンドウは、フラグが設定されたメンバー関数を呼び出した結果として内部描画メッセージを受信する場合があり RedrawWindowRDW_INTERNALPAINT ます。 この場合、ウィンドウに更新領域がない可能性があります。 アプリケーションは、 GetUpdateRect ウィンドウに更新領域があるかどうかを判断するために、メンバー関数を呼び出す必要があります。 が GetUpdateRect 0 を返す場合、アプリケーションはとのメンバー関数を呼び出すことは BeginPaintEndPaint できません。

メッセージが WM_PAINTWM_PAINT 無効な領域と、フラグが設定されたメンバー関数の呼び出しの両方によって発生している可能性があるため、各メッセージの内部データ構造を確認することで、必要な内部の再描画または更新を確認する必要があり RedrawWindowRDW_INTERNALPAINT ます。

内部 WM_PAINT メッセージは、Windows によって1回だけ送信されます。 WM_PAINTメンバー関数によって内部メッセージがウィンドウに送信された後 UpdateWindowWM_PAINT ウィンドウが無効化されるまで、またはフラグが設定され RedrawWindow た状態でメンバー関数が再度呼び出されるまで、それ以降のメッセージは送信またはポストされません RDW_INTERNALPAINT

ドキュメント/ビューアプリケーションでのイメージのレンダリングの詳細については、「」を参照してください CView::OnDraw

の使用方法の詳細については WM_Paint 、Windows SDK の次のトピックを参照してください。

CWnd::OnPaintClipboard

クリップボード所有者の OnPaintClipboard メンバー関数は、クリップボード所有者がクリップボードに CF_OWNERDISPLAY 形式でデータを格納したことによりクリップボード ビューアーのクライアント領域を再描画する必要があるときにクリップボード ビューアーによって呼び出されます。

afx_msg void OnPaintClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hPaintStruct);

パラメーター

pClipAppWnd
クリップボード アプリケーション ウィンドウへのポインターを指定します。 ポインターは一時的である可能性があり、後で使用するために格納することはできません。

hPaintStruct
PAINTSTRUCTクライアント領域のどの部分を描画するかを定義するデータ構造体を識別します。

注釈

クライアント領域全体またはその一部のみを再描画する必要があるかどうかを判断するには、クリップボードの所有者は、構造体のメンバーに指定された描画領域の寸法 rcpaintPAINTSTRUCT を、最新のメンバー関数呼び出しで指定されているディメンションと比較する必要があり OnSizeClipboard ます。

OnPaintClipboardでは、Windows 関数を使用して GlobalLock データ構造体を含むメモリをロックし、Windows 関数を使用してそのメモリのロックを解除してから終了する必要があり PAINTSTRUCTGlobalUnlock ます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnPaletteChanged

フレームワークは、入力フォーカスのあるウィンドウが論理パレットを認識し、システムパレットを変更した後、すべてのトップレベルウィンドウに対してこのメンバー関数を呼び出します。

afx_msg void OnPaletteChanged(CWnd* pFocusWnd);

パラメーター

pFocusWnd
システムパレットが変更される原因となったウィンドウへのポインターを指定します。 ポインターは一時的なものである可能性があり、格納することはできません。

注釈

この呼び出しにより、カラーパレットを使用する入力フォーカスのないウィンドウで、論理パレットを認識し、クライアント領域を更新できます。

この OnPaletteChanged メンバー関数は、システムパレットを変更し、メッセージが送信される原因を含む、すべてのトップレベルおよびオーバーラップウィンドウに対して呼び出され WM_PALETTECHANGED ます。 いずれかの子ウィンドウでカラーパレットが使用されている場合は、このメッセージを渡す必要があります。

無限ループが発生しないようにするために、ウィンドウは、自身へのポインターが含まれていないと判断した場合を除き、パレットを認識しないようにし pFocusWnd ます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnPaletteIsChanging

フレームワークは、アプリケーションが論理パレットを認識することをアプリケーションに通知するために、このメンバー関数を呼び出します。

afx_msg void OnPaletteIsChanging(CWnd* pRealizeWnd);

パラメーター

pRealizeWnd
論理パレットを認識しようとしているウィンドウを指定します。

注釈

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnParentNotify

親の OnParentNotify メンバー関数は、子ウィンドウが作成または破棄されたとき、またはカーソルが子ウィンドウの上にあるときにユーザーがマウスボタンをクリックしたときに、フレームワークによって呼び出されます。

afx_msg void OnParentNotify(
    UINT message,
    LPARAM lParam);

パラメーター

message
親が通知されるイベントと、子ウィンドウの識別子を指定します。 イベントは、の下位ワードです message 。 イベントがまたはの場合は WM_CREATEWM_DESTROY 、の上位ワード message が子ウィンドウの識別子になります。それ以外の場合、上位ワードは定義されていません。 イベント (の下位ワード) には、 message 次のいずれかの値を指定できます。

  • WM_CREATE 子ウィンドウを作成しています。

  • WM_DESTROY 子ウィンドウが破棄されています。

  • WM_LBUTTONDOWN ユーザーは、マウスカーソルを子ウィンドウの上に置き、マウスの左ボタンをクリックしました。

  • WM_MBUTTONDOWN ユーザーは、マウスカーソルを子ウィンドウの上に置き、マウスの中央ボタンをクリックしました。

  • WM_RBUTTONDOWN ユーザーは、マウスカーソルを子ウィンドウの上に置き、マウスの右ボタンをクリックしました。

lParam
のイベント (下位ワード) messageWM_CREATE またはである場合は WM_DESTROYlParam 子ウィンドウのウィンドウハンドルを指定します。それ以外の場合は、 lParam カーソルの x 座標と y 座標を格納します。 X 座標は、下位ワードにあり、y 座標は上位ワードにあります。

注釈

子ウィンドウが作成されると、 OnParentNotify ウィンドウを作成するメンバー関数が返される直前に、システムによってが呼び出され Create ます。 子ウィンドウが破棄されているときは、 OnParentNotify ウィンドウを破棄する処理が行われる前に、システムによってが呼び出されます。

OnParentNotify は、トップレベルウィンドウを含む、子ウィンドウのすべての先祖ウィンドウに対して呼び出されます。

スタイルを持つすべての子ウィンドウは、 WS_EX_NOPARENTNOTIFY このメッセージを親ウィンドウに送信します。 既定では、 WS_EX_NOPARENTNOTIFY メンバー関数を呼び出すことによって、このスタイルを指定せずに子ウィンドウを作成した場合を除き、ダイアログボックス内の子ウィンドウにスタイルが設定され CreateEx ます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnPowerBroadcast

このメンバー関数は、電源管理イベントが発生したときにフレームワークによって呼び出されます。

afx_msg UINT OnPowerBroadcast(
    UINT nPowerEvent,
    UINT nEventData);

パラメーター

nPowerEvent
から電源管理イベント。

nEventData
からイベント固有のデータ。

戻り値

イベントが要求である場合は、 TRUE を返して要求を許可するか、 BROADCAST_QUERY_DENY 要求を拒否します。

注釈

このメソッドは、 WM_POWERBROADCAST Windows SDK で説明されているメッセージを受信します。

nPowerEventこのパラメーターは、バッテリ電源が低い、電源状態が変化した、操作を中断するアクセス許可が要求または拒否された、操作がイベントの後に自動的に再開される、システムが操作を中断している、または中断後に操作が再開されるなどのイベントを指定します。 通常、この nEventData パラメーターは使用されません。 詳細については、 wParam メッセージのおよびパラメーターを参照してください lParamWM_POWERBROADCAST

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnQueryDragIcon

フレームワークは、このメンバー関数を、そのクラスに対してアイコンが定義されていない最小化 (アイコン化) ウィンドウで呼び出します。

afx_msg HCURSOR OnQueryDragIcon();

戻り値

下位ワード内のカーソルまたはアイコンハンドルを含むダブルワード値。 カーソルまたはアイコンは、ディスプレイドライバーの解像度と互換性がある必要があります。 アプリケーションからが返されると、 NULL 既定のカーソルが表示されます。 既定の戻り値は NULL です。

注釈

システムは、最小化されたウィンドウをユーザーがドラッグしたときに表示するカーソルを取得するために、この呼び出しを行います。 アプリケーションがアイコンまたはカーソルのハンドルを返すと、システムによってそのハンドルが白黒に変換されます。 アプリケーションがハンドルを返す場合、ハンドルは、ディスプレイドライバーの解像度と互換性のあるモノクロカーソルまたはアイコンを識別する必要があります。 アプリケーションで CWinApp::LoadCursor は、またはの CWinApp::LoadIcon メンバー関数を呼び出して、実行可能ファイルのリソースからカーソルやアイコンを読み込んだり、このハンドルを取得したりできます。

CWnd::OnQueryEndSession

フレームワークは、ユーザーが Windows セッションを終了することを選択したとき、またはアプリケーションが Windows 関数を呼び出したときに、このメンバー関数を呼び出し ExitWindows ます。

afx_msg BOOL OnQueryEndSession();

戻り値

アプリケーションを簡単にシャットダウンできる場合は0以外。それ以外の場合は0です。

注釈

アプリケーションから0が返された場合、Windows セッションは終了しません。 Windows は、 OnQueryEndSession 1 つのアプリケーションが0を返すとすぐに呼び出しを停止し、0以外を返した WM_ENDSESSION アプリケーションに対して、パラメーター値がのメッセージを送信し FALSE ます。

CWnd::OnQueryNewPalette

フレームワークは、オブジェクトが入力フォーカスを受け取ったときにこのメンバー関数を呼び出し CWndCWnd フォーカスを受け取ったときに論理パレットを認識できるようにします。

afx_msg BOOL OnQueryNewPalette();

戻り値

が論理パレットを認識する場合は0以外 CWnd 。それ以外の場合は0。

CWnd::OnQueryOpen

このメンバー関数は、 CWnd オブジェクトが最小化され、ユーザーがその CWnd サイズと位置を事前に最小化するように要求すると、フレームワークによって呼び出されます。

afx_msg BOOL OnQueryOpen();

戻り値

アイコンを開くことができる場合は0以外の場合は、アイコンが開かれないようにする場合は0。

注釈

では OnQueryOpenCWnd アクティブ化またはフォーカスの変更を引き起こすアクション (ダイアログボックスの作成など) を実行しないでください。

CWnd::OnQueryUIState

ウィンドウのユーザー インターフェイス (UI) 状態を取得するために呼び出されます。

afx_msg UINT OnQueryUIState();

戻り値

フォーカス インジケーターと NULL キーボード アクセラレータが表示されている場合、戻り値は です。 それ以外の場合、戻り値は次の値の 1 つ以上になります。

  • UISF_HIDEFOCUS フォーカス インジケーターは非表示になります。

  • UISF_HIDEACCEL キーボード アクセラレータは非表示です。

  • UISF_ACTIVEWindows XP: アクティブなコントロールに使用されるスタイルでコントロールを描画する必要があります。

注釈

このメンバー関数は、WINDOWS SDK の説明に従って、メッセージ WM_QUERYUISTATE の機能をエミュレートします。

CWnd::OnRawInput

フレームワークは、現在のウィンドウが生の入力を取得するときに、このメンバー関数を呼び出します。

afx_msg void OnRawInput(
    UINT nInputCode,
    HRAWINPUT hRawInput);

パラメーター

nInputCode
[in]アプリケーションがフォアグラウンドにある間に入力が発生したかどうかを示す入力コード。 どちらの場合も、システムがクリーンアップを実行できるよう CWnd::DefWindowProc 、アプリケーションで を呼び出す必要があります。 このパラメーターには、次のいずれかの値を指定できます。

  • RIM_INPUT - アプリケーションがフォアグラウンドにある間に入力が発生しました。
  • RIM_INPUTSINK - アプリケーションがフォアグラウンドに表示されていない間に入力が発生しました。

hRawInput
[in]デバイスからの RAWINPUT 未加工の入力を含む 構造体を処理します。

注釈

このメソッドは通知 WM_INPUT を受け取ります。この通知については、SDK のWindowsしてください。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnRButtonDblClk

フレームワークは、ユーザーがマウスの右ボタンをダブルクリックすると、このメンバー関数を呼び出します。

afx_msg void OnRButtonDblClk(
    UINT nFlags,
    CPoint point);

パラメーター

nFlags
さまざまな仮想キーがダウンするかどうかを示します。 このパラメーターには、次の値を任意に組み合わせて指定できます。

  • MK_CONTROL Ctrl キーが押されている場合に設定します。

  • MK_LBUTTON マウスの左ボタンが下にある場合に設定します。

  • MK_MBUTTON マウスの中央ボタンが下にある場合に設定します。

  • MK_RBUTTON マウスの右ボタンが下にある場合に設定します。

  • MK_SHIFT Shift キーが下の場合に設定します。

point
カーソルの x 座標と y 座標を指定します。 これらの座標は、常にウィンドウの左上隅を基準にしています。

注釈

呼び出しを受け取CS_DBLCLKS WNDCLASS スタイルを持つウィンドウ OnRButtonDblClk のみ。 これは、ウィンドウ内のウィンドウの既定値Microsoft Foundation Class ライブラリ。 Windowsが押し、離した後、システムのダブルクリック制限内でマウスの右ボタンを再度押すと、 が呼び OnRButtonDblClk 出されます。 マウスの右ボタンをダブルクリックすると、実際には 4 つのイベントが生成されます。ボタンが離されると、メッセージ、呼び出し、WM_RBUTTONUPメッセージが WM_RBUTTONDOWNWM_RBUTTONUPOnRButtonDblClk 生成されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnRButtonDown

フレームワークは、ユーザーがマウスの右ボタンを押すと、このメンバー関数を呼び出します。

afx_msg void OnRButtonDown(
    UINT nFlags,
    CPoint point);

パラメーター

nFlags
さまざまな仮想キーがダウンするかどうかを示します。 このパラメーターには、次の値を任意に組み合わせて指定できます。

  • MK_CONTROL Ctrl キーが押されている場合に設定します。

  • MK_LBUTTON マウスの左ボタンが下にある場合に設定します。

  • MK_MBUTTON マウスの中央ボタンが下にある場合に設定します。

  • MK_RBUTTON マウスの右ボタンが下にある場合に設定します。

  • MK_SHIFT Shift キーが下の場合に設定します。

point
カーソルの x 座標と y 座標を指定します。 これらの座標は、常にウィンドウの左上隅を基準にしています。

注釈

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnRButtonUp

フレームワークは、ユーザーがマウスの右ボタンを離すと、このメンバー関数を呼び出します。

afx_msg void OnRButtonUp(
    UINT nFlags,
    CPoint point);

パラメーター

nFlags
さまざまな仮想キーがダウンするかどうかを示します。 このパラメーターには、次の値を任意に組み合わせて指定できます。

  • MK_CONTROL Ctrl キーが押されている場合に設定します。

  • MK_LBUTTON マウスの左ボタンが下にある場合に設定します。

  • MK_MBUTTON マウスの中央ボタンが下にある場合に設定します。

  • MK_SHIFT Shift キーが下の場合に設定します。

point
カーソルの x 座標と y 座標を指定します。 これらの座標は、常にウィンドウの左上隅を基準にしています。

注釈

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnRegisteredMouseWheel

フレームワークは、ユーザーがマウス ホイールを回転し、ホイールの次の切り取りを検出すると、このメンバー関数を呼び出します。

afx_msg LRESULT OnRegisteredMouseWheel(
    WPARAM wParam,
    LPARAM lParam);

パラメーター

wParam
ポインターの水平方向の位置。

lParam
ポインターの垂直方向の位置。

戻り値

現時点では重要ではありません。 常にゼロです。

注釈

オーバーライドされない限り、 はメッセージを適切なウィンドウ (フォーカスのある親ウィンドウ) にルーティングし、そのウィンドウのハンドラー OnRegisteredMouseWheelWM_MOUSEWHEEL を呼び出します。

独自のメッセージ ルーティングを提供したり、マウス ホイールのスクロール動作を変更したりするには、このメンバー関数をオーバーライドします。

注意

OnRegisteredMouseWheelは、95/98 Windows 3.51 Windows NTのメッセージを処理します。 4.0 Windows NT処理する場合は、 を使用します OnMouseWheel

CWnd::OnRenderAllFormats

クリップボード所有者のメンバー関数は、所有者アプリケーションが破棄されるとフレームワーク OnRenderAllFormats によって呼び出されます。

afx_msg void OnRenderAllFormats();

注釈

クリップボードの所有者は、データを生成できるすべての形式でレンダリングし、Windows 関数を呼び出して、各形式のデータ ハンドルをクリップボード SetClipboardData に渡す必要があります。 これにより、データをレンダリングしたアプリケーションが破棄された場合でも、クリップボードに有効なデータが含まれるのが保証されます。 アプリケーションは、メンバー関数を呼び出す前にメンバー Windows呼び出し、その後Windows OpenClipboardSetClipboardDataCloseClipboard 呼び出す必要があります。

CWnd::OnRenderFormat

レンダリングの遅延がある特定の形式をレンダリングする必要がある場合は、クリップボード所有者のメンバー関数がフレームワークによって OnRenderFormat 呼び出されます。

afx_msg void OnRenderFormat(UINT nFormat);

パラメーター

nFormat
クリップボードの形式を指定します。

注釈

受信側は、データをその形式でレンダリングし、 関数を呼び出してクリップボード SetClipboardData Windowsがあります。

内からメンバー関数 OpenClipboard またはメンバー関数 CloseClipboard Windows呼び出しません OnRenderFormat

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSessionChange

フレームワークは、このメンバー関数を呼び出して、セッション状態の変更をアプリケーションに通知します。

afx_msg void OnSessionChange(
    UINT nSessionState,
    UINT nId);

パラメーター

nSessionState
[in]状態コードは、セッション状態の変更を記述します。

nId
[in]セッション識別子。

注釈

このメソッドは通知 WM_WTSSESSION_CHANGE を受け取ります。この通知については、SDK のWindowsしてください。

パラメーターは、セッションがコンソールまたはリモート ターミナルから接続または切断されている、ログオンまたはオフのユーザー、セッションがロックまたはロック解除されている、またはセッションがリモート制御状態に変更されていることを指定します。 nSessionState 詳細については、メッセージの パラメーター wParam を参照 WM_WTSSESSION_CHANGE してください。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSetCursor

フレームワークは、マウス入力がキャプチャされていない場合に、マウスがオブジェクト内でカーソルを移動する場合に、このメンバー関数を呼び出 CWnd します。

afx_msg BOOL OnSetCursor(
    CWnd* pWnd,
    UINT nHitTest,
    UINT message);

パラメーター

pWnd
カーソルを含むウィンドウへのポインターを指定します。 ポインターは一時的な場合があります。後で使用するために格納することはできません。

nHitTest
ヒット テストの エリア コードを 指定します。 ヒット テストによってカーソルの位置が決定されます。

message
マウスのメッセージ番号が指定されます。

戻り値

それ以上の処理を停止する場合は 0 以外、続行するには 0。

注釈

既定の実装では、処理前に親ウィンドウの が OnSetCursor 呼び出されます。 親ウィンドウから が返された TRUE 場合、それ以上の処理は停止されます。 親ウィンドウを呼び出すことによって、子ウィンドウでのカーソルの設定に対する親ウィンドウ コントロールが提供されます。

既定の実装では、カーソルがクライアント領域内にない場合は矢印に設定されます。カーソルがある場合は登録済みクラスのカーソルに設定されます。

nHitTestHTERRORmessage がマウス ボタンダウン メッセージの場合、 MessageBeep メンバー関数が呼び出されます。

メニュー モード に入った場合 、message パラメーターは 0 です。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSetFocus

フレームワークは、入力フォーカスを取得した後、このメンバー関数を呼び出します。

afx_msg void OnSetFocus(CWnd* pOldWnd);

パラメーター

pOldWnd
入力フォーカス CWnd を失うオブジェクトを格納します (の場合があります NULL )。 ポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

キャレットを表示するには、 CWnd この時点で適切なキャレット関数を呼び出す必要があります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSettingChange

フレームワークは、Win32 SystemParametersInfo 関数がシステム全体の設定を変更するときに、すべてのトップ レベル ウィンドウ OnSettingChange を呼び出します。

afx_msg void OnSettingChange(
    UINT uFlags,
    LPCTSTR lpszSection);

パラメーター

uFlags
システムが呼び出しの結果としてメッセージを送信する場合、このパラメーターは、変更されたシステム パラメーター SystemParametersInfo を示すフラグです。 値の一覧については、「Windows SystemParametersInfo SDK」を参照してください。 アプリケーションがメッセージを送信する場合、このパラメーターは 0 である必要があります。

lpszSection
変更されたセクションの名前を指定する文字列をポイントします。 (この文字列には、セクション名を囲む角かっこは含めず)。

注釈

アプリケーションは、システム パラメーターを変更するときに、すべてのトップ レベル ウィンドウにメッセージを送信する必要があります。ユーザーが コントロール パネル を使用して設定を変更した場合、Windows はメッセージを送信します。

メッセージ ON_WM_SETTINGCHANGE はメッセージに似 ON_WM_WININICHANGE ていますが、次の違いがあります。

  • ON_WM_SETTINGCHANGE4.0 Windows NT以降、または 95/98 Windowsで実行する場合に使用します。

  • ON_WININICHANGE3.51 Windows NT以前を実行する場合に使用します。 このメッセージは廃止されました。

メッセージ マップには、これらのマクロの 1 つのみを含む必要があります。 95/98 と Windows 4.0 の両方に対して機能するWindows NTを記述するには、 のハンドラーを記述します ON_WM_SETTINGCHANGE 。 3.51 Windows NTでは、 と によってハンドラーが呼び出され OnSettingChangeuFlags 、常に 0 になります。

CWnd::OnShowWindow

フレームワークは、オブジェクトが非表示または表示されがちなときに CWnd 、このメンバー関数を呼び出します。

afx_msg void OnShowWindow(
    BOOL bShow,
    UINT nStatus);

パラメーター

bShow
ウィンドウを表示するかどうかを指定します。 ウィンドウ TRUE が表示されている場合は です。ウィンドウ FALSE が非表示の場合は です。

nStatus
表示されるウィンドウの状態を指定します。 メンバー関数呼び出しのためにメッセージが送信された場合は 0 です。それ以外の場合 ShowWindownStatus は、次のいずれかの値になります。

  • SW_PARENTCLOSING 親ウィンドウが閉じ (アイコンになっています) か、ポップアップ ウィンドウが非表示になっています。

  • SW_PARENTOPENING 親ウィンドウが開く (表示中) か、ポップアップ ウィンドウが表示されています。

注釈

メンバー関数が呼び出された場合、重複するウィンドウが最大化または復元された場合、または重なり合ったウィンドウまたはポップアップ ウィンドウが閉じ (アイコン化) または開いている (画面に表示される) 場合、ウィンドウは非表示または表示されます ShowWindow 。 重複するウィンドウが閉じると、そのウィンドウに関連付けられているすべてのポップアップ ウィンドウが非表示になります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSize

フレームワークは、ウィンドウのサイズが変更された後に、このメンバー関数を呼び出します。

afx_msg void OnSize(
    UINT nType,
    int cx,
    int cy);

パラメーター

nType
要求されたサイズ変更の種類を指定します。 このパラメーターには、次のいずれかの値を指定できます。

  • SIZE_MAXIMIZED ウィンドウが最大化されました。

  • SIZE_MINIMIZED ウィンドウが最小化されました。

  • SIZE_RESTORED ウィンドウのサイズは変更されましたが、 SIZE_MINIMIZEDSIZE_MAXIMIZED 適用されません。

  • SIZE_MAXHIDE 他のウィンドウが最大化されている場合、すべてのポップアップ ウィンドウにメッセージが送信されます。

  • SIZE_MAXSHOW 他のウィンドウが以前のサイズに復元された場合、すべてのポップアップ ウィンドウにメッセージが送信されます。

cx
クライアント領域の新しい幅を指定します。

cy
クライアント領域の新しい高さを指定します。

注釈

または メンバー関数が から子ウィンドウに対して呼び出された場合、 または のパラメーターを 0 以外に設定すると、 が SetScrollPosMoveWindowOnSizebRedrawSetScrollPosMoveWindowCWnd 再描画されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

// Resize the edit control contained in the view to
// fill the entire view when the view's window is
// resized. CMdiView is a CView derived class.
void CMdiView::OnSize(UINT nType, int cx, int cy)
{
   CView::OnSize(nType, cx, cy);
   // Resize edit to fill the whole view.
   // OnSize can be called before OnInitialUpdate
   // so make sure the edit control has been created.
   if (::IsWindow(m_Edit.GetSafeHwnd()))
   {
      m_Edit.MoveWindow(0, 0, cx, cy);
   }
}

CWnd::OnSizeClipboard

クリップボード所有者のメンバー関数は、 属性を持つデータがクリップボードに含まれており、クリップボード ビューアー ウィンドウのクライアント領域のサイズが変更された場合に、クリップボード ビューアーによって呼び OnSizeClipboardCF_OWNERDISPLAY 出されます。

afx_msg void OnSizeClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hRect);

パラメーター

pClipAppWnd
クリップボード アプリケーション ウィンドウを識別します。 ポインターは一時的なもので、格納してはならない場合があります。

hRect
グローバル メモリ オブジェクトを識別します。 メモリ オブジェクトには、クリップボード所有者が描画する領域を指定 RECT するデータ構造が含まれている。

注釈

メンバー関数は、クリップボード アプリケーションが破棄または最小化されがちな場合に、新しいサイズとして null 四角形 OnSizeClipboard (0,0,0,0) で呼び出されます。 これにより、クリップボードの所有者は表示リソースを解放できます。

OnSizeClipboard で、アプリケーションは、データ構造をWindowsメモリをロックする関数 GlobalLock を使用する RECT 必要があります。 制御を生成または返す前に、アプリケーションWindows関数を使用してその GlobalUnlock メモリのロックを解除します。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSizing

フレームワークは、このメンバー関数を呼び出して、ユーザーが四角形のサイズを変更中かどうかを示します。

afx_msg void OnSizing(
    UINT nSide,
    LPRECT lpRect);

パラメーター

nSide
移動するウィンドウの端。

lpRect
項目の CRect 座標CRect格納する 構造体または 構造体のアドレス。

注釈

このメッセージを処理することで、アプリケーションはドラッグ四角形のサイズと位置を監視し、必要に応じてサイズまたは位置を変更できます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

void CSplitChildFrm::OnSizing(UINT fwSide, LPRECT pRect)
{
   CMDIChildWnd::OnSizing(fwSide, pRect);

   // Resize the splitter window in the frame. m_wndSplitter is of 
   // type CSplitterWnd
   int nWidth = (pRect->right) - (pRect->left);
   m_wndSplitter.SetColumnInfo(0, nWidth / 2, 10);
   m_wndSplitter.SetColumnInfo(1, nWidth / 2, 10);
   m_wndSplitter.RecalcLayout();
}

CWnd::OnSpoolerStatus

このメンバー関数は、ジョブが Print Manager キューに追加または削除されるたびに、このメンバー関数を Print Manager から呼び出します。

afx_msg void OnSpoolerStatus(
    UINT nStatus,
    UINT nJobs);

パラメーター

nStatus
フラグを指定 SP_JOBSTATUS します。

nJobs
Print Manager キューに残っているジョブの数を指定します。

注釈

この呼び出しは情報提供のみを目的とします。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnStyleChanged

フレームワークは、関数がウィンドウのスタイルを 1 つ以上変更した後、この SetWindowLong メンバー関数を呼び出します。

afx_msg void OnStyleChanged(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

パラメーター

nStyleType
ウィンドウの拡張スタイルまたは拡張されていないスタイルが変更されたかどうかを指定します。 このパラメーターには、次の値を組み合わせて指定できます。

  • GWL_EXSTYLE ウィンドウの拡張スタイルが変更されました。

  • GWL_STYLE ウィンドウの拡張されていないスタイルが変更されました。

lpStyleStruct
ウィンドウの STYLESTRUCT 新しいスタイルを含む 構造体をポイントします。 アプリケーションではスタイルを確認できますが、変更は行えます。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnStyleChanging

フレームワークは、関数がウィンドウのスタイルを 1 つ以上変更する際に、この SetWindowLong メンバー関数を呼び出します。

afx_msg void OnStyleChanging(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

パラメーター

nStyleType
ウィンドウの拡張スタイルまたは拡張されていないスタイルが変更されたかどうかを指定します。 このパラメーターには、次の値を組み合わせて指定できます。

  • GWL_EXSTYLE ウィンドウの拡張スタイルが変更されました。

  • GWL_STYLE ウィンドウの拡張されていないスタイルが変更されました。

lpStyleStruct
ウィンドウの STYLESTRUCT 新しいスタイルを含む 構造体をポイントします。 アプリケーションでは、スタイルを調べて変更できます。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSysChar

入力フォーカスが設定され、 および メッセージが変換される場合、フレームワークは、このメンバー関数 CWndWM_SYSKEYUPWM_SYSKEYDOWN を呼び出します。

afx_msg void OnSysChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

パラメーター

nChar
コントロール メニュー キーの ASCII 文字キー コードを指定します。

nRepCnt
繰り返し回数を指定します。つまり、ユーザーがキーを押した結果としてキーストロークが繰り返される回数を指定します。

nFlags
パラメーター nFlags には、次の値を指定できます。

説明
0-15 繰り返し回数を指定します。 値は、ユーザーがキーを押した結果、キーストロークが繰り返される回数です。
16-23 スキャン コードを指定します。 値は、OEM (元の機器メーカー) によって異なります
24 拡張 101 キーまたは 102 キー のキーボードに表示される右手の Alt キーや Ctrl キーなど、キーが拡張キーかどうかを指定します。 拡張キーの場合、値は 1 です。それ以外の場合は 0 です。
25-28 Windows によって内部的に使用されます。
29 コンテキスト コードを指定します。 キーが押されている間 ALT キーが押されている場合、値は 1 です。それ以外の場合、値は 0 です。
30 前のキー状態を指定します。 メッセージが送信される前にキーがダウンしている場合は 1、キーがアップしている場合は 0 です。
31 遷移状態を指定します。 キーが解放されている場合は 1、キーが押されている場合は 0 です。

注釈

Control-menu キーの仮想キー コードを指定します。 (標準の仮想キー コードの一覧については、「Winuser.h」を参照してください)

コンテキスト コードが 0 の場合、 はメッセージを Windows 関数に渡し、システム文字キーではなく通常のキー メッセージのように処理 WM_SYSCHARWM_SYSCHARTranslateAccelerator できます。 これにより、アクティブなウィンドウに入力フォーカスがなくても、アクティブなウィンドウでアクセラレータ キーを使用できます。

IBM Enhanced 101 および 102 キー キーボードの場合、拡張キーはキーボードのメイン セクションの右 ALT キーと右 Ctrl キーです。テンキーの左側にあるクラスター内の INS、DEL、HOME、END、PAGE UP、PAGE DOWN、および方向キー。と、テンキーのスラッシュ (/) キーと ENTER キー。 他の一部のキーボードでは、 の拡張キー ビットがサポートされている場合があります nFlags

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSysColorChange

フレームワークは、システムカラー設定で変更が行われたときに、すべてのトップ レベル ウィンドウに対してこのメンバー関数を呼び出します。

afx_msg void OnSysColorChange();

注釈

Windowsの OnSysColorChange 色の変更の影響を受けるウィンドウを呼び出します。

既存のシステム カラーを使用するブラシを持つアプリケーションでは、これらのブラシを削除し、新しいシステム カラーでそれらを作成しなおす必要があります。

CWnd::OnSysCommand

フレームワークは、ユーザーが [コントロール] メニューからコマンドを選択した場合、またはユーザーが [最大化] または [最小化] ボタンを選択した場合に、このメンバー関数を呼び出します。

afx_msg void OnSysCommand(
    UINT nID,
    LPARAM lParam);

パラメーター

nID
要求されたシステム コマンドの種類を指定します。 このパラメーターには、次のいずれかの値を指定できます。

  • SC_CLOSE オブジェクトを閉 CWnd じます。

  • SC_HOTKEY アプリケーション指定 CWnd のホット キーに関連付けられている オブジェクトをアクティブ化します。 の低い順序の単語は lParam 、アクティブ HWND にするウィンドウの を識別します。

  • SC_HSCROLL 水平方向にスクロールします。

  • SC_KEYMENU キーストロークを使用してメニューを取得します。

  • SC_MAXIMIZE (または SC_ZOOM )オブジェクトを最大化 CWnd します。

  • SC_MINIMIZE (または SC_ICON )オブジェクトを最小化 CWnd します。

  • SC_MOUSEMENU マウス クリックでメニューを取得します。

  • SC_MOVE オブジェクトを移動 CWnd します。

  • SC_NEXTWINDOW 次のウィンドウに移動します。

  • SC_PREVWINDOW 前のウィンドウに移動します。

  • SC_RESTORE ウィンドウを通常の位置とサイズに復元します。

  • SC_SCREENSAVE ファイルの [boot] セクションで指定されたスクリーン セーバー アプリケーションを実行 SYSTEM.INI します。

  • SC_SIZE オブジェクトのサイズ CWnd を設定します。

  • SC_TASKLISTアプリケーションを実行またはアクティブWindows タスク マネージャーします。

  • SC_VSCROLL 垂直方向にスクロールします。

lParam
マウスで Control-menu コマンドを選択した場合、 lParam にはカーソル座標が格納されます。 低い順序の単語には x 座標が含み、高い単語には y 座標が含まれている。 それ以外の場合、このパラメーターは使用されません。

  • SC_HOTKEY アプリケーション指定のホット キーに関連付けられているウィンドウをアクティブにします。 の低い順序の単語は lParam 、アクティブにするウィンドウを識別します。

  • SC_SCREENSAVE [デスクトップ] セクションで指定した画面保存アプリケーションを実行コントロール パネル。

注釈

既定では、 OnSysCommand は、前の表で指定した定義済みのアクションに対する Control-menu 要求を実行します。

メッセージ WM_SYSCOMMAND では、パラメーターの 4 つの低い順序のビットが、パラメーターによって nID 内部的にWindows。 アプリケーションは、 の値をテストするときに、ビット0xFFF0 AND 演算子を使用して、値 0xFFF0 を組み合わせて、正しい nIDnID 結果を取得する必要があります。

[コントロール] メニューのメニュー項目は、および GetSystemMenu メンバー AppendMenuInsertMenu 関数を使用して ModifyMenu 変更できます。 [制御] メニューを変更するアプリケーションはメッセージを処理する必要があります。また、アプリケーションによって処理されないメッセージは に WM_SYSCOMMANDWM_SYSCOMMAND 渡す必要があります OnSysCommand 。 アプリケーションによって追加されたコマンド値は、アプリケーションによって処理される必要があります。また、 に渡す必要があります OnSysCommand

アプリケーションは、メッセージを に渡して、いつでも任意のシステム コマンドを WM_SYSCOMMAND 実行できます OnSysCommand

[コントロール] メニューから項目を選択するために定義されているアクセラレータ (ショートカット) キーストロークは呼び出しに変換されます。その他のすべてのアクセラレータ キーストロークはメッセージ OnSysCommand に変換 WM_COMMAND されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSysDeadChar

または メンバー関数が呼び出された場合、オブジェクトに入力フォーカスがある場合、フレームワークは、このメンバー CWndOnSysKeyUpOnSysKeyDown 関数を呼び出します。

afx_msg void OnSysDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

パラメーター

nChar
実行キー文字の値を指定します。

nRepCnt
繰り返し回数を指定します。

nFlags
次の一覧に示すように、スキャン コード、キー切り替えコード、以前のキー状態、コンテキスト コードを指定します。

説明
0-7 コードをスキャンする (OEM に依存する値)。 高次ワードの低バイト。
8 関数キーやテンキーのキーなどの拡張キー (拡張キーの場合は 1、それ以外の場合は 0)。
9-10 使用されていません。
11-12 Windows によって内部的に使用されます。
13 コンテキスト コード (キーが押されている間に ALT キーが押されている場合は 1、それ以外の場合は 0)。
14 以前のキー状態 (呼び出しの前にキーがダウンしている場合は 1、キーが上にある場合は 0)。
15 遷移状態 (キーが解放されている場合は 1、キーが押されている場合は 0)。

注釈

これは、実行キーの文字値を指定します。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSysKeyDown

オブジェクトに入力フォーカスがある場合、ユーザーが ALT キーを押しながら別のキーを押すと、メンバー関数がフレームワークによって呼び CWndOnSysKeyDown 出されます。

afx_msg void OnSysKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

パラメーター

nChar
押されるキーの仮想キー コードを指定します。 標準の仮想キー コードの一覧については、「Winuser.h」を参照してください。

nRepCnt
繰り返し回数を指定します。

nFlags
次の一覧に示すように、スキャン コード、キー切り替えコード、以前のキー状態、コンテキスト コードを指定します。

説明
0-7 コードをスキャンする (OEM に依存する値)。 高次ワードの低バイト。
8 関数キーやテンキーのキーなどの拡張キー (拡張キーの場合は 1、それ以外の場合は 0)。
9-10 使用されていません。
11-12 Windows によって内部的に使用されます。
13 コンテキスト コード (キーが押されている間に Alt キーが押されている場合は 1、それ以外の場合は 0)。
14 以前のキー状態 (メッセージが送信される前にキーがダウンしている場合は 1、キーが上にある場合は 0)。
15 遷移状態 (キーが解放されている場合は 1、キーが押されている場合は 0)。

OnSysKeyDown び出しの場合、キー遷移ビット (ビット 15) は 0 です。 キーが押されている間に ALT キーがダウンしている場合、コンテキスト コード ビット (ビット 13) は 1 です。入力フォーカスを持つウィンドウがないので、メッセージがアクティブなウィンドウに送信された場合は 0 です。

注釈

現在入力フォーカスがあるウィンドウがない場合は、アクティブなウィンドウの OnSysKeyDown メンバー関数が呼び出されます。 メッセージを受け取る オブジェクトは、 でコンテキスト コードを確認することで、これら 2 CWnd つのコンテキストを区別できます nFlags

コンテキスト コードが 0 の場合、 によって受信されたメッセージを Windows 関数に渡し、システム キー メッセージではなく通常のキー メッセージのように処理できます WM_SYSKEYDOWNOnSysKeyDownTranslateAccelerator 。 これにより、アクティブなウィンドウに入力フォーカスがなくても、アクティブなウィンドウでアクセラレータ キーを使用できます。

自動繰り返しのため、メッセージを受信する前 OnSysKeyDown に複数の呼び出し WM_SYSKEYUP が行われる場合があります。 前のキー状態 (ビット 14) を使用して、呼び出しが最初のダウン遷移を示すのか、繰り返しダウン遷移を OnSysKeyDown 示すのかを判断できます。

IBM Enhanced 101 および 102 キー キーボードの場合、拡張キーはキーボードのメイン セクションの右ALTキーと右 Ctrl キーです。テンキーの左側にあるクラスター内の INS、DEL、HOME、END、PAGE UP、PAGEDOWN、および方向キー。とスラッシュ ( ) と、テンキーの ENTER キー。 他の一部のキーボードでは、 の拡張キー ビットがサポートされている場合があります nFlags

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSysKeyUp

オブジェクトにフォーカスがある場合、ユーザーが Alt キーを押しながら押されたキーを解放すると、メンバー関数がフレームワークによって CWndOnSysKeyUp 呼び出されます。

afx_msg void OnSysKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

パラメーター

nChar
押されるキーの仮想キー コードを指定します。 標準の仮想キー コードの一覧については、以下を参照してください。 Winuser.h

nRepCnt
繰り返し回数を指定します。

nFlags
次の一覧に示すように、スキャン コード、キー切り替えコード、以前のキー状態、コンテキスト コードを指定します。

説明
0-7 コードをスキャンする (OEM に依存する値)。 高次ワードの低バイト。
8 関数キーやテンキーのキーなどの拡張キー (拡張キーの場合は 1、それ以外の場合は 0)。
9-10 使用されていません。
11-12 Windows によって内部的に使用されます。
13 コンテキスト コード (キーが押されている間に Alt キーが押されている場合は 1、それ以外の場合は 0)。
14 以前のキー状態 (メッセージが送信される前にキーがダウンしている場合は 1、キーが上にある場合は 0)。
15 遷移状態 (キーが解放されている場合は 1、キーが押されている場合は 0)。

OnSysKeyUp び出しの場合、キー遷移ビット (ビット 15) は 1 です。 キーが押されている間に ALT キーがダウンしている場合、コンテキスト コード ビット (ビット 13) は 1 です。入力フォーカスを持つウィンドウがないので、メッセージがアクティブなウィンドウに送信された場合は 0 です。

注釈

現在入力フォーカスがあるウィンドウがない場合は、アクティブなウィンドウの OnSysKeyUp メンバー関数が呼び出されます。 呼び出しを受け取る オブジェクトは、 でコンテキスト コードを確認することで、これら 2 CWnd つのコンテキストを区別できます nFlags

コンテキスト コードが 0 の場合、 で受信したメッセージを Windows 関数に渡し、システム キー メッセージではなく通常のキー メッセージのように処理できます WM_SYSKEYUPOnSysKeyUpTranslateAccelerator 。 これにより、アクティブなウィンドウに入力フォーカスがなくても、アクティブなウィンドウでアクセラレータ (ショートカット) キーを使用できます。

IBM Enhanced 101 および 102 キー キーボードの場合、拡張キーはキーボードのメイン セクションの右 ALT キーと右 Ctrl キーです。テンキーの左側にあるクラスター内の INS、DEL、HOME、END、PAGE UP、PAGE DOWN、および方向キー。と、テンキーのスラッシュ (/) キーと ENTER キー。 他の一部のキーボードでは 、nFlags の拡張キー ビットがサポートされている場合があります

米国以外の場合強化された 102 キー のキーボード。右 ALT キーは Ctrl + Alt キーの組み合わせとして処理されます。 ユーザーがキーを押して解放すると発生するメッセージと呼び出しのシーケンスを次に示します。

Sequence アクセスされた関数 渡されたメッセージ
1. WM_KEYDOWN VK_CONTROL
2. WM_KEYDOWN VK_MENU
3. WM_KEYUP VK_CONTROL
4. WM_SYSKEYUP VK_MENU

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnTCard

フレームワークは、ユーザーが作成可能なボタンをクリックすると、このメンバー関数を呼び出します。

afx_msg void OnTCard(
    UINT idAction,
    DWORD dwActionData);

パラメーター

idAction
ユーザーが実行したアクションを示します。 このパラメーターには、次のいずれかの値を指定できます。

  • IDABORT ユーザーが作成可能な [中止] ボタンをクリックしました。

  • IDCANCEL ユーザーが作成可能な [キャンセル] ボタンをクリックしました。

  • IDCLOSE ユーザーがトレーニング カードを閉じた。

  • IDHELPユーザーが作成可能な [ヘルプ] ボタンWindowsクリックしました。

  • IDIGNORE ユーザーが作成可能な [無視] ボタンをクリックしました。

  • IDOK ユーザーが作成可能な [OK] ボタンをクリックしました。

  • IDNO ユーザーが作成可能な [いいえ] ボタンをクリックしました。

  • IDRETRY ユーザーが作成可能な [再試行] ボタンをクリックしました。

  • HELP_TCARD_DATA ユーザーが作成可能なボタンをクリックしました。 パラメーター dwActionData には、ヘルプ作成者によって指定された長整数が含まれている。

  • HELP_TCARD_NEXT ユーザーが作成可能な [次へ] ボタンをクリックしました。

  • HELP_TCARD_OTHER_CALLER 別のアプリケーションがトレーニング カードを要求しました。

  • IDYES ユーザーが作成可能な [はい] ボタンをクリックしました。

dwActionData
idAction を指定 HELP_TCARD_DATA する場合、このパラメーターはヘルプ作成者によって指定された長整数です。 それ以外の場合、このパラメーターは 0 です。

注釈

この関数は、アプリケーションがヘルプを使用してトレーニング カードを開始Windowsされます。 アプリケーションは、関数の呼び出しで コマンドを指定することで HELP_TCARD 、トレーニング カードを開始 WinHelp します。

CWnd::OnTimeChange

フレームワークは、システム時刻が変更された後にこのメンバー関数を呼び出します。

afx_msg void OnTimeChange();

注釈

システム時刻を変更するアプリケーションで、このメッセージをすべてのトップ レベル ウィンドウに送信します。 すべてのトップ レベルウィンドウにメッセージを送信するために、アプリケーションでは、パラメーターを に設定して Windows 関数 WM_TIMECHANGESendMessagehwnd を使用できます HWND_BROADCAST

CWnd::OnTimer

フレームワークは、タイマーのインストールに使用されるメンバー関数で指定された各間隔の後 SetTimer に、このメンバー関数を呼び出します。

afx_msg void OnTimer(UINT_PTR nIDEvent);

パラメーター

nIDEvent
タイマーの識別子を指定します。

注釈

アプリケーションWindowsキューに他のメッセージがない場合、この関数はメッセージ DispatchMessageWM_TIMER を送信します。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::SetTimer」の例を参照してください。

CWnd::OnToolHitTest

フレームワークは、このメンバー関数を呼び出して、指定したツールの外接する四角形にポイントが含まれるかどうかを判断します。

virtual INT_PTR OnToolHitTest(
    CPoint point,
    TOOLINFO* pTI) const;

パラメーター

point
カーソルの x 座標と y 座標を指定します。 これらの座標は、常にウィンドウの左上隅を基準にしています

pTI
構造体への TOOLINFO ポインター。 既定では、次の構造体の値が設定されます。

  • hwnd = m_hWnd ウィンドウへのハンドル

  • uId = (UINT)hWndChild 子ウィンドウへのハンドル

  • uFlags |= TTF_IDISHWND ツールのハンドル

  • lpszText = LPSTR_TEXTCALLBACK 指定したウィンドウに表示される文字列へのポインター

戻り値

ツールヒント コントロールが見つかった場合は、ウィンドウ コントロール ID。 ツールヒント コントロールが見つからなかった場合は -1。

注釈

ポイントが四角形内にある場合は、ツールに関する情報を取得します。

ツールヒントが関連付けられている領域がボタンではない場合は、 と に OnToolHitTest 構造体フラグを設定 TTF_NOTBUTTON します TTF_CENTERTIP

既定値 OnToolHitTest とは異なる情報を提供するには、 をオーバーライドします。

構造 TOOLINFO の詳細については、Windows SDK の を参照してください。

CWnd::OnTouchInput

Windows タッチからの 1 つの入力を処理します。

virtual BOOL OnTouchInput(
    CPoint pt,
    int nInputNumber,
    int nInputsCount,
    PTOUCHINPUT pInput);

パラメーター

pt
画面がタッチされたポイント (クライアント座標内)。

nInputNumber
タッチ入力の数。

nInputsCount
タッチ入力の総数。

pInput
TOUCHINPUT 構造体へのポインター。

戻り値

TRUEアプリケーションがタッチ入力を処理Windows場合は 。それ以外の場合は FALSE

注釈

CWnd::OnTouchInputs

タッチ操作からの入力Windows処理します。

virtual BOOL OnTouchInputs(
    UINT nInputsCount,
    PTOUCHINPUT pInputs);

パラメーター

nInputsCount
タッチ入力Windowsの総数。

pInputs
TOUCHINPUT の配列。

戻り値

TRUEアプリケーションがタッチ入力をWindowsする場合は 。それ以外の場合は FALSE

注釈

CWnd::OnUniChar

フレームワークは、キーが押された場合にこのメンバー関数を呼び出します。 つまり、現在のウィンドウにはキーボード フォーカスが設定され、メッセージ WM_KEYDOWN は 関数によって変換 TranslateMessage されます。

afx_msg void OnUniChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

パラメーター

nChar
[in]押されたキーの文字コードを指定します。

nRepCnt
[in]現在のメッセージの繰り返し回数を指定します。 値は、ユーザーがキーを押した結果としてキーストロークが自動評価される回数です。 キーストロークが十分に長く保持されている場合は、複数のメッセージが送信されます。 ただし、繰り返し回数は累積されません。

nFlags
[in]次の表に示すように、スキャン コード、拡張キー、コンテキスト コード、以前のキー状態、および遷移状態を指定するフラグ。

フラグ ビット 説明
0-7 スキャン コードを指定します。 値は、OEM (元の機器メーカー) によって異なります。
8 拡張 101 または 102 キー のキーボードに表示される右手の Alt キーや Ctrl キーなど、拡張キーを指定します。 キーが拡張キーの場合、 フラグは 1 です。それ以外の場合は 0 です。
9-12 Windows によって内部的に使用されます。
13 コンテキスト コードを指定します。 キーが押されている間 ALT キーが押されている場合、フラグは 1 です。それ以外の場合、値は 0 です。
14 以前 のキー状態を指定します。 フラグは、メッセージが送信される前にキーがダウンしている場合は 1、キーがアップしている場合は 0 です。
15 遷移状態を指定します。 キーが解放されている場合は フラグは 1、キーが押されている場合は 0 です。

注釈

このメソッドは通知 WM_UNICHAR を受け取ります。この通知については、SDK のWindowsしてください。 メッセージ WM_UNICHAR は、ANSI ウィンドウに Unicode 文字を送信またはポストするように設計されています。 これはメッセージと同じですが WM_CHAR 、Unicode Transformation Format-32 エンコード (UTF-32) を使用しますが、メッセージでは WM_CHAR UTF-16 が使用されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnUnInitMenuPopup

フレームワークは、ドロップダウン メニューまたはサブメニューが破棄されると、このメンバー関数を呼び出します。

afx_msg void OnUnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nFlags);

パラメーター

pMenu
[in]メニューまたは CMenu サブメニューを表す オブジェクトへのポインター。

nFlags
[in]破棄されたメニュー。 現時点では、ウィンドウ メニュー の場合にのみ使用できます MF_SYSMENU

注釈

このメソッドは通知 WM_UNINITMENUPOPUP を受け取ります。この通知については、SDK のWindowsしてください。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnUpdateUIState

指定したウィンドウとすべての子ウィンドウのユーザー インターフェイス (UI) 状態を変更するときに呼び出されます。

afx_msg void OnUpdateUIState(
    UINT nAction,
    UINT nUIElement);

パラメーター

nAction
実行する操作を指定します。 値は、次のいずれかです。

  • UIS_CLEAR UI 状態要素 (で指定 nUIElement ) は非表示にしてください。

  • UIS_INITIALIZE UI 状態要素 (で指定) は nUIElement 、最後の入力イベントに基づいて変更する必要があります。 詳細については、 の「解説 」セクションを 参照してください

  • UIS_SET UI 状態要素 (で指定) nUIElement が表示される必要があります。

nUIElement
影響を受ける UI 状態要素またはコントロールのスタイルを指定します。 値は、次のいずれかです。

  • UISF_HIDEACCEL キーボード アクセラレータ。

  • UISF_HIDEFOCUS フォーカス インジケーター。

  • UISF_ACTIVEWindows XP: アクティブなコントロールに使用されるスタイルでコントロールを描画する必要があります。

注釈

このメンバー関数は、WINDOWS SDK の説明に従って、メッセージ WM_UPDATEUISTATE の機能をエミュレートします。

CWnd::OnUserChanged

フレームワークは、ユーザーがログオンまたはオフにした後、すべてのウィンドウに対してこのメンバーを呼び出します。

afx_msg void OnUserChanged();

注釈

このメソッドは通知 WM_USERCHANGED メッセージを受け取ります。このメッセージは、SDK のWindowsされています。 ユーザーがログオンまたはオフを切り替え、オペレーティング システムはユーザー固有の設定を更新します。 システムは、設定を更新した直後にこのメッセージを送信します。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnVKeyToItem

オブジェクトがスタイルのリスト ボックスを所有している場合、リスト ボックスはメッセージに応答 CWndLBS_WANTKEYBOARDINPUTWM_VKEYTOITEM してメッセージを送信 WM_KEYDOWN します。

afx_msg int OnVKeyToItem(
    UINT nKey,
    CListBox* pListBox,
    UINT nIndex);

パラメーター

nKey
ユーザーが押したキーの仮想キー コードを指定します。 標準の仮想キー コードの一覧については、以下を参照してください。 Winuser.h

pListBox
リスト ボックスへのポインターを指定します。 ポインターは一時的な場合があります。後で使用するために格納することはできません。

nIndex
現在のキャレット位置を指定します。

戻り値

アプリケーションがメッセージに応答して実行したアクションを指定します。 戻り値 -2 は、アプリケーションが項目の選択のすべての側面を処理し、リスト ボックスによるそれ以上のアクションを必要とし "ない" 状態を示します。 戻り値 -1 は、キーストロークに応答してリスト ボックスで既定のアクションを実行する必要がある場合を示します。 戻り値 0 以上は、リスト ボックス内の項目の 0 から始るインデックスを指定し、リスト ボックスが指定された項目のキーストロークに対して既定のアクションを実行する必要があるかどうかを示します。

注釈

このメンバー関数は、 スタイルを持つリスト ボックスに対してだけフレームワークによって呼び出 LBS_HASSTRINGS されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnVScroll

フレームワークは、ユーザーがウィンドウの垂直スクロール バーをクリックすると、このメンバー関数を呼び出します。

afx_msg void OnVScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

パラメーター

nSBCode
ユーザーのスクロール要求を示すスクロール バー コードを指定します。 このパラメーターには、次のいずれかを指定できます。

  • SB_BOTTOM 一番下までスクロールします。

  • SB_ENDSCROLL スクロールを終了します。

  • SB_LINEDOWN 1 行下にスクロールします。

  • SB_LINEUP 1 行上にスクロールします。

  • SB_PAGEDOWN 1 ページ下にスクロールします。

  • SB_PAGEUP 1 ページ上にスクロールします。

  • SB_THUMBPOSITION 絶対位置までスクロールします。 現在の位置は で指定されます nPos

  • SB_THUMBTRACK スクロール ボックスを指定した位置にドラッグします。 現在の位置は で指定されます nPos

  • SB_TOP 上にスクロールします。

nPos
スクロール バー コードが または の場合は、現在のスクロール ボックス位置を SB_THUMBPOSITIONSB_THUMBTRACK 格納します。それ以外の場合は使用されません。 最初のスクロール範囲によっては、 が負の値になる場合があります。必要に応じて にキャスト nPosint する必要があります。

pScrollBar
スクロール メッセージがスクロール バー コントロールから送信された場合は、 コントロールへのポインターが格納されます。 ユーザーがウィンドウのスクロール バーをクリックした場合、このパラメーターは になります NULL 。 ポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

OnVScroll は通常、スクロール ボックスをドラッグしている間にフィードバックを提供するアプリケーションによって使用されます。

オブジェクトの内容をスクロールする場合は、メンバー関数を使用してスクロール ボックス OnVScrollCWnd の位置もリセットする SetScrollPos 必要があります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnVScrollClipboard

クリップボード所有者のメンバー関数は、クリップボード データの形式がクリップボード ビューアーの垂直スクロール バーにイベントがある場合に、クリップボード ビューアーによって OnVScrollClipboardCF_OWNERDISPLAY 呼び出されます。

afx_msg void OnVScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

パラメーター

pClipAppWnd
クリップボード ビューアー ウィンドウへのポインターを指定します。 ポインターは一時的な場合があります。後で使用するために格納することはできません。

nSBCode
次のいずれかのスクロール バー値を指定します。

  • SB_BOTTOM 一番下までスクロールします。

  • SB_ENDSCROLL スクロールを終了します。

  • SB_LINEDOWN 1 行下にスクロールします。

  • SB_LINEUP 1 行上にスクロールします。

  • SB_PAGEDOWN 1 ページ下にスクロールします。

  • SB_PAGEUP 1 ページ上にスクロールします。

  • SB_THUMBPOSITION 絶対位置までスクロールします。 現在の位置は で指定されます nPos

  • SB_TOP 上にスクロールします。

nPos
スクロール バー コードが の場合は、スクロール ボックスの位置を格納します SB_THUMBPOSITION 。それ以外 nPos の場合は使用されません。

注釈

所有者はクリップボード イメージをスクロールし、適切なセクションを無効にし、スクロール バーの値を更新する必要があります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnWindowMaximizedChanged

フレームワークは、現在のウィンドウが最大化され、ウィンドウが DWM (デスクトップ ウィンドウ マネージャー構成されている場合に、このメンバーを呼び出します。

afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);

パラメーター

bIsMaximized
[in] TRUE 現在のウィンドウが最大化されている場合は 。最大化 FALSE されていない場合は 。

注釈

このメソッドは通知 WM_DWMWINDOWMAXIMIZEDCHANGE メッセージを受け取ります。このメッセージは、SDK のWindowsされています。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnWindowPosChanged

フレームワークは、メンバー関数または別のウィンドウ管理機能の呼び出しの結果、サイズ、位置、または Z オーダーが変更された場合に、このメンバー関数 SetWindowPos を呼び出します。

afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos);

パラメーター

lpwndpos
ウィンドウの新 WINDOWPOS しいサイズと位置に関する情報を含むデータ構造をポイントします。

注釈

既定の実装では、 および WM_SIZE メッセージ WM_MOVE がウィンドウに送信されます。 アプリケーションが基本クラスを呼び出さずに呼び出しを処理 OnWindowPosChanged する場合、これらのメッセージは送信されません。 の呼び出し中に、その基本クラスを呼び出さずに移動またはサイズ変更の処理 OnWindowPosChanged を実行する方が効率的です。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnWindowPosChanging

フレームワークは、メンバー関数または別のウィンドウ管理機能の呼び出しの結果として、サイズ、位置、または Z オーダーが変更される場合に、このメンバー関数を SetWindowPos 呼び出します。

afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);

パラメーター

lpwndpos
ウィンドウの新 WINDOWPOS しいサイズと位置に関する情報を含むデータ構造をポイントします。

注釈

アプリケーションでは、構造体のメンバー内の適切なビットを設定またはクリアすることで、ウィンドウ flags の変更を防 WINDOWPOS ぐ可能性があります。

または スタイルを持つ WS_OVERLAPPED ウィンドウ WS_THICKFRAME の場合、既定の実装はウィンドウ WM_GETMINMAXINFO にメッセージを送信します。 これは、ウィンドウの新しいサイズと位置を検証し、 および クライアント スタイルを CS_BYTEALIGNCLIENT 適用 CS_BYTEALIGN するために行われます。 アプリケーションは、その基本クラスを呼び出すことによって、この機能をオーバーライドできます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnWinIniChange

フレームワークは、初期化ファイル に対して変更が行われた後、このメンバー Windows呼び出します WIN.INI

afx_msg void OnWinIniChange(LPCTSTR lpszSection);

パラメーター

lpszSection
変更されたセクションの名前を指定する文字列をポイントします。 (この文字列には、セクション名を囲む角かっこは含めず)。

注釈

アプリケーション SystemParametersInfo Windowsを使用してファイル内の設定を変更した後に、関数 OnWinIniChange が呼び出 WIN.INI されます。

すべてのトップ レベルウィンドウにメッセージを送信するために、アプリケーションでは、パラメーターを に設定して Windows 関数 WM_WININICHANGESendMessagehwnd を使用できます HWND_BROADCAST

アプリケーションで多数の異なるセクションが同時に変更された場合、アプリケーションは を に設定して 1 つの WIN.INIWM_WININICHANGE メッセージ lpszSection を送信する必要があります NULL 。 それ以外の場合、アプリケーションは に変更 WM_WININICHANGE を行うたび を送信する必要があります WIN.INI

アプリケーションが に設定された呼び出しを受け取った場合、アプリケーションは、アプリケーションに影響を与えるWIN.INI OnWinIniChangelpszSectionNULL セクションを確認する必要があります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnWndMsg

このメンバー関数は、 によって呼び出されます。 WindowProc または、メッセージリフレクション中に呼び出されます。

virtual BOOL OnWndMsg(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

パラメーター

message
送信するメッセージを指定します。

wParam
追加のメッセージに依存する情報を指定します。

lParam
追加のメッセージに依存する情報を指定します。

pResult
の戻り値 WindowProc 。 メッセージによって異なります。の可能性があり NULL ます。

戻り値

メッセージが処理された場合は TRUE。それ以外の場合は FALSE。

注釈

OnWndMsg メッセージの種類を決定し、適切なフレームワーク関数 (など) を呼び出すか、 OnCommandWM_COMMAND メッセージマップ内で適切なメッセージを検索します。

メッセージリフレクションの詳細については、「リフレクションされた メッセージの処理」を参照してください。

CWnd::OnXButtonDblClk

フレームワークは、 XBUTTON1XBUTTON2 カーソルがウィンドウのクライアント領域内にあるときに、ユーザーがダブルクリックするか、カーソルがあるときにこのメンバー関数を呼び出します。

afx_msg void OnXButtonDblClk(
    UINT nFlags,
    UINT nButton,
    CPoint point);

パラメーター

nFlags
からどの修飾子キーが押されたかを示すフラグのビットごとの組み合わせ (or)。 たとえば、フラグは、 MK_CONTROL CTRL キーが押されたことを示します。

nButton
から XBUTTON1 最初の Microsoft Intellimouse X ボタンがダブルクリックされた場合はの値。2番目の x ボタンがダブルクリックされた場合は XBUTTON2。

point
から CPointxy クライアント領域の左上隅を基準とした、カーソルの座標と座標を指定するオブジェクト。

注釈

このメソッドは、 WM_XBUTTONDBLCLK 通知を受信します。これについては、Windows SDK を参照してください。 マウスがキャプチャされていない場合は、カーソルの下のウィンドウにメッセージがポストされます。 それ以外の場合は、マウスをキャプチャしたウィンドウにメッセージがポストされます。

パラメーターには、 nFlags 次の表に示す修飾子キーの組み合わせを指定できます。 詳細については、「 マウス入力について」を参照してください。

修飾子キー 説明
MK_CONTROL CTRL キーが押されています。
MK_LBUTTON マウスの左ボタンが押された状態です。
MK_MBUTTON マウスの中央ボタンが押された状態です。
MK_RBUTTON マウスの右ボタンが押された状態です。
MK_SHIFT SHIFT キーが押された状態です。
MK_XBUTTON1 XBUTTON1Microsoft IntelliMouse のマウスボタンが押された状態になります。
MK_XBUTTON2 XBUTTON2Microsoft IntelliMouse のマウスボタンが押された状態になります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnXButtonDown

フレームワークは、 XBUTTON1XBUTTON2 カーソルがウィンドウのクライアント領域内にあるときに、ユーザーがを押すか、カーソルがあるときにこのメンバー関数を呼び出します。

afx_msg void OnXButtonDown(
    UINT nFlags,
    UINT nButton,
    CPoint point);

パラメーター

nFlags
からどの修飾子キーが押されたかを示すフラグのビットごとの組み合わせ (or)。 たとえば、フラグは、 MK_CONTROL CTRL キーが押されたことを示します。

nButton
から XBUTTON1 最初の Microsoft Intellimouse X ボタンがクリックされた場合はの値 XBUTTON2 。2番目の x ボタンがクリックされた場合は。

point
から CPointxy クライアント領域の左上隅を基準とした、カーソルの座標と座標を指定するオブジェクト。

注釈

このメソッドは、 WM_XBUTTONDOWN 通知を受信します。これについては、Windows SDK を参照してください。 マウスがキャプチャされていない場合は、カーソルの下のウィンドウにメッセージがポストされます。 それ以外の場合は、マウスをキャプチャしたウィンドウにメッセージがポストされます。

パラメーターには、 nFlags 次の表に示す修飾子キーの組み合わせを指定できます。 詳細については、「 マウス入力について」を参照してください。

修飾子キー 説明
MK_CONTROL CTRL キーが押されています。
MK_LBUTTON マウスの左ボタンが押された状態です。
MK_MBUTTON マウスの中央ボタンが押された状態です。
MK_RBUTTON マウスの右ボタンが押された状態です。
MK_SHIFT SHIFT キーが押された状態です。
MK_XBUTTON1 XBUTTON1Microsoft IntelliMouse のマウスボタンが押された状態になります。
MK_XBUTTON2 XBUTTON2Microsoft IntelliMouse のマウスボタンが押された状態になります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnXButtonUp

フレームワークは、 XBUTTON1XBUTTON2 カーソルがウィンドウのクライアント領域内にあるときに、ユーザーがまたはを離したときにこのメンバー関数を呼び出します。

afx_msg void OnXButtonUp(
    UINT nFlags,
    UINT nButton,
    CPoint point);

パラメーター

nFlags
からどの修飾子キーが押されたかを示すフラグのビットごとの組み合わせ (or)。 たとえば、フラグは、 MK_CONTROL CTRL キーが押されたことを示します。

nButton
から XBUTTON1 最初の Microsoft Intellimouse X ボタンがダブルクリックされた場合はの値 XBUTTON2 。2番目の x ボタンがダブルクリックされた場合は。

point
から CPointxy クライアント領域の左上隅を基準とした、カーソルの座標と座標を指定するオブジェクト。

注釈

このメソッドは、 WM_XBUTTONUP 通知を受信します。これについては、Windows SDK を参照してください。 マウスがキャプチャされていない場合は、カーソルの下のウィンドウにメッセージがポストされます。 それ以外の場合は、マウスをキャプチャしたウィンドウにメッセージがポストされます。

パラメーターには、 nFlags 次の表に示す修飾子キーの組み合わせを指定できます。 詳細については、「 マウス入力について」を参照してください。

修飾子キー 説明
MK_CONTROL CTRL キーが押されています。
MK_LBUTTON マウスの左ボタンが押された状態です。
MK_MBUTTON マウスの中央ボタンが押された状態です。
MK_RBUTTON マウスの右ボタンが押された状態です。
MK_SHIFT SHIFT キーが押された状態です。
MK_XBUTTON1 XBUTTON1Microsoft IntelliMouse のマウスボタンが押された状態になります。
MK_XBUTTON2 XBUTTON2Microsoft IntelliMouse のマウスボタンが押された状態になります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OpenClipboard

クリップボードを開きます。

BOOL OpenClipboard();

戻り値

クリップボードがを使用して開かれている場合は0以外 CWnd の。別のアプリケーションまたはウィンドウでクリップボードが開いている場合は0。

注釈

Windows 関数が呼び出されるまで、他のアプリケーションはクリップボードを変更できません CloseClipboard

CWndWindows 関数が呼び出されるまで、現在のオブジェクトはクリップボードの所有者になりません EmptyClipboard

//handler for Edit | Copy menu
void CMdiView::OnEditCopy()
{
   if (!OpenClipboard())
   {
      AfxMessageBox(_T("Cannot open the Clipboard"));
      return;
   }
   // Remove the current Clipboard contents
   if (!EmptyClipboard())
   {
      AfxMessageBox(_T("Cannot empty the Clipboard"));
      return;
   }

   // Get the currently selected data, hData handle to
   // global memory of data
   CString str;
   m_Edit.GetWindowText(str);
   size_t cbStr = (str.GetLength() + 1) * sizeof(TCHAR);
   HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, cbStr);
   memcpy_s(GlobalLock(hData), cbStr, str.LockBuffer(), cbStr);
   GlobalUnlock(hData);
   str.UnlockBuffer();

   // For the appropriate data formats...
   UINT uiFormat = (sizeof(TCHAR) == sizeof(WCHAR)) ? CF_UNICODETEXT : CF_TEXT;
   if (::SetClipboardData(uiFormat, hData) == NULL)
   {
      AfxMessageBox(_T("Unable to set Clipboard data"));
      CloseClipboard();
      return;
   }

   CloseClipboard();
}

CWnd::operator HWND

オブジェクトへのハンドルを取得するには、この演算子を使用し CWnd ます。

operator HWND() const;

CWnd::operator !=

2つのオブジェクトを比較して CWnd 、それらが同じでないかどうかを確認し m_hWnd ます。

BOOL operator!=(const CWnd& wnd) const;

パラメーター

wnd
CWnd オブジェクトへの参照です。

戻り値

等しい場合は0以外の値。それ以外の場合は0です。

CWnd::operator ==

2つ CWnd のオブジェクトを比較して、両者が同じであるかどうかを判断し m_hWnd ます。

BOOL operator==(const CWnd& wnd) const;

パラメーター

wnd
CWnd オブジェクトへの参照です。

戻り値

等しい場合は 0 以外。それ以外の場合は 0。

CWnd::PaintWindowlessControls

コントロール コンテナーのウィンドウなしのコントロールを描画します。

BOOL PaintWindowlessControls(CDC* pDC);

パラメーター

pDC
ウィンドウレス コントロールを描画するデバイス コンテキスト。

戻り値

コントロール コンテナーが含まれていますが、ウィンドウレス コントロールが正常に描画された場合は を TRUE 返します。それ以外の場合は を返します FALSE

CWnd::PostMessage

ウィンドウのメッセージ キューにメッセージを入れ、対応するウィンドウがメッセージを処理するのを待たずに を返します。

BOOL PostMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

パラメーター

message
ポストするメッセージを指定します。

wParam
追加のメッセージ情報を指定します。 このパラメーターの内容は、ポストされるメッセージによって異なります。

lParam
追加のメッセージ情報を指定します。 このパラメーターの内容は、ポストされるメッセージによって異なります。

戻り値

メッセージがポストされる場合は 0 以外。それ以外の場合は 0。

注釈

メッセージ キュー内のメッセージは、 関数または関数の呼び出 GetMessagePeekMessage しWindowsされます。

関数Windows PostMessage 別のアプリケーションにアクセスするために使用できます。

の例を参照してください AfxGetMainWnd

CWnd::PostNcDestroy

ウィンドウが破棄された後 OnNcDestroy 、既定のメンバー関数によって呼び出されます。

virtual void PostNcDestroy();

注釈

派生クラスは、ポインターの削除などのカスタム クリーンアップにこの関数を使用 this できます。

CWnd::PreCreateWindow

このオブジェクトにアタッチされているウィンドウを作成する前Windowsによって呼び出 CWnd されます。

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

パラメーター

cs
CREATESTRUCT 構造。

戻り値

ウィンドウの作成を続行する場合は 0 以外。作成エラーを示す場合は 0。

注釈

警告

CWnd::PreCreateWindow メニューが で、スタイルに が含まれている場合は、 の hMenu メンバーが ポインター csthisNULL に割り当てらます WS_CHILD 。 適切な機能を得る場合は、ダイアログ コントロールに ではない ID が設定されている必要があります NULL

この変更により、マネージド/ネイティブ相互運用シナリオでのクラッシュが修正されます。 の TRACE ステートメントは CWnd::Create 、問題の開発者に警告します。

この関数を直接呼び出さない。

この関数の既定の実装では、ウィンドウ クラス名が NULL チェックされ、適切な既定値に置き換えます。 このメンバー関数をオーバーライドして、ウィンドウ CREATESTRUCT が作成される前に構造体を変更します。

から派生した各クラスは CWnd 、 のオーバーライドに独自の機能を追加します PreCreateWindow 。 設計上、 のこれらの派生 PreCreateWindow は文書化されません。 各クラスに適したスタイルとスタイル間の相互依存関係を確認するには、アプリケーションの基本クラスの MFC ソース コードを調べてください。 オーバーライドを選択した場合は、MFC ソース コードから収集された情報を使用して、アプリケーションの基本クラスで使用されるスタイルが必要な機能を提供するかどうかを PreCreateWindow, 判断できます。

ウィンドウ スタイルの変更の詳細については、「MFC によって作成されたウィンドウ のスタイルの変更」を参照してください

// alter the styles of the mdi frame window
BOOL CMdiChildFrame::PreCreateWindow(CREATESTRUCT &cs)
{
   // Create a window without min/max buttons or sizable border
   cs.style |= WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;

   // Size the window to 1/3 screen size and center it
   cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3;
   cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;
   cs.y = ((cs.cy * 3) - cs.cy) / 2;
   cs.x = ((cs.cx * 3) - cs.cx) / 2;

   return CMDIChildWnd::PreCreateWindow(cs);
}

CWnd::PreSubclassWindow

このメンバー関数は、ウィンドウがサブクラス化される前に他の必要なサブクラス化を実行するためにフレームワークによって呼び出されます。

virtual void PreSubclassWindow();

注釈

このメンバー関数をオーバーライドすると、コントロールを動的にサブクラス化できます。 これは、高度なオーバーライド可能です。

CWnd::PreTranslateMessage

ウィンドウ メッセージが および 関数にディスパッチされる前に、ウィンドウ メッセージを変換するためにクラス CWinAppTranslateMessageDispatchMessage Windowsされます。

virtual BOOL PreTranslateMessage(MSG* pMsg);

パラメーター

pMsg
処理する MSG メッセージを含む 構造体をポイントします。

戻り値

メッセージが変換され、ディスパッチすべきでない場合は 0 以外。メッセージが変換されず、ディスパッチする必要がある場合は 0。

CWnd::Print

このメンバー関数を呼び出して、プリンター デバイス コンテキストで最も一般的な、指定されたデバイス コンテキストに現在のウィンドウを描画します。

void Print(
    CDC* pDC,
    DWORD dwFlags) const;

パラメーター

pDC
デバイス コンテキストへのポインター。

dwFlags
描画オプションを指定します。 このパラメーターには、次のフラグを 1 つ以上指定できます。

  • PRF_CHECKVISIBLE ウィンドウが表示されている場合にのみ描画します。

  • PRF_CHILDREN 表示されている子ウィンドウを描画します。

  • PRF_CLIENT ウィンドウのクライアント領域を描画します。

  • PRF_ERASEBKGND ウィンドウを描画する前に背景を消去します。

  • PRF_NONCLIENT ウィンドウの非クライアント領域を描画します。

  • PRF_OWNED 所有しているウィンドウを描画します。

注釈

CWnd::DefWindowProc 関数は、描画オプションが指定されているに基づいて、このメッセージを処理します。

  • PRF_CHECKVISIBLE 指定され、ウィンドウが表示されない場合は、何も行いません。

  • PRF_NONCLIENT 指定されている場合は、指定されたデバイス コンテキストで非クライアント領域を描画します。

  • PRF_ERASEBKGND 指定されている場合は、ウィンドウにメッセージを送信 WM_ERASEBKGND します。

  • PRF_CLIENT 指定されている場合は、ウィンドウにメッセージを送信 WM_PRINTCLIENT します。

  • PRF_CHILDREN 設定されている場合は、表示されている各子ウィンドウにメッセージを送信 WM_PRINT します。

  • PRF_OWNED 設定されている場合は、表示されている所有ウィンドウごとにメッセージを送信 WM_PRINT します。

CWnd::PrintClient

このメンバー関数を呼び出して、指定したデバイス コンテキスト (通常はプリンター デバイス コンテキスト) 内の任意のウィンドウを描画します。

void PrintClient(
    CDC* pDC,
    DWORD dwFlags) const;

パラメーター

pDC
デバイス コンテキストへのポインター。

dwFlags
描画オプションを指定します。 このパラメーターには、次のフラグを 1 つ以上指定できます。

  • PRF_CHECKVISIBLE ウィンドウが表示されている場合にのみ描画します。

  • PRF_CHILDREN 表示されている子ウィンドウを描画します。

  • PRF_CLIENT ウィンドウのクライアント領域を描画します。

  • PRF_ERASEBKGND ウィンドウを描画する前に背景を消去します。

  • PRF_NONCLIENT ウィンドウの非クライアント領域を描画します。

  • PRF_OWNED 所有しているウィンドウを描画します。

CWnd::PrintWindow

表示されているウィンドウを指定されたデバイス コンテキスト (通常はプリンター DC) にコピーします。

BOOL PrintWindow(
    CDC* pDC,
    UINT nFlags) const;

パラメーター

pDC
印刷するデバイス コンテキストへのポインター。

nFlags
描画オプションを指定します。 有効な値の一覧については、「PrintWindow」を参照してください。

戻り値

関数が正常終了した場合は 0 以外。それ以外の場合は 0。

注釈

このメンバー関数は、 関数の機能をエミュレートします。詳細については、「Windows PrintWindow SDK」を参照してください。

CWnd::RedrawWindow

指定したウィンドウのクライアント領域内の指定した四角形または領域を更新します。

BOOL RedrawWindow(
    LPCRECT lpRectUpdate = NULL,
    CRgn* prgnUpdate = NULL,
    UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

パラメーター

lpRectUpdate
更新四角形 の座標を含む 構造体をポイントします。 有効なリージョン ハンドルが prgnUpdate 含まれている場合、このパラメーターは無視されます。

prgnUpdate
更新リージョンを識別します。 と の prgnUpdate 両方 lpRectUpdateNULL の場合、クライアント領域全体が更新リージョンに追加されます。

flags
ウィンドウを無効にするには、次のフラグを使用します。

  • RDW_ERASE ウィンドウが再描画された場合 WM_ERASEBKGND に、ウィンドウにメッセージを受信します。 フラグ RDW_INVALIDATE も指定する必要があります。それ以外の場合RDW_ERASE効果はありません。

  • RDW_FRAME 更新領域と交差するウィンドウの非クライアント領域の一部がメッセージを受信 WM_NCPAINT します。 フラグ RDW_INVALIDATE も指定する必要があります。それ以外 RDW_FRAME の場合は効果がありません。

  • RDW_INTERNALPAINT ウィンドウに無効な領域が含まれているかどうかに関係なく、ウィンドウにメッセージ WM_PAINT がポストされます。

  • RDW_INVALIDATE または を lpRectUpdate 無効 prgnUpdate にしてください (1 つしか 無効にできない場合があります NULL )。 両方が の場合 NULL 、ウィンドウ全体が無効になります。

ウィンドウを検証するには、次のフラグを使用します。

  • RDW_NOERASE 保留中のメッセージを抑制 WM_ERASEBKGND します。

  • RDW_NOFRAME 保留中のメッセージを抑制 WM_NCPAINT します。 このフラグは と一緒に使用 RDW_VALIDATE する必要があります。通常は と一緒に使用されます RDW_NOCHILDREN 。 このオプションは、ウィンドウの一部が正しく塗り分けされるのを防ぐ可能性がある、注意して使用する必要があります。

  • RDW_NOINTERNALPAINT 保留中の内部メッセージを WM_PAINT 抑制します。 このフラグは、無効な領域 WM_PAINT に起因するメッセージには影響しません。

  • RDW_VALIDATE または を検証 lpRectUpdateprgnUpdate します (ない場合は 1 つのみです NULL )。 両方が の場合 NULL 、ウィンドウ全体が検証されます。 このフラグは、内部メッセージには影響 WM_PAINT しません。

再描画が行われると、次のフラグ コントロールが制御されます。 これらのビットの 1 つが指定されていない限り、ペインティング RedrawWindow は関数によって実行されません。

  • RDW_ERASENOW 影響を受けるウィンドウ (および フラグで指定) が、必要に応じてメッセージと メッセージを受け取り、その後 RDW_ALLCHILDRENRDW_NOCHILDRENWM_NCPAINTWM_ERASEBKGND 、関数が返されます。 WM_PAINT メッセージは遅延されます。

  • RDW_UPDATENOW 影響を受けるウィンドウ (および フラグで指定) が、必要に応じて、関数から戻る前に、および メッセージ RDW_ALLCHILDRENRDW_NOCHILDRENWM_NCPAINTWM_ERASEBKGNDWM_PAINT を受信します。

既定では、関数の影響を受ける RedrawWindow ウィンドウは、指定したウィンドウにスタイルが設定されているかどうかを示 WS_CLIPCHILDREN します。 ウィンドウの子 WS_CLIPCHILDREN ウィンドウには影響されません。 ただし、ウィンドウではないウィンドウは、ウィンドウが検出されるまで再帰的に検証または WS_CLIPCHILDRENWS_CLIPCHILDREN 無効化されます。 次のフラグは、 関数の影響を受けるウィンドウを制御 RedrawWindow します。

  • RDW_ALLCHILDREN 子ウィンドウがある場合は、再描画操作に含まれます。

  • RDW_NOCHILDREN 子ウィンドウがある場合は、再描画操作から除外します。

戻り値

ウィンドウが正常に再描画された場合は 0 以外。それ以外の場合は 0。

注釈

メンバー関数を使用してデスクトップ ウィンドウの一部を無効にした場合 RedrawWindow 、そのウィンドウはメッセージを受信 WM_PAINT しません。 デスクトップを再描画するには、アプリケーションで 、または CWnd::ValidateRgnCWnd::InvalidateRgn を使用 CWnd::UpdateWindow する必要があります。 RedrawWindow

CWnd::ReflectChildNotify

このメッセージ関数は、 からフレームワークによって呼び出されます OnChildNotify

BOOL ReflectChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

パラメーター

message
反映するメッセージを指定します。

wParam
追加のメッセージ依存情報を指定します。

lParam
追加のメッセージ依存情報を指定します。

pResult
親ウィンドウによって返される子ウィンドウによって生成された結果。 NULL の可能性があります。

戻り値

TRUE メッセージが反映された場合は 。それ以外の場合 FALSE は 。

注釈

これは、ソースに反映される message ヘルパー関数です。

反映されたメッセージは、 または に直接送信 CWnd::OnWndMsg されます CCmdTarget::OnCmdMsg

メッセージ リフレクションの詳細については、「リフレクションされたメッセージの 処理」を参照してください

CWnd::ReflectLastMsg

このメンバー関数は、最後のメッセージを子ウィンドウに反映するためにフレームワークによって呼び出されます。

static BOOL PASCAL ReflectLastMsg(
    HWND hWndChild,
    LRESULT* pResult = NULL);

パラメーター

hWndChild
子ウィンドウへのハンドル。

pResult
親ウィンドウによって返される子ウィンドウによって生成された結果。 NULL の可能性があります。

戻り値

メッセージが処理された場合は 0 以外。それ以外の場合は 0。

注釈

このメンバー関数は、 で識別されるウィンドウが OLE コントロールまたは永続的マップ SendChildNotifyLastMsghWndChild 内のウィンドウである場合に を呼び出します。

メッセージ リフレクションの詳細については、「リフレクションされたメッセージの 処理」を参照してください

CWnd::ReleaseDC

デバイス コンテキストを解放し、他のアプリケーションで使用するためにデバイス コンテキストを解放します。

int ReleaseDC(CDC* pDC);

パラメーター

pDC
解放するデバイス コンテキストを識別します。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

注釈

メンバー関数の効果 ReleaseDC は、デバイス コンテキストの種類によって異なります。

アプリケーションは、メンバー関数の呼び出しごとに、およびメンバー関数の呼び出しごとに、メンバー関数 ReleaseDCGetWindowDC を呼び GetDC 出す必要があります。

CWnd::RepositionBars

ウィンドウのクライアント領域のコントロール バーの位置変更とサイズ変更を行う場合に呼び出されます。

void RepositionBars(UINT nIDFirst,
    UINT nIDLast,
    UINT nIDLeftOver,
    UINT nFlag = reposDefault,
    LPRECT lpRectParam = NULL,
    LPCRECT lpRectClient = NULL,
    BOOL bStretch = TRUE) ;

パラメーター

nIDFirst
位置変更とサイズ変更を行うコントロール バーの範囲内の最初の の ID。

nIDLast
位置変更とサイズ変更を行うコントロール バーの範囲の最後の ID。

nIDLeftOver
クライアント領域の残りの部分を埋めるペインの ID を指定します。

nFlag
次のいずれかの値になります。

  • CWnd::reposDefault コントロール バーのレイアウトを実行します。 lpRectParam は使用されません。また、 を指定できます NULL

  • CWnd::reposQuery コントロール バーのレイアウトは行われなかった。代わりに、レイアウトが実際に完了した場合と同様に、クライアント領域のサイズ lpRectParam で初期化されます。

  • CWnd::reposExtra の値を の lpRectParam クライアント領域に追加し nIDLast 、レイアウトも実行します。

lpRectParam
構造体をポイント します。 の使用方法は の値によって異なります nFlag

lpRectClient
使用可能なクライアント 領域を含む 構造体をポイントします。 の NULL 場合、ウィンドウのクライアント領域が使用されます。

bStretch
バーをフレームのサイズに拡大するかどうかを示します。

注釈

パラメーターと パラメーターは、クライアント領域に再配置するコントロール バー ID nIDFirstnIDLast の範囲を定義します。 パラメーターは、コントロール バーで塗りつぶされていない残りのクライアント領域に合わせて再配置およびサイズ変更される子ウィンドウ (通常はビュー) の nIDLeftOver ID を指定します。

CWnd::RunModalLoop

を返すまでメッセージを取得、変換、またはディスパッチするには、このメンバー関数 ContinueModal を呼び出します FALSE

int RunModalLoop(DWORD dwFlags = 0);

パラメーター

dwFlags
送信するWindowsメッセージを指定します。 値は、次のいずれかです。

  • MLF_NOIDLEMSG 親にメッセージ WM_ENTERIDLE を送信しません。

  • MLF_NOKICKIDLE ウィンドウに WM_KICKIDLE メッセージを送信しません。

  • MLF_SHOWONIDLE メッセージ キューがアイドル状態のときにウィンドウを表示します。

戻り値

メンバー関数に渡されるパラメーターの値を指定します。これは、モーダル ループを終了 nResultEndModalLoop するために使用されます。

注釈

既定では、 ContinueModal が呼び出 FALSE された後 EndModalLoop に を返します。 として指定された値を に返 nResult します EndModalLoop

CWnd::ScreenToClient

ディスプレイ上の指定された点または四角形の画面座標をクライアント座標に変換します。

void ScreenToClient(LPPOINT lpPoint) const;  void ScreenToClient(LPRECT lpRect) const;

パラメーター

lpPoint
変換する CPoint 画面CPoint含む オブジェクトまたは構造体をポイントします。

lpRect
変換する CRect 画面CRect含む オブジェクトまたは構造体をポイントします。

注釈

メンバー ScreenToClient 関数は、 または で指定された画面座標を lpPoint クライアント lpRect 座標に置き換える関数です。 新しい座標は、クライアント領域の左上隅を基準 CWnd にしています。

の例を参照してください CListCtrl::GetItemRect

CWnd::ScrollWindow

現在の オブジェクトのクライアント領域の内容をスクロール CWnd します。

void ScrollWindow(
    int xAmount,
    int yAmount,
    LPCRECT lpRect = NULL,
    LPCRECT lpClipRect = NULL);

パラメーター

xAmount
水平スクロールの量をデバイス 単位で指定します。 このパラメーターは、左にスクロールするには負の値である必要があります。

yAmount
垂直スクロールの量をデバイス 単位で指定します。 このパラメーターは、上へスクロールするには負の値である必要があります。

lpRect
スクロールする CRect クライアント領域CRect部分を指定する オブジェクトまたは構造体をポイントします。 が lpRectNULL 場合、クライアント領域全体がスクロールされます。 カーソルの四角形がスクロール四角形と交差する場合、キャレットの位置が変更されます。

lpClipRect
スクロールするク CRect リッピング四 RECT 角形を指定する オブジェクトまたは構造体をポイントします。 この四角形内のビットだけがスクロールされます。 この四角形の外側のビットは、四角形に含まれる場合でも影響を受 lpRect け取しません。 が lpClipRectNULL 場合、スクロール四角形にクリッピングは実行されません。

注釈

キャレットがスクロール中の にある場合は、キャレットが自動的に非表示にされ、キャレットが消去されるのを防ぎ、スクロールが完了した後にキャレット CWndScrollWindow が復元されます。 キャレットの位置は、必要に応じて調整されます。

メンバー関数によって発見された領域は再描画されませんが、現在のオブジェクトの更新領域 ScrollWindowCWnd に結合されます。 アプリケーションは最終的に、リージョン WM_PAINT を再描画する必要があるというメッセージを受信します。 スクロールが完了すると同時に、発見された領域を再描画するには、 を呼び出した直後にメンバー UpdateWindow 関数を呼び出します ScrollWindow

が の場合、ウィンドウ内の子ウィンドウの位置は、 と で指定された量でオフセットされ、 内の無効な (未描画) 領域も lpRectNULLxAmountyAmountCWnd オフセットされます。 ScrollWindow が の場合、高速 lpRect になります NULL

lpRect ではない場合、子ウィンドウの位置は変更されません。また、 の無効な NULL 領域 CWnd はオフセットされません。 が ではない場合に問題が更新されるのを防ぐには、 を呼び出す前にメンバー関数を呼び出 lpRectNULLUpdateWindow して再 CWnd 描画します ScrollWindow

CWnd::ScrollWindowEx

ウィンドウのクライアント領域の内容をスクロールします。

int ScrollWindowEx(
    int dx,
    int dy,
    LPCRECT lpRectScroll,
    LPCRECT lpRectClip,
    CRgn* prgnUpdate,
    LPRECT lpRectUpdate,
    UINT flags);

パラメーター

dx
水平スクロールの量をデバイス 単位で指定します。 このパラメーターは、左にスクロールするには負の値である必要があります。

dy
垂直スクロールの量をデバイス 単位で指定します。 スクロールアップするには、このパラメーターに負の値が必要です。

lpRectScroll
スクロールする クライアント領域の部分を指定する 構造体をポイントします。 このパラメーターが の NULL 場合、クライアント領域全体がスクロールされます。

lpRectClip
スクロールする RECT クリッピング四角形を指定する 構造体をポイントします。 この構造体は、 が指す四角形よりも優先されます lpRectScroll 。 この四角形内のビットだけがスクロールされます。 この四角形の外側のビットは、四角形に含まれる場合でも影響を受 lpRectScroll け取しません。 このパラメーターが の NULL 場合、スクロール四角形にクリッピングは実行されません。

prgnUpdate
スクロールによって無効にされた領域を保持するために変更された領域を識別します。 このパラメーターは NULL の場合もあります。

lpRectUpdate
スクロールによって RECT 無効化された四角形の境界を受け取る 構造体をポイントします。 このパラメーターは NULL の場合もあります。

flags
次のいずれかの値になります。

  • SW_ERASE で指定 SW_INVALIDATE すると、ウィンドウにメッセージを送信することで、新しく無効にされた WM_ERASEBKGND 領域が消去されます。

  • SW_INVALIDATE スクロール後に によって識別される領域 prgnUpdate を無効にします。

  • SW_SCROLLCHILDREN と で指定されたピクセル数で、指し示す四角形と交差するすべての子 lpRectScroll ウィンドウをスクロール dx します dy 。 Windows、移動しない場合でも、 と交差するすべての子 WM_MOVE ウィンドウ lpRectScroll にメッセージを送信します。 子ウィンドウがスクロールされ、カーソルの四角形がスクロール四角形と交差すると、キャレットの位置が変更されます。

戻り値

関数が成功した場合、戻り値は (四角形の無効化された領域)、(四角形以外の無効化された領域、重複する四角形)、または (無効な領域がない) です。それ以外の場合、戻り値は SIMPLEREGIONCOMPLEXREGIONNULLREGION です ERROR

注釈

この関数は 関数に似 ScrollWindow ていますが、いくつかの追加機能があります。

SW_INVALIDATESW_ERASE 指定されていない場合、 ScrollWindowEx メンバー関数はスクロールされた領域を無効にしません。 これらのフラグのいずれかを設定すると、この ScrollWindowEx 領域は無効になります。 領域は、アプリケーションがメンバー関数を呼び出す、メンバー関数を呼び出す (または を指定する)、またはアプリケーション キューからメッセージを取得するまで UpdateWindowRedrawWindowRDW_UPDATENOWRDW_ERASENOWWM_PAINT 更新されません。

ウィンドウにスタイルがある場合、 および で指定された返される領域は、更新する必要があるスクロールウィンドウの合計領域を表します。更新が必要な子ウィンドウ内の領域も含めて表示されます WS_CLIPCHILDRENprgnUpdatelpRectUpdate

フラグを指定すると、Windowsウィンドウの一部がスクロールされた場合、画面が正しく SW_SCROLLCHILDREN 更新されません。 ソース四角形の外側にあるスクロールされた子ウィンドウの部分は消去されません。また、新しい変換先では正しく再描画されません。 四角形 DeferWindowPos Windows内に完全に位置しない子ウィンドウを移動するには、 関数を使用 lpRectScroll します。 フラグが設定され、キャレット四角形がスクロール四角形と交差する場合、カーソル SW_SCROLLCHILDREN の位置が変更されます。

すべての入力座標と出力座標 (、および の場合) は、ウィンドウに クラス スタイルまたは クラス スタイルが設定されているかどうかに関係なく、クライアント座標内にあると lpRectScrolllpRectCliplpRectUpdateprgnUpdateCS_OWNDCCS_CLASSDC 見なされます。 必要に応じて、Windows関数と 関数を使用して論理 LPtoDPDPtoLP 座標を変換します。

CWnd::SendChildNotifyLastMsg

このメンバー関数は、親ウィンドウから子ウィンドウに通知メッセージを提供するためにフレームワークによって呼び出され、子ウィンドウでタスクを処理できます。

BOOL SendChildNotifyLastMsg(LRESULT* pResult = NULL);

パラメーター

pResult
親ウィンドウによって返される子ウィンドウによって生成された結果。

戻り値

子ウィンドウが親に送信されたメッセージを処理した場合は 0 以外。それ以外の場合は 0。

注釈

SendChildNotifyLastMsg 現在のメッセージが反映されているメッセージである場合は、ソースに送信します。

メッセージ リフレクションの詳細については、「リフレクションされたメッセージの 処理」を参照してください

CWnd::SendDlgItemMessage

コントロールにメッセージを送信します。

LRESULT SendDlgItemMessage(
    int nID,
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

パラメーター

nID
メッセージを受信するダイアログ コントロールの識別子を指定します。

message
送信するメッセージを指定します。

wParam
追加のメッセージ依存情報を指定します。

lParam
追加のメッセージ依存情報を指定します。

戻り値

コントロールのウィンドウ プロシージャによって返される値を指定します。コントロールが見つからなかった場合は 0 を指定します。

注釈

メンバー SendDlgItemMessage 関数は、メッセージが処理されるまで返されません。

SendDlgItemMessage 使用は、指定されたコントロールに対して CWnd * を取得し、メンバー関数を呼び出すの SendMessage と同じです。

void CMyDlg::SetSpinRange()
{
   //set the min and max range of the up/down or spin control
   SendDlgItemMessage(IDC_SPIN1, UDM_SETRANGE, 0, (LPARAM)MAKELONG(8, 1));
}

CWnd::SendMessage

指定したメッセージをこのウィンドウに送信します。

LRESULT SendMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

パラメーター

message
送信するメッセージを指定します。

wParam
追加のメッセージ依存情報を指定します。

lParam
追加のメッセージ依存情報を指定します。

戻り値

メッセージ処理の結果。その値は、送信されたメッセージによって異なります。

注釈

メンバー SendMessage 関数はウィンドウ プロシージャを直接呼び出し、そのウィンドウ プロシージャがメッセージを処理するまで返しません。 これは、ウィンドウのメッセージ キューにメッセージを入れ、すぐに返すメンバー関数とは PostMessage 対照的です。

void CAboutDlg::OnPaint()
{
   // This code, normally emitted by the Application Wizard for a dialog-
   // based project for the dialog's WM_PAINT handler, runs only if the
   // window is iconic. The window erases the icon's area, then
   // paints the icon referenced by m_hIcon.
   if (IsIconic())
   {
      CPaintDC dc(this); // device context for painting

      SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);

      // Center icon in client rectangle
      int cxIcon = GetSystemMetrics(SM_CXICON);
      int cyIcon = GetSystemMetrics(SM_CYICON);
      CRect rect;
      GetClientRect(&rect);
      int x = (rect.Width() - cxIcon + 1) / 2;
      int y = (rect.Height() - cyIcon + 1) / 2;

      // Draw the icon
      dc.DrawIcon(x, y, m_hIcon);
   }
   else
   {
      CDialog::OnPaint();
   }
}

CWnd::SendMessageToDescendants

このメンバー関数を呼び出して、指定したWindowsすべての子孫ウィンドウにメッセージを送信します。

void SendMessageToDescendants(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0,
    BOOL bDeep = TRUE,
    BOOL bOnlyPerm = FALSE);

パラメーター

message
送信するメッセージを指定します。

wParam
追加のメッセージ依存情報を指定します。

lParam
追加のメッセージ依存情報を指定します。

bDeep
検索するレベルを指定します。 の TRUE 場合は、すべての子を再帰的に検索します。の場合は FALSE 、直接の子のみを検索します。

bOnlyPerm
メッセージを一時ウィンドウで受信するかどうかを指定します。 の TRUE 場合、一時ウィンドウはメッセージを受信できます。の場合は FALSE 、永続的なウィンドウだけがメッセージを受信します。 一時ウィンドウの詳細については、「 テクニカル ノート 3」を参照してください

注釈

が の場合、メッセージはウィンドウの直接の子にだけ送信されます。それ以外の場合、メッセージはすべての子孫 bDeepFALSE ウィンドウに送信されます。

bDeepbOnlyPerm の場合 TRUE 、検索は一時ウィンドウの下に続きます。 この場合、検索中に発生した永続的なウィンドウだけがメッセージを受信します。 が bDeepFALSE 場合、メッセージはウィンドウの直接の子にのみ送信されます。

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// change font of child controls of a dialog
LOGFONT lf = {0};
// redraw of child controls not needed in OnInitDialog
// since controls aren't drawn yet.
short int fRedraw = FALSE;

lf.lfHeight = 15; // Request a 15-pixel-high font

// with face name "Arial".
wcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"));

m_font.CreateFontIndirect(&lf); // Create the font.

SendMessageToDescendants(WM_SETFONT,
                         (WPARAM)m_font.m_hObject, //handle to font
                         MAKELONG((WORD)fRedraw, 0),
                         FALSE); // send to all descendants(TRUE) or
                                 // just children of *this (FALSE)

CWnd::SendNotifyMessage

指定したメッセージをウィンドウに送信します。

BOOL SendNotifyMessage(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

パラメーター

message
送信するメッセージを指定します。

wParam
追加のメッセージ依存情報を指定します。

lParam
追加のメッセージ依存情報を指定します。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

注釈

呼び出し元スレッドによってウィンドウが作成された場合、 はウィンドウのウィンドウ プロシージャを呼び出し、ウィンドウ プロシージャがメッセージを処理するまで SendNotifyMessage 戻しません。 ウィンドウが別のスレッドによって作成された場合、 はメッセージをウィンドウ プロシージャに渡し、すぐにを返します。ウィンドウ プロシージャがメッセージの処理を完了するまで SendNotifyMessage 待機されません。

CWnd::SetActiveWindow

アクティブ CWnd なウィンドウを作成します。

CWnd* SetActiveWindow();

戻り値

以前にアクティブだったウィンドウ。

返されるポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

メンバー関数は、アプリケーションがアクティブなウィンドウと入力フォーカスを任意に引き継ぐので、注意 SetActiveWindow して使用する必要があります。 通常は、Windowsすべてのアクティブ化が処理されます。

CWnd::SetCapture

カーソルの位置に関係なく、後続のすべてのマウス入力を現在の オブジェクト CWnd に送信します。

CWnd* SetCapture();

戻り値

すべてのマウス入力を以前に受け取ったウィンドウ オブジェクトへのポインター。 このような NULL ウィンドウがない場合は です。 返されるポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

すべてのマウス入力が不要になった場合、他のウィンドウがマウス入力を受信できるよう、アプリケーションで 関数 CWndReleaseCapture を呼び出す必要があります。

マウス入力がキャプチャされている間、 または WM_NCHITTESTWM_SETCURSOR メッセージはアクティブウィンドウに送信されません。

CWnd::SetCaretPos

キャレットの位置を設定します。

static void PASCAL SetCaretPos(POINT point);

パラメーター

point
キャレットの新しい x 座標と y 座標 (クライアント座標) を指定します。

注釈

メンバー関数は、現在のタスクのウィンドウがキャレットを所有している場合 SetCaretPos にのみ、キャレットを移動します。 SetCaretPos は、キャレットが非表示の場合でもキャレットを移動します。

キャレットは共有リソースです。 キャレットを所有していない場合、ウィンドウはキャレットを移動しません。

// The following code snippet shows a caret when the left
// mouse button is pressed, and sets the caret's position to
// the cursor's position.
void CMyView::OnLButtonDown(UINT nFlags, CPoint point)
{
   //create a solid caret, the width is 2, the length is 20.
   CreateSolidCaret(2, 20);

   SetCaretPos(point);
   ShowCaret();

   CView::OnLButtonDown(nFlags, point);
}

CWnd::SetClipboardViewer

クリップボードの内容が変更されるたびに (メッセージを使用して) 通知されるウィンドウのチェーンに、このウィンドウ WM_DRAWCLIPBOARD を追加します。

HWND SetClipboardViewer();

戻り値

クリップボード ビューアー チェーン内の次のウィンドウへのハンドル (成功した場合)。 アプリケーションでは、このハンドルを保存し (メンバー変数として格納できます)、クリップボード ビューアー のチェーン メッセージに応答するときに使用する必要があります。

注釈

クリップボード ビューアー チェーンの一部であるウィンドウは、および メッセージに応答し、チェーン内の次のウィンドウにメッセージ WM_DRAWCLIPBOARDWM_CHANGECBCHAINWM_DESTROY を渡す必要があります。

このメンバー関数は、ウィンドウ WM_DRAWCLIPBOARD にメッセージを送信します。 クリップボード ビューアー チェーンの次のウィンドウへのハンドルはまだ返されていないので、 への呼び出し中に受け取ったメッセージをアプリケーションで渡 WM_DRAWCLIPBOARD す必要はありません SetClipboardViewer

クリップボード ビューアー チェーンから自身を削除するには、アプリケーションでメンバー関数を呼び出す ChangeClipboardChain 必要があります。

CWnd::SetDlgCtrlID

ウィンドウのウィンドウ ID またはコントロール ID を新しい値に設定します。

int SetDlgCtrlID(int nID);

パラメーター

nID
コントロールの識別子に設定する新しい値。

戻り値

ウィンドウの以前の識別子 (成功した場合)。それ以外の場合は 0。

注釈

ウィンドウには、ダイアログ ボックス内のコントロールだけでなく、任意の子ウィンドウを指定できます。 ウィンドウをトップ レベル のウィンドウにすることはできません。

CWnd::SetDlgItemInt

ダイアログ ボックス内の特定のコントロールのテキストを、指定した整数値の文字列形式に設定します。

void SetDlgItemInt(
    int nID,
    UINT nValue,
    BOOL bSigned = TRUE);

パラメーター

nID
変更するコントロールの整数 ID を指定します。

nValue
項目テキストの生成に使用する整数値を指定します。

bSigned
整数値が符号付きか符号なしかを指定します。 このパラメーターが の場合 TRUEnValue は署名されています。 このパラメーターが で、 が 0 未満の場合、文字列の最初の桁の前にマイナス TRUEnValue 記号が配置されます。 このパラメーターが の場合 FALSEnValue は符号なしです。

注釈

SetDlgItemInt は、 WM_SETTEXT 指定されたコントロールにメッセージを送信します。

の例を参照してください CWnd::SetDlgItemText

CWnd::SetDlgItemText

ウィンドウまたはダイアログ ボックスが所有するコントロールのキャプションまたはテキストを設定します。

void SetDlgItemText(
    int nID,
    LPCTSTR lpszString);

パラメーター

nID
テキストを設定するコントロールを識別します。

lpszString
コントロールにコピーするテキストを含むオブジェクトまたは null で終える CString 文字列をポイントします。

注釈

SetDlgItemText は、 WM_SETTEXT 指定されたコントロールにメッセージを送信します。

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// Initialize dialog controls
SetDlgItemText(IDC_EDITNAME, _T("Type in text"));
SetDlgItemInt(IDC_EDITNUM, 100);

CWnd::SetForegroundWindow

ウィンドウを作成したスレッドをフォアグラウンドに置き、そのウィンドウをアクティブにします。

BOOL SetForegroundWindow();

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

注釈

キーボード入力はウィンドウに表示され、ユーザーに対してさまざまな視覚的な手掛かりが変更されます。 前景ウィンドウは、ユーザーが現在作業しているウィンドウです。 前景ウィンドウは、トップ レベルのウィンドウ (フレーム ウィンドウまたはダイアログ ボックス) にのみ適用されます。

の例を参照してください CWnd::FindWindow

CWnd::SetFocus

入力フォーカスを要求します。

CWnd* SetFocus();

戻り値

以前に入力フォーカスがあったウィンドウ オブジェクトへのポインター。 このような NULL ウィンドウがない場合は です。 返されるポインターは一時的なもので、格納すべきではない可能性があります。

注釈

入力フォーカスは、後続のすべてのキーボード入力をこのウィンドウに送ります。 以前に入力フォーカスを持っていたウィンドウでは、そのウィンドウが失われる。

メンバー関数は、入力フォーカスを失うメッセージをウィンドウに送信し、入力フォーカスを受け取るウィンドウ SetFocusWM_KILLFOCUSWM_SETFOCUS にメッセージを送信します。 また、ウィンドウまたは親もアクティブ化されます。

現在のウィンドウがアクティブで、フォーカスがない (つまり、ウィンドウにフォーカスがない) 場合は、キーを押すと、メッセージ WM_SYSCHAR 、、または が WM_SYSKEYDOWN 生成されます WM_SYSKEYUP

CWnd::SetFont

指定した WM_SETFONT フォントを使用するために、ウィンドウにメッセージを送信します。

void SetFont(
    CFont* pFont,
    BOOL bRedraw = TRUE);

パラメーター

pFont
オブジェクトへのポインター CFont

bRedraw
TRUE メッセージを処理した直後にウィンドウを再描画する場合は WM_SETFONT 。それ以外の場合は FALSE

注釈

このメソッドは、ウィンドウがメッセージを処理しない限り、効果はありません WM_SETFONT 。 から派生した MFC クラスの多く CWnd は、メッセージのメッセージハンドラーを含む定義済みのウィンドウクラスにアタッチされているため、このメッセージを処理 WM_SETFONT します。 このメソッドを使用するには、から派生するクラスで、 CWnd メッセージのメソッドハンドラーを定義する必要があり WM_SETFONT ます。

CWnd::SetIcon

このメンバー関数を呼び出して、で識別される特定のアイコンにハンドルを設定し hIcon ます。

HICON SetIcon(
    HICON hIcon,
    BOOL bBigIcon);

パラメーター

hIcon
前のアイコンを示すハンドル。

bBigIcon
の場合は32ピクセル x 32 ピクセルアイコンを指定し TRUE ます。の場合は、16ピクセル x 16 ピクセルのアイコンを指定し FALSE ます。

戻り値

アイコンにへのハンドル。

注釈

ウィンドウクラスが登録されると、アイコンが選択されます。

の例を参照してください CWnd::GetSystemMenu

CWnd::SetLayeredWindowAttributes

レイヤード ウィンドウの不透明度および透明度のカラー キーを設定します。

BOOL SetLayeredWindowAttributes(
    COLORREF crKey,
    BYTE bAlpha,
    DWORD dwFlags);

パラメーター

crKey
COLORREFレイヤードウィンドウを作成するときに使用する透明色キーを指定する値へのポインター。 この色のウィンドウで描画されたすべてのピクセルは透明になります。 を生成するには COLORREF 、マクロを使用し RGB ます。

bAlpha
レイヤードウィンドウの不透明度を表すために使用するアルファ値。 詳細については、 SourceConstantAlpha 構造体のメンバーを参照してください BLENDFUNCTIONbAlphaが0の場合、ウィンドウは完全に透明です。 bAlphaが255の場合、ウィンドウは不透明になります。

dwFlags
実行するアクションを指定します。 このパラメーターには、次の値を1つ以上指定できます。 有効な値の一覧については、「SetLayeredWindowAttributes」を参照してください。

戻り値

関数が正常終了した場合は 0 以外。それ以外の場合は 0。

注釈

このメンバー関数は、 SetLayeredWindowAttributes Windows SDK で説明されているように、関数の機能をエミュレートします。

CWnd::SetMenu

現在のメニューを指定されたメニューに設定します。

BOOL SetMenu(CMenu* pMenu);

パラメーター

pMenu
新しいメニューを識別します。 このパラメーターがの場合 NULL 、現在のメニューは削除されます。

戻り値

メニューが変更された場合は0以外の。それ以外の場合は0です。

注釈

メニューの変更を反映するために、ウィンドウを再描画します。

SetMenu は、前のメニューを破棄しません。 アプリケーションは、 CMenu::DestroyMenu このタスクを実行するためにメンバー関数を呼び出す必要があります。

の例を参照してください CMenu::LoadMenu

CWnd::SetOwner

現在のウィンドウの所有者を、指定したウィンドウオブジェクトに設定します。

void SetOwner(CWnd* pOwnerWnd);

パラメーター

pOwnerWnd
ウィンドウオブジェクトの新しい所有者を識別します。 このパラメーターがの場合 NULL 、ウィンドウオブジェクトには所有者が存在しません。

注釈

この所有者は、現在のウィンドウオブジェクトからコマンドメッセージを受け取ることができます。 既定では、現在のウィンドウの親はその所有者です。

多くの場合、ウィンドウ階層に関連付けられていないウィンドウオブジェクト間の接続を確立すると便利です。 たとえば、は、親では CToolBar なく所有者に通知を送信します。 これにより、別のウィンドウ (埋め込み先フレームウィンドウなど) に通知を送信するときに、ツールバーを1つのウィンドウ (OLE コンテナーアプリケーションウィンドウなど) の子にすることができます。 さらに、サーバーウィンドウが埋め込み先編集中に非アクティブになったり、アクティブ化されたりすると、フレームウィンドウが所有するすべてのウィンドウが非表示になり、表示されなくなります。 この所有権は、の呼び出しによって明示的に設定され SetOwner ます。

この機能の所有権の概念は、の所有権の概念とは異なり GetWindow ます。

CWnd::SetParent

子ウィンドウの親ウィンドウを変更します。

CWnd* SetParent(CWnd* pWndNewParent);

パラメーター

pWndNewParent
新しい親ウィンドウを識別します。

戻り値

成功した場合は、前の親ウィンドウオブジェクトへのポインター。 返されるポインターは一時的なものである可能性があり、後で使用するために格納することはできません。

注釈

子ウィンドウが表示されている場合、Windows は適切な再描画と再描画を実行します。

CWnd::SetProperty

によって指定された OLE コントロールプロパティを設定するには、このメンバー関数を呼び出し dwDispID ます。

void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

パラメーター

dwDispID
設定するプロパティを識別します。

vtProp
設定するプロパティの型を指定します。 使用可能な値については、「」の「解説」を参照してください COleDispatchDriver::InvokeHelper

...
vtPropによって指定された型の 1 つのパラメーターです。

注釈

注意

この関数は、OLE コントロールを表すオブジェクトでのみ呼び出す必要があり CWnd ます。

このメンバー関数を OLE コントロールコンテナーと共に使用する方法の詳細については、「コントロールコンテナー: ActiveX コントロールコンテナーのプログラミング ActiveX コントロール」の記事 ActiveX 参照してください。

CWnd::SetRedraw

アプリケーションは SetRedraw を呼び出して、変更を再描画したり、変更が再描画されないようにしたりします。

void SetRedraw(BOOL bRedraw = TRUE);

パラメーター

bRedraw
再描画フラグの状態を指定します。 このパラメーターがの場合、 TRUE 再描画フラグが設定されます。の場合 FALSE 、フラグはクリアされます。

注釈

このメンバー関数は、再描画フラグを設定またはクリアします。 再描画フラグをオフにしても、内容は変更後に更新されず、再描画フラグが設定されるまで再描画されません。 たとえば、リストボックスに複数の項目を追加する必要があるアプリケーションでは、再描画フラグをクリアし、項目を追加してから再描画フラグを設定できます。 最後に、アプリケーションはまたはのメンバー関数を呼び出して、リストボックスを再描画することができ InvalidateInvalidateRect ます。

// Updating a control or window with large amounts of data may cause
// flicker. In such cases it may be better to turn off drawing

//m_list is a member of type CListCtrl
m_List.SetRedraw(FALSE); // turn drawing off regardless of list mode

//
// Update control
//

m_List.SetRedraw(TRUE); // turn drawing back on and update the window

// invalidate the entire control, force painting
m_List.Invalidate();
m_List.UpdateWindow();

CWnd::SetScrollInfo

このメンバー関数を呼び出し SCROLLINFO て、構造体がスクロールバーに関して保持する情報を設定します。

BOOL SetScrollInfo(
    int nBar,
    LPSCROLLINFO lpScrollInfo,
    BOOL bRedraw = TRUE);

パラメーター

nBar
スクロールバーが、コントロールまたはウィンドウの非クライアント領域の一部であるかどうかを指定します。 非クライアント領域の一部である場合、nBar は、スクロールバーが水平方向、垂直方向、または両方に配置されているかどうかも示します。 次のいずれかである必要があります。

  • SB_CTL スクロールバーコントロールのパラメーターを格納します。 m_hWndデータメンバーは、スクロールバーコントロールのハンドルである必要があります。

  • SB_HORZ ウィンドウが水平スクロールバーであることを指定します。

  • SB_VERT ウィンドウが垂直スクロールバーであることを指定します。

lpScrollInfo
構造体へのポインター SCROLLINFO 。 この構造体の詳細については、Windows SDK を参照してください。

bRedraw
新しい位置を反映するためにスクロールバーを再描画するかどうかを指定します。 がの場合は bRedrawTRUE 、スクロールバーが再描画されます。 それ以外の場合は再描画され FALSE ません。 既定では、スクロールバーが再描画されます。

戻り値

成功した場合、戻り値は TRUE です。 それ以外の場合は、FALSE となります。

注釈

構造体には、スクロール SCROLLINFO バーの最小値と最大値、ページサイズ、スクロールボックスの位置 (つまみ) などの情報が含まれます。 SCROLLINFO構造体の既定値の変更の詳細については、Windows SDK の構造に関するトピックを参照してください。

スクロールバーの位置を示す MFC Windows メッセージハンドラー、 CWnd::OnHScroll および CWnd::OnVScroll は、位置データの16ビットのみを提供します。 GetScrollInfoSetScrollInfo は、32ビットのスクロールバーの位置データを提供します。 したがって、アプリケーションは、 GetScrollInfo またはのいずれかを処理中にを呼び出して、 CWnd::OnHScrollCWnd::OnVScroll 32 ビットのスクロールバーの位置データを取得できます。

注意

CWnd::GetScrollInfo アプリケーションで32ビットのスクロールバーの位置を使用できるようにします。

CWnd::SetScrollPos

スクロールボックスの現在位置を設定し、要求された場合は、スクロールボックスの新しい位置を反映するようにスクロールバーを再描画します。

int SetScrollPos(
    int nBar,
    int nPos,
    BOOL bRedraw = TRUE);

パラメーター

nBar
設定するスクロールバーを指定します。 このパラメーターには、次のいずれかを指定できます。

  • SB_HORZ ウィンドウの水平スクロールバーのスクロールボックスの位置を設定します。

  • SB_VERT ウィンドウの垂直スクロールバーのスクロールボックスの位置を設定します。

nPos
スクロールボックスの新しい位置を指定します。 スクロール範囲内である必要があります。

bRedraw
新しいスクロールボックスの位置を反映するようにスクロールバーを再描画するかどうかを指定します。 このパラメーターがの場合、 TRUE スクロールバーは再描画されます。の場合 FALSE 、スクロールバーは再描画されません。

戻り値

スクロールボックスの前の位置。

注釈

bRedrawをに設定すると、 FALSE 後で別の関数を呼び出すことによってスクロールバーが再描画されるときに便利です。

CWnd::SetScrollRange

指定されたスクロール バーの最小位置と最大位置の値を設定します。

void SetScrollRange(
    int nBar,
    int nMinPos,
    int nMaxPos,
    BOOL bRedraw = TRUE);

パラメーター

nBar
設定するスクロールバーを指定します。 このパラメーターには、次のいずれかの値を指定できます。

  • SB_HORZ ウィンドウの水平スクロールバーの範囲を設定します。

  • SB_VERT ウィンドウの垂直スクロールバーの範囲を設定します。

nMinPos
スクロール位置の最小値を指定します。

nMaxPos
スクロール位置の最大値を指定します。

bRedraw
変更を反映するためにスクロールバーを再描画するかどうかを指定します。 がの場合は bRedrawTRUE 、スクロールバーが再描画されます。の場合 FALSE 、スクロールバーは再描画されません。

注釈

標準のスクロールバーを表示または非表示にするためにも使用できます。

アプリケーションでは、スクロールバーの通知メッセージの処理中に、スクロールバーを非表示にするためにこの関数を呼び出すことはできません。

の呼び出しが SetScrollRange メンバー関数の呼び出しの直後に続く場合 SetScrollPosbRedraw メンバー関数のパラメーターは、 SetScrollPos スクロールバーが2回描画されないようにするために、0にする必要があります。

標準のスクロールバーの既定の範囲は 0 ~ 100 です。 スクロールバーコントロールの既定の範囲は空です (との値はどちらも nMinPosnMaxPos 0 です)。 とで指定された値の差は、より大きくすることはでき nMinPosnMaxPos ません INT_MAX

CWnd::SetTimer

システム タイマーをインストールします。

UINT_PTR SetTimer(
    UINT_PTR nIDEvent,
    UINT nElapse,
    void (CALLBACK* lpfnTimer)(HWND,
    UINT,
    UINT_PTR,
    DWORD));

パラメーター

nIDEvent
0 以外のタイマーの識別子を指定します。 タイマーの識別子が一意の場合、この同じ値が SetTimer によって返されます。 一意でない場合、SetTimer は、新しい一意の値を指定して返します。 ウィンドウタイマー ( NULL コールバック関数を含む) の場合、値は、現在のウィンドウに関連付けられている他の windows タイマーに対してのみ一意である必要があります。 コールバックのタイマーの場合、値はすべてのプロセスのすべてのタイマーで一意である必要があります。 したがって、コールバック タイマーを作成すると、戻り値が指定した値と異なる可能性が高くなります。

nElapse
タイムアウト値 (間隔) をミリ秒単位で指定します。

lpfnTimer
メッセージを処理する、アプリケーションによって提供されるコールバック関数のアドレスを指定し TimerProcWM_TIMER ます。 このパラメーターがの場合 NULLWM_TIMER メッセージはアプリケーションのメッセージキューに配置され、オブジェクトによって処理され CWnd ます。

戻り値

関数が正常に完了した場合の、新しいタイマーのタイマー識別子。 この値は、パラメーターを通じて渡された値と同じか、または異なる場合があり nIDEvent ます。 アプリケーションでは、常に戻り値をメンバー関数に渡して、 KillTimer タイマーを強制終了する必要があります。 正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

注釈

間隔の値を指定すると、間隔が経過するたびに、システムは WM_TIMER インストール中のアプリケーションのインストールメッセージキューにメッセージをポストするか、アプリケーション定義のコールバック関数にメッセージを渡し TimerProc ます。

lpfnTimerコールバック関数には名前を付ける必要はありません TimerProc が、static として宣言し、次のように定義する必要があります。

void CALLBACK TimerProc(
    HWND hWnd,   // handle of CWnd that called SetTimer
    UINT nMsg,   // WM_TIMER
    UINT_PTR nIDEvent,   // timer identification
    DWORD dwTime    // system time);

この例では、、、およびを使用し CWnd::SetTimerCWnd::OnTimerCWnd::KillTimer メッセージを処理 WM_TIMER します。 最初のタイマーは、 WM_TIMER の2秒ごとにメインフレームウィンドウにメッセージを送信するように設定されてい OnStartTimer ます。 OnTimerイベントハンドラーは、 WM_TIMER メインフレームウィンドウのメッセージを処理します。 このメソッドにより、PC スピーカーは 2 秒ごとにビープ音を鳴らします。 2 番目のタイマーは、3.75 秒ごとにコールバック関数にメッセージを送信します。 OnStopTimer は、各タイマー ID の CWnd::KillTimer を呼び出して、両方のタイマーを停止します。

void CMainFrame::OnStartTimer()
{
   // This timer uses a WM_TIMER message, not a callback.
   // Therefore, the timer is specific to this window.
   // m_nWindowTimer is a UINT_PTR field.
   m_nWindowTimer = SetTimer(1, 2000, NULL);

   // For this demo, we specify an interval that won't overlap
   // with the window timer.
   m_nCallbackTimer = SetTimer(2, 3750, &CMainFrame::MyTimerProc);

   // See whether we got the ID we requested in the first parameter.
#ifdef _DEBUG
   CString str;
   str.Format(_T("m_ncallbackTImer ID = %d"), m_nCallbackTimer);
   TRACE(str);
#endif
}

void CALLBACK CMainFrame::MyTimerProc(
    HWND hWnd,         // handle of CWnd that called SetTimer
    UINT nMsg,         // WM_TIMER
    UINT_PTR nIDEvent, // timer identification
    DWORD dwTime       // system time
)
{
   MessageBeep(0x00000030L); // Windows question sound.
}

void CMainFrame::OnStopTimer()
{
   KillTimer(m_nWindowTimer);
   KillTimer(m_nCallbackTimer);
}

void CMainFrame::OnTimer(UINT nIDEvent)
{
   MessageBeep(0xFFFFFFFF); // Beep

   // Call base class handler.
   CMDIFrameWnd::OnTimer(nIDEvent);
}

CWnd::SetWindowContextHelpId

ヘルプコンテキスト識別子を指定されたウィンドウに関連付けるには、このメンバー関数を呼び出します。

BOOL SetWindowContextHelpId(DWORD dwContextHelpId);

パラメーター

dwContextHelpId
ヘルプコンテキスト識別子。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

注釈

ヘルプコンテキスト識別子を持たない子ウィンドウは、親ウィンドウの識別子を継承します。 同様に、所有しているウィンドウにヘルプコンテキスト識別子がない場合は、そのオーナーウィンドウの識別子が継承されます。 このヘルプコンテキスト識別子の継承により、アプリケーションは、ダイアログボックスとそのすべてのコントロールに対して1つの識別子だけを設定できます。

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// Associate a help context id with the control.
// IDC_TESTHELP_CONTROL is the id of the control
// and HIDC_TESTHELP_CONTROL is its help context
// id associated with the control.
CWnd *pWnd = GetDlgItem(IDC_TESTHELP_CONTROL);
pWnd->SetWindowContextHelpId(HIDC_TESTHELP_CONTROL);

CWnd::SetWindowPlacement

ウィンドウの表示状態、通常の位置 (復元された位置)、最小化された位置、および最大表示された位置を設定します。

BOOL SetWindowPlacement(const WINDOWPLACEMENT* lpwndpl);

パラメーター

lpwndpl
WINDOWPLACEMENT新しい表示状態と位置を指定する構造体をポイントします。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

CWnd::SetWindowPos

子、ポップアップ、トップレベルのウィンドウのサイズ、位置、および Z オーダーを変更します。

BOOL SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags);

パラメーター

pWndInsertAfter
CWndこのオブジェクトの前にある (より大きい) オブジェクトを CWnd Z オーダーで識別します。 このパラメーターには、へのポインター CWnd または次の値のいずれかへのポインターを指定できます。

  • wndBottom ウィンドウを Z オーダーの一番下に配置します。 これ CWnd が最上位のウィンドウの場合、ウィンドウは最上位の状態を失います。システムはウィンドウを他のすべてのウィンドウの一番下に配置します。

  • wndTop ウィンドウを Z オーダーの一番上に配置します。

  • wndTopMost ウィンドウを最上位以外のすべてのウィンドウの上に配置します。 ウィンドウは、非アクティブになった場合でも、最上位の位置を維持します。

  • wndNoTopMost ウィンドウを最上位ではないすべてのウィンドウの一番上に移動します (つまり、すべての最上位ウィンドウの背後)。 ウィンドウが既に最上位のウィンドウではない場合、このフラグは無効です。

このパラメーターの使用方法に関する規則については、このトピックの「解説」セクションを参照してください。

x
ウィンドウの左側の新しい位置を指定します。

y
ウィンドウの上部の新しい位置を指定します。

cx
ウィンドウの新しい幅を指定します。

cy
ウィンドウの新しい高さを指定します。

nFlags
サイズ変更オプションと配置オプションを指定します。 このパラメーターには、次のフラグを組み合わせて指定できます。

  • SWP_DRAWFRAME ウィンドウの周囲にフレーム (ウィンドウの作成時に定義) を描画します。

  • SWP_FRAMECHANGED ウィンドウ WM_NCCALCSIZE のサイズが変更されていない場合でも、ウィンドウにメッセージを送信します。 このフラグが指定されていない場合、 WM_NCCALCSIZE は、ウィンドウのサイズが変更されている場合にのみ送信されます。

  • SWP_HIDEWINDOW ウィンドウを非表示にします。

  • SWP_NOACTIVATE ウィンドウをアクティブにしない。 このフラグが設定されていない場合、ウィンドウがアクティブ化され、最上位または最上位以外のグループの一番上に移動されます (パラメーターの設定に応 pWndInsertAfter じて異なる)。

  • SWP_NOCOPYBITS クライアント領域の内容全体を破棄します。 このフラグを指定しない場合、クライアント領域の有効な内容が保存され、ウィンドウのサイズまたは位置が変更された後、クライアント領域にコピーされます。

  • SWP_NOMOVE 現在の位置を保持します (パラメーターと パラメーター xy 無視されます)。

  • SWP_NOOWNERZORDER Z オーダーでの所有者ウィンドウの位置は変更されません。

  • SWP_NOREDRAW 変更を再描画しない。 このフラグが設定されている場合、どのような種類の再描画も行われません。 これは、クライアント領域、非クライアント領域 (タイトルとスクロール バーを含む)、および移動されたウィンドウの結果として明らかにされた親ウィンドウの任意の部分に適用されます。 このフラグが設定されている場合、アプリケーションは、再描画する必要があるウィンドウと親ウィンドウの一部を明示的に無効にするか、再描画する必要があります。

  • SWP_NOREPOSITIONSWP_NOOWNERZORDER と同じです。

  • SWP_NOSENDCHANGING ウィンドウがメッセージを受け取るのを防 WM_WINDOWPOSCHANGING ぐ。

  • SWP_NOSIZE 現在のサイズを保持します (パラメーターと パラメーター cxcy 無視されます)。

  • SWP_NOZORDER 現在の順序を保持します (を無視 pWndInsertAfter します)。

  • SWP_SHOWWINDOW ウィンドウを表示します。

戻り値

関数が成功した場合は 0 以外。それ以外の場合は 0。

注釈

Windows Z オーダーに従って画面に並べ替え、Z オーダーの上部にあるウィンドウは、その順序で他のすべてのウィンドウの上に表示されます。

子ウィンドウのすべての座標は、クライアント座標です (親ウィンドウのクライアント領域の左上隅を基準に)。

ウィンドウを Z オーダーの上部に移動するには、 パラメーターを に設定し、フラグが設定されていないか、ウィンドウの Z オーダーを設定して既存の最上位ウィンドウの上に表示します。 pWndInsertAfter&wndTopMostSWP_NOZORDER 最上位以外のウィンドウが最上位の場合、所有するウィンドウも最上位になります。 その所有者は変更されません。

最上位のウィンドウは、Z オーダーの下部 ( ) に位置するか、最上位以外のウィンドウの後に位置する場合は、最上位 &wndBottom ではなくなりました。 最上位のウィンドウを最上位以外にした場合、そのすべての所有者とその所有ウィンドウも最上位以外のウィンドウになります。

と のどちらも指定されていない場合 (つまり、アプリケーションがウィンドウを同時にアクティブ化し、指定した Z オーダーに配置する場合)、 で指定された値は、次の状況でのみ SWP_NOACTIVATESWP_NOZORDERpWndInsertAfter 使用されます。

  • パラメーターに &wndTopMost&wndNoTopMost のどちらも指定 pWndInsertAfter されていません。

  • このウィンドウはアクティブなウィンドウではない。

アプリケーションは、非アクティブなウィンドウを Z オーダーの一番上に持ち込む必要なくアクティブにすることはできません。 アプリケーションでは、アクティブ化されたウィンドウの Z オーダーを制限なしで変更できます。

最上位以外のウィンドウは最上位のウィンドウを所有できますが、その逆は所有できません。 最上位のウィンドウによって所有されている任意のウィンドウ (ダイアログ ボックスなど) は、それ自体が最上位のウィンドウになります。これにより、所有しているすべてのウィンドウが所有者の上に残ります。

バージョン 3.1 Windowsバージョン 3.1 以降では、ウィンドウを Z オーダーの一番上に移動し、スタイルを設定してロック WS_EX_TOPMOST できます。 このような最上位ウィンドウでは、非アクティブ化された場合でも最上位の位置が維持されます。 たとえば、WinHelp Always On Top コマンドを選択すると、ヘルプ ウィンドウが最上位に表示され、アプリケーションに戻った後も表示されたままになります。

最上位のウィンドウを作成するには、 パラメーターを と等しくして を呼び出します。または、ウィンドウを作成するときにスタイル SetWindowPospWndInsertAfter&wndTopMostWS_EX_TOPMOST を設定します。

Z オーダーにスタイルを持つウィンドウが含まれている場合、値を使用して移動されたウィンドウは、最上位以外のすべてのウィンドウの上部に配置されますが、最上位のウィンドウの下 WS_EX_TOPMOST&wndTopMost に配置されます。 アプリケーションが非アクティブなウィンドウをビットなしでアクティブ化すると、ウィンドウは最上位以外のすべてのウィンドウの上に、最上位のウィンドウの下 WS_EX_TOPMOST に移動されます。

パラメーターが で、最上位のウィンドウの場合に が呼び出された場合、ウィンドウは最上位の状態 (オフ) を失い、Z オーダーの下部にウィンドウが表示されます SetWindowPospWndInsertAfter&wndBottomCWndWS_EX_TOPMOST

void CMyApp::OnHideApplication()
{
   //m_pMainWnd is the main application window, a member of CMyApp
   ASSERT_VALID(m_pMainWnd);

   // hide the application's windows before closing all the documents
   m_pMainWnd->ShowWindow(SW_HIDE);
   m_pMainWnd->ShowOwnedPopups(FALSE);

   // put the window at the bottom of z-order, so it isn't activated
   m_pMainWnd->SetWindowPos(&CWnd::wndBottom, 0, 0, 0, 0,
                            SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
}

CWnd::SetWindowRgn

このメンバー関数を呼び出して、ウィンドウの領域を設定します。

int SetWindowRgn(
    HRGN hRgn,
    BOOL bRedraw);

パラメーター

hRgn
リージョンへのハンドル。

bRedraw
TRUE 場合、オペレーティング システムは領域の設定後にウィンドウを再描画します。それ以外の場合は再描画されません。 通常、ウィンドウが表示 bRedraw される TRUE 場合は に設定します。 に設定すると TRUE 、システムは および メッセージ WM_WINDOWPOSCHANGINGWM_WINDOWPOSCHANGED をウィンドウに送信します。

戻り値

関数が成功すると、戻り値は 0 以外になります。 関数が失敗した場合は、0 を返します。

注釈

ウィンドウのウィンドウ領域の座標は、ウィンドウのクライアント領域ではなく、ウィンドウの左上隅を基準にした相対座標です。

への呼び出しが SetWindowRgn 成功した後、オペレーティング システムは、リージョン ハンドル で指定されたリージョンを所有します hRgn 。 オペレーティング システムはリージョンのコピーを作成しないので、このリージョン ハンドルを使用してそれ以上関数呼び出しを行い、このリージョン ハンドルを閉じない。

CWnd::SetWindowText

ウィンドウのタイトルを指定したテキストに設定します。

void SetWindowText(LPCTSTR lpszString);

パラメーター

lpszString
新しいタイトルまたはコントロール テキストとして使用されるオブジェクトまたは null で終われる CString 文字列をポイントします。

注釈

ウィンドウが コントロールの場合、コントロール内のテキストが設定されます。

この関数により、 WM_SETTEXT このウィンドウにメッセージが送信されます。

// set the text in IDC_EDITNAME
CWnd *pWnd = GetDlgItem(IDC_EDITNAME);
pWnd->SetWindowText(_T("Gerald Samper"));

// Get the text back. CString is convenient, because MFC
// will automatically allocate enough memory to hold the
// text--no matter how large it is.

CString str;
pWnd->GetWindowText(str);
ASSERT(str == _T("Gerald Samper"));

// The LPTSTR override works, too, but it might be too short.
// If we supply a buffer that's too small, we'll only get those
// characters that fit.

TCHAR sz[10];
int nRet = pWnd->GetWindowText(sz, 10);

// Nine characters, plus terminating null
ASSERT(_tcscmp(sz, _T("Gerald Sa")) == 0);
ASSERT(nRet == 9);

// You can query the length of the text without the length of
// the string using CWnd::GetWindowTextLength()
nRet = pWnd->GetWindowTextLength();
ASSERT(nRet == 13);

CWnd::ShowCaret

キャレットの現在位置にあるキャレットを画面に表示します。

void ShowCaret();

注釈

キャレットは、表示されると自動的に点滅します。

メンバー関数は、キャレットが現在の図形を持ち、連続して 2 回以上非表示にされていない ShowCaret 場合にのみ、キャレットを表示します。 キャレットがこのウィンドウによって所有されていない場合、キャレットは表示されません。

キャレットの非表示は累積されます。 メンバー関数が連続して 5 回呼び出されている場合は、 を 5 回呼び出してキャレット HideCaretShowCaret を表示する必要があります。

キャレットは共有リソースです。 ウィンドウには、入力フォーカスがある場合、またはアクティブな場合にのみ、キャレットが表示されます。

の例を参照してください CWnd::CreateCaret

CWnd::ShowOwnedPopups

このウィンドウが所有しているすべてのポップアップ ウィンドウを表示または非表示にします。

void ShowOwnedPopups(BOOL bShow = TRUE);

パラメーター

bShow
ポップアップ ウィンドウを表示するか非表示にするか指定します。 このパラメーターが の TRUE 場合は、すべての非表示のポップアップ ウィンドウが表示されます。 このパラメーターが の FALSE 場合、表示されるポップアップ ウィンドウはすべて非表示になります。

の例を参照してください CWnd::SetWindowPos

CWnd::ShowScrollBar

スクロール バーを表示または非表示にする。

void ShowScrollBar(
    UINT nBar,
    BOOL bShow = TRUE);

パラメーター

nBar
スクロール バーがコントロールか、ウィンドウの非クライアント領域の一部かを指定します。 非クライアント領域の一部である場合は、スクロール バーを水平方向、垂直方向、または両方に配置するかどうか nBar も示します。 次のいずれかを指定する必要があります。

  • SB_BOTH ウィンドウの水平スクロール バーと垂直スクロール バーを指定します。

  • SB_HORZ ウィンドウが水平スクロール バーを指定します。

  • SB_VERT ウィンドウが垂直スクロール バーである場合に指定します。

bShow
スクロール バーのWindowsを表示または非表示にするかどうかを指定します。 このパラメーターが の場合 TRUE は、スクロール バーが表示されます。それ以外の場合、スクロール バーは非表示になります。

注釈

アプリケーションで を呼び出して、スクロール バー通知メッセージの処理中にスクロール ShowScrollBar バーを非表示にしてはならない。

CWnd::ShowWindow

ウィンドウの表示状態を設定します。

BOOL ShowWindow(int nCmdShow);

パラメーター

nCmdShow
の表示方法 CWnd を指定します。 次のいずれかの値である必要があります。

  • SW_HIDE このウィンドウを非表示にし、アクティブ化を別のウィンドウに渡します。

  • SW_MINIMIZE ウィンドウを最小化し、システムの一覧のトップレベルウィンドウをアクティブにします。

  • SW_RESTORE をアクティブにして、ウィンドウを表示します。 ウィンドウが最小化または最大化されている場合は、Windows 元のサイズと位置に復元されます。

  • SW_SHOW ウィンドウをアクティブにし、現在のサイズと位置に表示します。

  • SW_SHOWMAXIMIZED ウィンドウをアクティブにし、最大化ウィンドウとして表示します。

  • SW_SHOWMINIMIZED ウィンドウをアクティブにし、アイコンとして表示します。

  • SW_SHOWMINNOACTIVE ウィンドウをアイコンとして表示します。 現在アクティブなウィンドウはアクティブのままになります。

  • SW_SHOWNA 現在の状態でウィンドウを表示します。 現在アクティブなウィンドウはアクティブのままになります。

  • SW_SHOWNOACTIVATE ウィンドウを最新のサイズと位置に表示します。 現在アクティブなウィンドウはアクティブのままになります。

  • SW_SHOWNORMAL をアクティブにして、ウィンドウを表示します。 ウィンドウが最小化または最大化されている場合は、Windows 元のサイズと位置に復元されます。

戻り値

ウィンドウが以前に表示されていた場合は0以外の。が以前に非表示になっていた場合は 0 CWnd

注釈

ShowWindow は、メインウィンドウのアプリケーションごとに1回だけ呼び出す必要があり CWinApp::m_nCmdShow ます。 後続のへの呼び出しでは、 ShowWindow で指定された値の代わりに、上記のいずれかの値を使用する必要があり CWinApp::m_nCmdShow ます。

の例を参照してください CWnd::CalcWindowRect

CWnd::SubclassDlgItem

ダイアログテンプレートから作成されたコントロールを "動的にサブクラス化し、このオブジェクトにアタッチする" には、このメンバー関数を呼び出し CWnd ます。

BOOL SubclassDlgItem(
    UINT nID,
    CWnd* pParent);

パラメーター

nID
コントロールの ID。

pParent
コントロールの親 (通常はダイアログボックス)。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

注釈

コントロールが動的にサブクラス化されている場合、windows メッセージはのメッセージマップを通じてルーティングされ、 CWnd まずのクラスでメッセージハンドラーを呼び出し CWnd ます。 基本クラスに渡されたメッセージは、コントロールの既定のメッセージハンドラーに渡されます。

このメンバー関数は、オブジェクトに Windows コントロールをアタッチ CWnd し、コントロールの WndProc および AfxWndProc 関数を置き換えます。 関数は、 WndProc メンバー関数によって返される位置に古いを格納し GetSuperWndProcAddr ます。

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// IDC_BUTTON1 is the ID for a button on the
// dialog template used for CMyDlg.
m_MyButton.SubclassDlgItem(IDC_BUTTON1, this);

CWnd::SubclassWindow

このメンバー関数を呼び出して、ウィンドウを "動的にサブクラス化" し、このオブジェクトにアタッチし CWnd ます。

BOOL SubclassWindow(HWND hWnd);

パラメーター

hWnd
ウィンドウへのハンドル。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

注釈

ウィンドウが動的にサブクラス化されている場合、windows メッセージはのメッセージマップを通じてルーティングされ、 CWnd まずのクラスでメッセージハンドラーを呼び出し CWnd ます。 基本クラスに渡されたメッセージは、ウィンドウの既定のメッセージハンドラーに渡されます。

このメンバー関数は、オブジェクトに Windows コントロールをアタッチ CWnd し、ウィンドウの WndProc 関数と関数を置き換え AfxWndProc ます。 関数は、オブジェクト内の古いへのポインターを格納し WndProcCWnd ます。

注意

この関数が呼び出されたときに、ウィンドウが MFC オブジェクトにまだアタッチされていない必要があります。

// The following code shows how to subclass the edit control and list box
// controls inside a combo box. It uses WM_CTLCOLOR for subclassing.
// CSuperComboBox represents the combo box
HBRUSH CSuperComboBox::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
   if (nCtlColor == CTLCOLOR_EDIT)
   {
      //Edit control
      if (m_edit.GetSafeHwnd() == NULL)
         m_edit.SubclassWindow(pWnd->GetSafeHwnd());
   }
   else if (nCtlColor == CTLCOLOR_LISTBOX)
   {
      //ListBox control
      if (m_listbox.GetSafeHwnd() == NULL)
         m_listbox.SubclassWindow(pWnd->GetSafeHwnd());
   }

   HBRUSH hbr = CComboBox::OnCtlColor(pDC, pWnd, nCtlColor);
   return hbr;
}

void CSuperComboBox::OnDestroy()
{
   //unsubclass edit and list box before destruction
   if (m_edit.GetSafeHwnd() != NULL)
      m_edit.UnsubclassWindow();
   if (m_listbox.GetSafeHwnd() != NULL)
      m_listbox.UnsubclassWindow();
   CComboBox::OnDestroy();
}

CWnd::UnlockWindowUpdate

でロックされていたウィンドウのロックを解除するには、このメンバー関数を呼び出し CWnd::LockWindowUpdate ます。

void UnlockWindowUpdate();

注釈

を使用してロックできるのは、一度に1つのウィンドウだけ LockWindowUpdate です。 CWnd::LockWindowUpdateWindows のロックの詳細については、「」または「Win32 関数」を参照してください LockWindowUpdate

CWnd::UnsubclassWindow

このメンバー関数を呼び出し WndProc て元の値に戻し、HWND で識別されるウィンドウをオブジェクトからデタッチし CWnd ます。

HWND UnsubclassWindow();

戻り値

サブクラス化されていないウィンドウへのハンドル。

の例を参照してください CWnd::SubclassWindow

CWnd::UpdateData

ダイアログボックス内のデータを初期化するか、ダイアログデータを取得および検証するには、このメンバー関数を呼び出します。

BOOL UpdateData(BOOL bSaveAndValidate = TRUE);

パラメーター

bSaveAndValidate
ダイアログボックスが初期化中である () か FALSE 、データを取得する () かを示すフラグ TRUE

戻り値

操作が成功した場合は0以外の。それ以外の場合は0です。 がの場合 bSaveAndValidateTRUE 、戻り値が0以外の場合は、データが正常に検証されたことを意味します。

注釈

UpdateDatabSaveAndValidateFALSE の既定の実装でモーダルダイアログボックスが作成されると、フレームワークはをに設定してを自動的に呼び出し CDialog::OnInitDialog ます。 この呼び出しは、ダイアログボックスが表示される前に発生します。 の既定の実装は、 CDialog::OnOK をに設定してこのメンバー関数を呼び出し、 bSaveAndValidateTRUE データを取得します。成功した場合、はダイアログボックスを閉じます。 (ダイアログボックスの [キャンセル] ボタンがクリックされると、データを取得せずにダイアログボックスが閉じられます)。

CWnd::UpdateDialogControls

このメンバー関数を呼び出して、ダイアログボックスまたはコールバック機構を使用するウィンドウ内のダイアログボタンおよびその他のコントロールの状態を更新し ON_UPDATE_COMMAND_UI ます。

void UpdateDialogControls(
    CCmdTarget* pTarget,
    BOOL bDisableIfNoHndler);

パラメーター

pTarget
アプリケーションのメインフレームウィンドウをポイントし、更新メッセージをルーティングするために使用されます。

bDisableIfNoHndler
更新ハンドラーを持たないコントロールを自動的に無効として表示するかどうかを示すフラグです。

注釈

子コントロールにハンドラーがなく、がの場合 bDisableIfNoHndlerTRUE 、子コントロールは無効になります。

フレームワークは、アプリケーションのアイドル処理の一部として、ダイアログバーまたはツールバーのコントロールにこのメンバー関数を呼び出します。

CWnd::UpdateLayeredWindow

レイヤード ウィンドウの位置、サイズ、形状、内容、および透明度を更新します。

BOOL UpdateLayeredWindow(
    CDC* pDCDst,
    POINT* pptDst,
    SIZE* psize,
    CDC* pDCSrc,
    POINT* pptSrc,
    COLORREF crKey,
    BLENDFUNCTION* pblend,
    DWORD dwFlags);

パラメーター

pDCDst
画面のデバイスコンテキストを指すポインター。 ウィンドウの内容が更新されたときにパレットの色の照合に使用されます。 がの場合は pDCDstNULL 、既定のパレットが使用されます。

がの場合、はである pDCSrcNULLpDCDst 必要があり NULL ます。

pptDst
POINTレイヤードウィンドウの新しい画面位置を指定する構造体へのポインター。 現在の位置が変更されていない場合は、をに pptDst することができ NULL ます。

psize
SIZEレイヤードウィンドウの新しいサイズを指定する構造体へのポインター。 ウィンドウのサイズが変更されていない場合は、をにする psize ことができ NULL ます。

がの場合、はである pDCSrcNULLpsize 必要があり NULL ます。

pDCSrc
レイヤードウィンドウを定義するサーフェイスの DC へのポインター。 ウィンドウの形状とビジュアルコンテキストが変更されていない場合は、をに pDCSrc することができ NULL ます。

pptSrc
POINTデバイスコンテキスト内のレイヤーの位置を指定する構造体へのポインター。

がの場合、はである pDCSrcNULLpptSrc 必要があり NULL ます。

crKey
COLORREFレイヤードウィンドウを作成するときに使用する透明色キーを指定する値へのポインター。 この色のウィンドウで描画されたすべてのピクセルは透明になります。 を生成するには COLORREF 、RGB マクロを使用します。

pblend
BLENDFUNCTIONレイヤードウィンドウを作成するときに使用される透明度の値を指定する構造体へのポインター。

dwFlags
実行するアクションを指定します。 このパラメーターには、次の値を1つ以上指定できます。 有効な値の一覧については、「UpdateLayeredWindow」を参照してください。

戻り値

関数が正常終了した場合は 0 以外。それ以外の場合は 0。

注釈

このメンバー関数は、 UpdateLayeredWindow Windows SDK で説明されているように、関数の機能をエミュレートします。

CWnd::UpdateWindow

更新領域が空でない場合にメッセージを送信して、クライアント領域を更新し WM_PAINT ます。

void UpdateWindow();

注釈

メンバー UpdateWindow 関数は、アプリケーション キュー WM_PAINT をバイパスして、メッセージを直接送信します。 更新リージョンが空の場合 WM_PAINT 、 は送信されません。

// In this example a rectangle is drawn in a view.
// The OnChangeRect() function changes the dimensions
// of the rectangle and then calls CWnd::Invalidate() so the
// client area of the view will be redrawn next time the
// window is updated.  It then calls CWnd::UpdateWindow
// to force the new rectangle to be painted.

void CMdiView::OnChangeRect()
{
   // Change Rectangle size.
   m_rcBox = CRect(20, 20, 210, 210);

   // Invalidate window so entire client area
   // is redrawn when UpdateWindow is called.
   Invalidate();

   // Update Window to cause View to redraw.
   UpdateWindow();
}

// On Draw function draws the rectangle.
void CMdiView::OnDraw(CDC *pDC)
{
   // Other draw code here.

   pDC->Draw3dRect(m_rcBox, 0x00FF0000, 0x0000FF00);
}

CWnd::ValidateRect

ウィンドウの更新領域から四角形を削除して、指定された四角形内のクライアント領域を検証します。

void ValidateRect(LPCRECT lpRect);

パラメーター

lpRect
更新領域から削除する四角形のクライアント座標を含む オブジェクトまたは構造体 CRect をポイントします。 CRectlpRectNULL 場合、ウィンドウ全体が検証されます。

注釈

メンバー BeginPaint 関数は、クライアント領域全体を自動的に検証します。 更新リージョンの一部を次に生成する前に検証する必要がある場合は、 と メンバー ValidateRectValidateRgn 関数のどちらも WM_PAINT 呼び出す必要はありません。

Windows更新リージョンが検証 WM_PAINT されるまで、メッセージの生成が続行されます。

CWnd::ValidateRgn

ウィンドウの現在の更新リージョンからリージョンを削除することで、指定されたリージョン内のクライアント領域を検証します。

void ValidateRgn(CRgn* pRgn);

パラメーター

pRgn
更新領域から削除する領域を定義する領域を識別する CRgn オブジェクトへのポインター。 このパラメーターが の NULL 場合、クライアント領域全体が削除されます。

注釈

指定されたリージョンは、以前に region 関数によって作成されている必要があります。 領域座標は、クライアント座標と見なされます。

メンバー BeginPaint 関数は、クライアント領域全体を自動的に検証します。 次のメッセージが生成される前に更新リージョンの一部を検証する必要がある場合は、 と メンバー関数のどちらも ValidateRectValidateRgn 呼び WM_PAINT 出す必要はありません。

CWnd::WindowFromPoint

指定したポイントを含むウィンドウを取得します。 point は、画面上の点の画面座標を指定する必要があります。

static CWnd* PASCAL WindowFromPoint(POINT point);

パラメーター

point
チェックする CPoint ポイントを POINT 定義するオブジェクトまたはデータ構造を指定します。

戻り値

ポイントが位置するウィンドウ オブジェクトへのポインター。 指定した NULL ポイントにウィンドウが存在しない場合は です。 返されるポインターは一時的な場合があります。後で使用するために格納することはできません。

注釈

WindowFromPoint は、ポイントがウィンドウ内にある場合でも、非表示または無効のウィンドウを取得しません。 アプリケーションでは、無制限の ChildWindowFromPoint 検索にメンバー関数を使用する必要があります。

CWnd::WindowProc

オブジェクトのWindowsプロシージャ ( WindowProc ) を提供 CWnd します。

virtual LRESULT WindowProc(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

パラメーター

message
処理するWindowsメッセージを指定します。

wParam
メッセージの処理に使用される追加情報を提供します。 パラメーター値はメッセージによって異なります。

lParam
メッセージの処理に使用される追加情報を提供します。 パラメーター値はメッセージによって異なります。

戻り値

戻り値はメッセージによって異なります。

注釈

ウィンドウのメッセージ マップを介してメッセージをディスパッチします。

CWnd::WinHelp

WinHelp アプリケーションを起動します。

virtual void WinHelp(
    DWORD_PTR dwData,
    UINT nCmd = HELP_CONTEXT);

パラメーター

dwData
追加のデータを指定します。 使用される値は、 パラメーターの値によって異 nCmd なります。

nCmd
要求されるヘルプの種類を指定します。 使用できる値の一覧と、その値がパラメーターに与える影響の一覧については、Windows SDK の Windows dwDataWinHelp してください。

注釈

詳細については、「 CWinApp::WinHelp 」を参照してください。

CWnd::RegisterTouchWindow

タッチ サポートを登録Windows登録または登録解除します。

BOOL RegisterTouchWindow(
    BOOL bRegister = TRUE,
    ULONG ulFlags = 0);

パラメーター

bRegister
TRUEはタッチ サポートWindowsを示します。それ以外 FALSE の場合は 。

ulFlags
省略可能な変更を指定するビット フラグのセット。 このフィールドには、0 または次のいずれかの値を含めることができます: TWF_FINETOUCHTWF_WANTPALM

戻り値

成功した場合は TRUE。それ以外の場合は FALSE

注釈

CWnd::ResizeDynamicLayout

ウィンドウで動的レイアウトが有効な場合、子ウィンドウのレイアウトを調整するためにウィンドウのサイズが変更されると、フレームワークによって呼び出されます。

virtual void ResizeDynamicLayout();

解説

関連項目

クラス
階層図
クラス
クラス