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 オブジェクトの ヘルプ プロパティ文字列を取得するためにフレームワークによって呼び出されます。
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_hWndNULL の場合 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_FINDERID_DEFAULT_HELP処理します。
CWnd::OnHelpIndex コマンドを ID_HELP_INDEX 処理し、既定のヘルプ トピックを提供します。
CWnd::OnHelpUsing ID_HELP_USING コマンドを処理します。
CWnd::OnToolHitTest 点が指定されたツールの外接する四角形内にあるかどうかを判断し、そのツールに関する情報を取得します。
CWnd::OpenClipboard クリップボードを開きます。 他のアプリケーションは、WindowsCloseClipboard関数が呼び出されるまでクリップボードを変更できません。
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 メッセージに応答WM_CHARしてスタイルをLBS_WANTKEYBOARDINPUT持つ子リスト ボックスによって呼び出されます。
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 WindowsEmptyClipboard関数の呼び出しによってクリップボードが空になったときに呼び出されます。
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 ユーザーがダブルクリック XBUTTON1 したとき、または XBUTTON2 カーソルがウィンドウのクライアント以外の領域にあるときに呼び出されます。
CWnd::OnNcXButtonDown カーソルがウィンドウのクライアント以外の領域にあるときに、ユーザーがマウスを押 XBUTTON1 したときに XBUTTON2 呼び出されます。
CWnd::OnNcXButtonUp カーソルがウィンドウのクライアント以外の領域にあるときに、ユーザーがマウスを離すか、マウスXBUTTON2を離XBUTTON1したときに呼び出されます。
CWnd::OnNextMenu 右方向キーまたは左方向キーでメニュー バーとシステム メニューを切り替えたときに呼び出されます。
CWnd::OnNotify コントロールでイベントが発生したこと、またはコントロールが情報を必要としていることを親ウィンドウに通知するために、フレームワークによって呼び出されます。
CWnd::OnNotifyFormat 現在のウィンドウが通知メッセージで WM_NOTIFY ANSI または Unicode 構造体を受け入れるかどうかを判断するために呼び出されます。
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関数がSetWindowLongウィンドウのスタイルの 1 つ以上を変更したことを示します。
CWnd::OnStyleChanging Windows関数がウィンドウのスタイルの 1 つ以上を変更しようとしていることをSetWindowLong示します。
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 メッセージに応答WM_KEYDOWNして、所有するリスト ボックスによってCWnd呼び出されます。
CWnd::OnVScroll ウィンドウの垂直スクロール バーをクリックすると呼び出されます。
CWnd::OnVScrollClipboard オーナーがクリップボード内のイメージをスクロールし、適切な部分を無効にし、さらに、スクロール バーの値を更新する必要がある場合に呼び出されます。
CWnd::OnWindowPosChanged 呼び出しまたは別のウィンドウ管理機能の結果としてサイズ、位置、または Z オーダーが変更されたときに呼び出 SetWindowPos されます。
CWnd::OnWindowPosChanging サイズ、位置、または Z オーダーが、呼び出しまたは別のウィンドウ管理機能の結果として変更されようとしているときに呼び出 SetWindowPos されます。
CWnd::OnWinIniChange Windows初期化ファイルの後のすべての最上位ウィンドウに対して呼び出され、WIN.INI変更されます。
CWnd::OnWndMsg ウィンドウのメッセージが処理されたかどうかを示します。
CWnd::OnXButtonDblClk ユーザーがダブルクリック XBUTTON1 したとき、または XBUTTON2 カーソルがウィンドウのクライアント領域にあるときに呼び出されます。
CWnd::OnXButtonDown ユーザーが押 XBUTTON1 したとき、または XBUTTON2 カーソルがウィンドウのクライアント領域にあるときに呼び出されます。
CWnd::OnXButtonUp ユーザーが離 XBUTTON1 したとき、または XBUTTON2 カーソルがウィンドウのクライアント領域にあるときに呼び出されます。
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 これに CWnd接続されている HWND を示します。

注釈

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

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

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

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

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

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

使用CWndの詳細については、「オブジェクトのウィンドウ」を参照してくださいFrame Windows

継承階層

CObject

CCmdTarget

CWnd

必要条件

ヘッダー: afxwin.h

CWnd::accDoDefaultAction

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

virtual HRESULT accDoDefaultAction(VARIANT varChild);

パラメーター

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

戻り値

成功した場合の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受け取ります。 IAccessible::accHitTest Windows SDK を参照してくださいpvarID

戻り値

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

注釈

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

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

詳細については、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
取得する場所がオブジェクトの場所であるか、オブジェクトの子要素の 1 つであるかを指定します。 このパラメーターには、(オブジェクトに関する情報を取得する) または子 ID (オブジェクトの子要素に関する情報を取得する) のいずれかを CHILDID_SELF 指定できます。

戻り値

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

解説

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

詳細については、Windows SDK の IAccessible::accLocation に関する記事を参照してください。

CWnd::accNavigate

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

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

パラメーター

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

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

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

戻り値

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

解説

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

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

詳細については、Windows SDK の IAccessible::accNavigate に関する記事を参照してください。

CWnd::accSelect

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

virtual HRESULT accSelect(
    long flagsSelect,
    VARIANT varChild);

パラメーター

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

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

戻り値

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

注釈

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

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

詳細については、Windows SDK の IAccessible::accSelect に関する記事を参照してください。

CWnd::AnimateWindow

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

BOOL AnimateWindow(
    DWORD dwTime,
    DWORD dwFlags);

パラメーター

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

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

戻り値

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

注釈

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

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 を返します。

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

// 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 完全に囲む最小の四角形を持つデータ構造と、背景が消去されたかどうかを指定するフラグが含まれています。

更新領域は、InvalidateRectサイズ変更、移動、作成、スクロール、またはInvalidateRgnクライアント領域に影響を与えるその他の操作を実行した後、システムによって、またはメンバー関数によってInvalidate設定されます。 更新リージョンが消去のマークが付いている場合は、 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

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

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

パラメーター

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

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

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

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

注釈

この関数を呼び出すオブジェクトは 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
プロパティのバインド先となるデータ ソース コントロールをホストするウィンドウをポイントします。 DCS のホスト ウィンドウのリソース ID を使用して呼び出 GetDlgItem して、このポインターを取得します。

注釈

この関数を呼び出すオブジェクトは 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_TOPHWND_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
[入力、出力]四角形の構造体へのポインター。 入力時に、この構造体にはクライアントの四角形が含まれます。 メソッドが完了すると、この構造体には、指定したクライアントの四角形を含めることができるウィンドウの四角形が含まれます。

nAdjustType
[in]スタイルを使用せずにウィンドウ座標を計算する場合にWS_EX_CLIENTEDGE使用CWnd::adjustBorderします。それ以外の場合は 、 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 有効なウィンドウに設定できます。 画面を基準にして中央揃えを強制するには、次のようにpAlternateOwner返される値をCWnd::GetDesktopWindow渡します。

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

   CenterWindow();

   return TRUE;
}

CWnd::ChangeClipboardChain

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

BOOL ChangeClipboardChain(HWND hWndNext);

パラメーター

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

戻り値

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

CWnd::CheckDlgButton

ボタンを選択 (横にチェック マークを付ける) またはクリア (チェック マークの削除) を行うか、3 状態ボタンの状態を変更します。

void CheckDlgButton(
    int nIDButton,
    UINT nCheck);

パラメーター

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

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

注釈

この関数は CheckDlgButtonBM_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
チェックするラジオ ボタンの整数識別子を指定します。

注釈

この関数は CheckRadioButtonBM_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
変換するPOINTクライアント座標を含む構造体またはCPointオブジェクトを指します。

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

解説

メンバー関数はClientToScreen、新しい画面座標を計算するために、またはRECT構造体または構造体内のクライアント座標POINT、またはCPoint指すlpPointオブジェクトまたはCRectlpRectオブジェクトを使用して新しい画面座標を計算します。その後、構造体内の座標を新しい座標に置き換えます。 新しい画面座標は、システム表示の左上隅を基準にしています。

メンバー関数は 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 SDK で説明されているように、関数CloseWindowの機能をエミュレートします。

CWnd::ContinueModal

このメンバー関数は、モーダル状態を終了するタイミングを決定するために RunModalLoop 呼び出されます。

virtual BOOL ContinueModal();

戻り値

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

解説

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

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::PreCreateWindowメニューNULLが存在し、スタイルにhMenu含まれているWS_CHILD場合はthis、そのパラメーターのメンバーCREATESTRUCTをポインターに割り当てます。 適切な機能を実現するには、ダイアログ コントロールに 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
キャレット図形を定義するビットマップを識別します。

注釈

ビットマップは、メンバー関数、Windows関数、CreateDIBitmapまたはメンバー関数によってCBitmap::CreateBitmap以前に作成されている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 "短い名前" (ProgID) が含まれている場合があります。 たとえば、"CIRC3.Circ3Ctrl.1" のようにします。 名前は、コントロールによって登録されたのと同じ名前と一致する必要があります。 または、文字列には、中かっこに含まれる文字列形式の a CLSIDが含まれている場合があります。 たとえば、"{9DBAFCCF-592F-101B-85CE-00608CEC297B}" のようにします。 どちらの場合も、 CreateControl 文字列を対応するクラス ID に変換します。

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

dwStyle
Windows スタイル。 使用できるスタイルは、[解説] の下に一覧表示されます。

rect
コントロールのサイズと位置を指定します。 オブジェクトまたは構造体をCRect指定RECTできます。

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

pSize
コントロールのサイズを SIZE 含む構造体または CSize オブジェクトを指します。

*pParentWnd*
コントロールの親ウィンドウを指定します。 次に指定 NULLしないでください。

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

pPersist
コントロールの永続的な CFile 状態を含むポインター。 既定値は、 NULL永続的ストレージから状態を復元せずにコントロール自体を初期化することを示します。 そうでない NULL場合は、ストリームまたはストレージのいずれかの形式で、コントロールの永続的なデータを含む -derived オブジェクトへのポインター CFileである必要があります。 このデータは、以前のクライアントのアクティブ化で保存されている可能性があります。 他のデータを 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
拡張ウィンドウ スタイルのビットごとの組み合わせ (OR)。それ以外の場合NULLは、既定の拡張ウィンドウ スタイルの場合。

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

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

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

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

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

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

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

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

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

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

rect
画面または親ウィンドウに対する相対的なウィンドウのサイズと場所。

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

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

戻り値

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

解説

警告

CWnd::PreCreateWindowメニューNULLがあり、スタイルにhMenu含まれているWS_CHILD場合は、そのパラメーターthisのメンバーCREATESTRUCTをポインターに割り当てます。 適切な機能を実現するには、ダイアログ コントロールに ID が含まれていない NULLことを確認します。

この変更により、マネージド/ネイティブ相互運用シナリオでのクラッシュが修正されます。 問題 TRACECWnd::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関数とSM_CYBORDERインデックスを使用SM_CXBORDERしてGetSystemMetrics取得できます。 ウィンドウ罫線の幅または高さを使用すると、キャレットが高解像度ディスプレイに確実に表示されます。

メンバー関数は 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関数とSM_CYBORDERインデックスを使用SM_CXBORDERしてGetSystemMetrics取得できます。 ウィンドウ罫線の幅または高さを使用すると、キャレットが高解像度ディスプレイに確実に表示されます。

メンバー関数は 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 ウィンドウは作成されず、またはCreateメンバー関数がCreateEx呼び出されるまでアタッチされません。

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の派生クラスに表示されます。 ただし、-derived クラスでこの関数を CWndオーバーライドしても、 DestroyWindow 必ずしも呼び出されるとは限りません。 MFC コードで呼び出されない場合 DestroyWindow は、呼び出す場合は、独自のコードで明示的に呼び出す必要があります。

たとえば、-derived クラスでCViewオーバーライドDestroyWindowしたとします。 MFC ソース コードは、どのCFrameWnd派生クラスでも呼び出されないため、明示的に呼び出DestroyWindowさない限り、オーバーライドDestroyWindowされたクラスは呼び出されません。

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

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

CWnd破棄されるウィンドウが子ウィンドウで、スタイル セットがないWS_EX_NOPARENTNOTIFY場合、WM_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();

戻り値

Windows オブジェクトへの AHWND

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

CWnd::DlgDirList

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

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

パラメーター

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

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

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

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

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

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

  • DDL_HIDDEN 非表示のファイル。

  • DDL_SYSTEM システム ファイル。

  • DDL_DIRECTORY ディレクトリ。

  • DDL_ARCHIVE アーカイブ。

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

  • DDL_DRIVES ドライブ。 フラグが DDL_DRIVES 設定されている場合、 DDL_EXCLUSIVE フラグは自動的に設定されます。 したがって、ドライブとファイルを含むディレクトリ一覧を作成するには、2 回呼び出す DlgDirList 必要があります。1 回はフラグを DDL_DRIVES 設定し、1 回は一覧の残りのフラグを使用します。

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

戻り値

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

解説

DlgDirList リスト ボックスにメッセージを送信 LB_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
ダイアログ ボックス内のコンボ ボックスの識別子を指定します。 0 の場合 nIDComboBox は、コンボ ボックスが存在せず、 DlgDirListComboBox コンボ ボックスの入力を試みないことを前提としています。

nIDStaticPath
現在のドライブとディレクトリの表示に使用する静的テキスト コントロールの識別子を指定します。 0 の場合 nIDStaticPath は、 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_DRIVES 設定されている場合、 DDL_EXCLUSIVE フラグは自動的に設定されます。 したがって、ドライブとファイルを含むディレクトリ一覧を作成するには、2 回呼び出す DlgDirListComboBox 必要があります。1 回はフラグを DDL_DRIVES 設定し、1 回は一覧の残りのフラグを使用します。

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

戻り値

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

解説

DlgDirListComboBoxはコンボ CB_DIR ボックスにメッセージを送信CB_RESETCONTENTします。 指定されたコンボ ボックスのリスト ボックスに、指定された 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 変更されません。

DlgDirSelect リスト ボックスにメッセージを送信 LB_GETCURSEL します LB_GETTEXT

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

CWnd::DlgDirSelectComboBox

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

BOOL DlgDirSelectComboBox(
    LPTSTR lpString,
    int nIDComboBox);

パラメーター

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

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

戻り値

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

解説

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

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

DlgDirSelectComboBoxはコンボ CB_GETLBTEXT ボックスにメッセージを送信CB_GETCURSELします。

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

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_ マクロの詳細については、「 Technical Note 26」を参照してください。

CWnd::DragAcceptFiles

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

void DragAcceptFiles(BOOL bAccept = TRUE);

パラメーター

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

解説

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

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

CWnd::DragDetect

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

BOOL DragDetect(POINT pt) const;

パラメーター

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

戻り値

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

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

解説

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

CWnd::DrawAnimatedRects

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

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

パラメーター

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

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

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

戻り値

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

解説

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

CWnd::DrawCaption

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

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

パラメーター

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

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

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

戻り値

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

解説

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

CWnd::DrawMenuBar

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

void DrawMenuBar();

注釈

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

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

CWnd::EnableActiveAccessibility

ユーザー定義の Active Accessibility 関数を有効にします。

void EnableActiveAccessibility();

注釈

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

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) レンダー ターゲット CDCRenderTargetを使用するかどうかを指定します。 FALSE の場合、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は .

解説

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

注意

一部のウィンドウ (例: CToolBar.OnToolHitTest

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

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

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

// 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_DISABLED 無効になっているウィンドウを作成するために、 Create 関数または CreateEx メンバー関数のスタイルを指定できます。 ウィンドウが作成された後、アプリケーションはメンバー関数を 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 呼び出しごとに必要ですが、描画が完了した後にのみ必要です。

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

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

CWnd::ExecuteDlgInit

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

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

パラメーター

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

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

戻り値

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

注釈

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

CWnd::FilterToolTipMessage

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

void FilterToolTipMessage(MSG* pMsg);

パラメーター

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

注釈

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

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

CWnd::FindWindow

ウィンドウ クラスが指定され、lpszWindowNameウィンドウ名 (タイトル) が指定されたlpszClassName最上位レベルCWndを返します。

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

パラメーター

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

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

戻り値

指定したクラス名とウィンドウ名を持つウィンドウを識別します。 そのようなウィンドウが 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
前の呼び出しで作成されたクラス名またはクラス アトムを指定する null で終わる文字列へのRegisterClassRegisterClassExポインター。

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

戻り値

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

注釈

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

CWnd::FlashWindow

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

BOOL FlashWindow(BOOL bInvert);

パラメーター

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

戻り値

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

注釈

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

通常、ウィンドウが点滅して、ユーザーに注意が必要だが、現在は入力フォーカスがないことを通知します。

このパラメーターFALSEbInvert、ウィンドウが入力フォーカスを取得していて、点滅しなくなった場合にのみ指定する必要があります。入力フォーカスの取得を待機している間は、連続する呼び出しで実行する必要があります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*
フラッシュの状態を指定します。 値の完全な一覧については、構造を FLASHWINFO 参照してください。

uCount
ウィンドウを点滅させる回数を指定します。

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

戻り値

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

解説

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

CWnd::FromHandle

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

static CWnd* PASCAL FromHandle(HWND hWnd);

パラメーター

hWnd
HWND Windows ウィンドウの 1 つ。

戻り値

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

ポインターは一時的な場合があり、後で使用するために格納しないでください。

CWnd::FromHandlePermanent

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

static CWnd* PASCAL FromHandlePermanent(HWND hWnd);

パラメーター

hWnd
HWND Windows ウィンドウの 1 つ。

戻り値

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 のIAccessible::get_accChild戻り値を参照してください。

注釈

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

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

詳細については、Windows SDK の IAccessible::get_accChild に関する記事を参照してください。

CWnd::get_accChildCount

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

virtual HRESULT get_accChildCount(long* pcountChildren);

パラメーター

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

戻り値

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

注釈

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

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

詳細については、Windows SDK の IAccessible::get_accChildCount に関する記事を参照してください。

CWnd::get_accDefaultAction

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

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

パラメーター

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

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

戻り値

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

解説

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

オブジェクトの既定のアクションを CWnd記述するには、-derived クラスでこの関数をオーバーライドします。

詳細については、Windows SDK の IAccessible::get_accDefaultAction に関する記事を参照してください。

CWnd::get_accDescription

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

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

パラメーター

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

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

戻り値

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

解説

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

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

詳細については、Windows SDK の IAccessible::get_accDescription に関する記事を参照してください。

CWnd::get_accFocus

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

virtual HRESULT get_accFocus(VARIANT* pvarChild);

パラメーター

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

戻り値

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

注釈

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

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

詳細については、Windows SDK の IAccessible::get_accFocus に関する記事を参照してください。

CWnd::get_accHelp

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

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

パラメーター

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

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

戻り値

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

注釈

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

オブジェクトのヘルプ テキストを CWnd提供するには、-derived クラスでこの関数をオーバーライドします。

詳細については、Windows SDK の IAccessible::get_accHelp に関する記事を参照してください。

CWnd::get_accHelpTopic

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

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

パラメーター

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

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

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

戻り値

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

解説

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

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

詳細については、Windows SDK の IAccessible::get_accHelpTopic に関する記事を参照してください。

CWnd::get_accKeyboardShortcut

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

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

パラメーター

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

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

戻り値

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

注釈

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

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

詳細については、Windows SDK の IAccessible::get_accKeyboardShortcut に関する記事を参照してください。

CWnd::get_accName

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

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

パラメーター

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

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

戻り値

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

注釈

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

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

詳細については、Windows SDK の IAccessible::get_accName に関する記事を参照してください。

CWnd::get_accParent

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

virtual HRESULT get_accParent(IDispatch** ppdispParent);

パラメーター

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

戻り値

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

注釈

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

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

詳細については、Windows SDK の IAccessible::get_accParent に関する記事を参照してください。

CWnd::get_accRole

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

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

パラメーター

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

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

戻り値

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

注釈

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

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

詳細については、Windows SDK の IAccessible::get_accRole に関する記事を参照してください。

CWnd::get_accSelection

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

virtual HRESULT get_accSelection(VARIANT* pvarChildren);

パラメーター

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

戻り値

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

解説

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

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

詳細については、Windows SDK の IAccessible::get_accSelection に関する記事を参照してください。

CWnd::get_accState

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

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

パラメーター

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

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

戻り値

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

注釈

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

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

詳細については、Windows SDK の IAccessible::get_accState に関する記事を参照してください。

CWnd::get_accValue

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

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

パラメーター

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

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

戻り値

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

注釈

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

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

詳細については、Windows SDK の IAccessible::get_accValue に関する記事を参照してください。

CWnd::GetActiveWindow

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

static CWnd* PASCAL GetActiveWindow();

戻り値

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

注釈

アクティブ ウィンドウは、現在の入力フォーカスを持つウィンドウか、メンバー関数によって SetActiveWindow 明示的にアクティブになったウィンドウです。

CWnd::GetAncestor

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

CWnd* GetAncestor(UINT gaFlags) const;

パラメーター

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

戻り値

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

解説

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

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
クライアント座標をRECT受け取る構造体またはCRectオブジェクトを指します。 メンバー lefttop 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();

戻り値

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

解説

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

返される GetControlUnknown インターフェイス ポインターは参照カウントされません。 以前にポインターを呼び出していない限り、ポインターを呼び出IUnknown::ReleaseIUnknown::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

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

static const MSG* PASCAL GetCurrentMessage();

戻り値

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

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

CWnd::GetDC

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

CDC* GetDC();

戻り値

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

注釈

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

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

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

CWnd::GetDCEx

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

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

パラメーター

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

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

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

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

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

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

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

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

  • DCX_PARENTCLIP親ウィンドウの表示領域を使用し、親ウィンドウのビットとWS_PARENTDCスタイル ビットをWS_CLIPCHILDREN無視します。 この値は、デバイス コンテキストの配信元をウィンドウの左上隅に CWnd 設定します。

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

戻り値

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

注釈

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

この関数は、関数の GetDC 拡張機能であり、ウィンドウのデバイス コンテキストをクリップする方法と方法をより詳細に制御できます。

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

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

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

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

CWnd::GetDCRenderTarget

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

CDCRenderTarget* GetDCRenderTarget();

戻り値

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

解説

CWnd::GetDescendantWindow

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

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

パラメーター

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

bOnlyPerm
返されるウィンドウを一時的に使用できるかどうかを指定します。 永続的なウィンドウのみを返すことができる場合TRUEFALSEは、関数は一時ウィンドウを返すことができます。 一時的なウィンドウの詳細については、 テクニカル ノート 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
子ウィンドウへのポインター。

戻り値

指定したコントロールまたは子ウィンドウへのポインター。 パラメーターによって指定された nID 整数 ID を持つコントロールが存在しない場合、値は 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 キャストします。

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

数値以外の文字が発生し、上記の最大値を超えるなどのエラーが発生した場合は、 GetDlgItemInt 0 を指す場所に lpTransコピーします。 エラーがない場合は、 lpTrans 0 以外の値を受け取ります。 の場合lpTransGetDlgItemIntNULLエラーに関する警告は表示されません。

注釈

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

if bSigned is TRUE, GetDlgItemInt checks a minus sign (-) at the text and translates the text to a signed number. それ以外の場合は、符号なし値が作成されます。

コントロールに 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 です。

解説

メンバー関数は GetDlgItemText 、テキストを指す場所に lpStr コピーし、コピーしたバイト数を返します。

CWnd::GetDSCCursor

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

IUnknown* GetDSCCursor();

戻り値

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

解説

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

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

CWnd::GetForegroundWindow

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

static CWnd* PASCAL GetForegroundWindow();

戻り値

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

注釈

フォアグラウンド ウィンドウは、最上位のウィンドウ (フレーム ウィンドウまたはダイアログ ボックス) にのみ適用されます。

CWnd::GetIcon

このメンバー関数を呼び出して、大きな (32 x 32) または小さい (16 x 16) アイコン bBigIconへのハンドルを取得します。

HICON GetIcon(BOOL bBigIcon) const;

パラメーター

bBigIcon
場合は 32 ピクセル x 32 ピクセルアイコンを指定します。場合 TRUEは 16 ピクセル x 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
レイヤー化されたウィンドウの不透明度を表すために使用されるアルファ値を受け取る a BYTE へのポインター。 参照される pbAlpha 変数が 0 の場合、ウィンドウは完全に透明になります。 参照される pbAlpha 変数が 255 の場合、ウィンドウは不透明です。 これは、引数が必要ない場合に使用できます NULL

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

戻り値

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

解説

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

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 SDK で説明されているように、関数GetMenuBarInfoの機能をエミュレートします。

CWnd::GetNextDlgGroupItem

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

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

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

パラメーター

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

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

pCurSiteOrWnd
コントロールを識別します COleControlSiteOrWndCOleControlSiteOrWnd詳細については、「解説」を参照してください。

戻り値

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

返されるポインターは一時的な場合があり、後で使用するために格納しないでください。

解説

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

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

注意

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

コントロールまたはウィンドウの種類 情報の識別
ウィンドウ化されたActiveX コントロール HWNDCOleControlSite オブジェクトを格納し、それに関連付けます。 メンバーCOleControlSiteOrWndm_hWndコントロールのHWNDメンバーに設定されm_pSite、メンバーはコントロールCOleControlSiteを指します。
ウィンドウレス ActiveX コントロール 次の値を含む必要はありません HWND。 のメンバーはm_pSiteコントロールCOleControlSiteを指し、m_hWndメンバーは NULL.COleControlSiteOrWnd
標準ウィンドウ 1 つだけを 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
コントロールを識別します COleControlSiteOrWndCOleControlSiteOrWnd の詳細については、「CWnd::GetNextDlgGroupItem」を参照してください。

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

戻り値

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

返されるポインターは一時的な場合があり、後で使用するために格納しないでください。

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

CWnd::GetNextWindow

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

CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;

パラメーター

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

戻り値

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

返されるポインターは一時的な場合があり、後で使用するために格納しないでください。

注釈

ウィンドウ マネージャーの一覧には、すべての最上位ウィンドウ、関連する子ウィンドウ、および子ウィンドウの子ウィンドウのエントリが含まれます。

最上位のウィンドウの場合 CWnd 、関数は次の (または前の) 最上位レベルのウィンドウを検索します。子ウィンドウの場合 CWnd 、関数は次の (または前の) 子ウィンドウを検索します。

CWnd::GetOleControlSite

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

COleControlSite* GetOleControlSite(UINT idControl) const;

パラメーター

idControl
ActiveX コントロールの ID。

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 返します。 子ウィンドウ内に子ウィンドウ GetParent があり、異なる結果が GetParentOwner 返される場合。

CWnd::GetParentFrame

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

CFrameWnd* GetParentFrame() const;

戻り値

成功した場合のフレーム ウィンドウへのポインター。それ以外の場合 NULL

解説

メンバー関数は、(または派生クラス) オブジェクトが見つかるまで親チェーンを CFrameWnd 検索します。

CWnd::GetParentOwner

子ウィンドウの親ウィンドウまたは所有者ウィンドウへのポインターを取得するには、このメンバー関数を呼び出します。

CWnd* GetParentOwner() const;

戻り値

CWnd オブジェクトを指すポインターです。 オブジェクトが CWnd ハンドルにアタッチされていない場合は、一時 CWnd オブジェクトが作成されてアタッチされます。 ポインターは一時的な場合があり、後で使用するために格納しないでください。

解説

GetParentOwner は、子ウィンドウではない (スタイルを持たない) 最も近い親ウィンドウまたは所有者ウィンドウへのポインターを WS_CHILD 返します。 現在の所有者ウィンドウを設定 SetOwnerできます。 既定では、ウィンドウの親はその所有者です。

これに対し、関数は GetParent 、子ウィンドウであるかどうかに関係なく、直接の親へのポインターを返します。 子ウィンドウ内に子ウィンドウ GetParent があり、異なる結果が GetParentOwner 返される場合。

CWnd::GetProperty

このメンバー関数を呼び出して、指定されたActiveX コントロール プロパティを取得しますdwDispID

void GetProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    void* pvProp)const;

パラメーター

dwDispID
取得するプロパティを識別します。

vtProp
取得するプロパティの型を指定します。 使用可能な値については、「解説」セクション COleDispatchDriver::InvokeHelperを参照してください。

pvProp
プロパティ値を受け取る変数のアドレス。 これは、 vtPropによって指定される型と一致する必要があります。

解説

GetProperty を使用して pvProp値を返します。

注意

この関数は、ActiveX コントロールをCWnd表すオブジェクトでのみ呼び出す必要があります。

ActiveX コントロール コンテナーでこのメンバー関数を使用する方法の詳細については、「コントロール コンテナー: ActiveX コントロール コンテナーでのActiveX コントロールのプログラミング」ActiveX記事を参照してください。

CWnd::GetRenderTarget

このウィンドウに関連付けられているレンダー ターゲットを取得します。

CHwndRenderTarget* GetRenderTarget();

戻り値

レンダー ターゲットまたは NULL.

CWnd::GetSafeHwnd

ポインターNULLm_hWnd.NULLthis

HWND GetSafeHwnd() const;

戻り値

ウィンドウのウィンドウ ハンドルを返します。 NULLウィンドウにCWndアタッチされていない場合、またはポインターと共に使用される場合にNULLCWnd返します。

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

CWnd::GetSafeOwner

ダイアログ ボックスまたはその他のモーダル ウィンドウに使用する必要がある所有者ウィンドウを取得するには、このメンバー関数を呼び出します。

static CWnd* GetSafeOwner(
    CWnd* pParent = NULL,
    HWND* pWndTop = NULL);

パラメーター

pParent
CWnd ウィンドウへのポインター。 NULL でもかまいません。

pWndTop
現在上部にあるウィンドウへのポインター。 NULL でもかまいません。

戻り値

指定されたウィンドウの安全な所有者へのポインター。

注釈

安全な所有者は、.の最初の非子親ウィンドウ pParentです。 ある場合 pParentNULL、スレッドのメイン ウィンドウ (経由で AfxGetMainWnd取得) を使用して所有者を検索します。

Note

フレームワーク自体は、この関数を使用して、所有者が指定されていないダイアログ ボックスとプロパティ シートの適切な所有者ウィンドウを決定します。

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 SDK で説明されているように、関数GetScrollBarInfoの機能をエミュレートします。

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 SDK を参照してください。

nMask
取得するスクロール バーパラメーターを指定します。 既定値は、、、SIF_POSSIF_TRACKPOS、およびSIF_RANGESIF_PAGE組み合わせを指定します。 値の詳細については、以下をnMask参照してくださいSCROLLINFO

戻り値

メッセージが値を取得した場合、戻り値は TRUE. それ以外の場合は、FALSE となります。

注釈

GetScrollInfo では、アプリケーションで 32 ビットのスクロール位置を使用できます。

構造体 SCROLLINFO には、スクロール バーに関する情報が含まれます。これには、スクロールの最小位置と最大位置、ページ サイズ、スクロール ボックスの位置 (親指) が含まれます。 構造体の既定値のSCROLLINFO変更の詳細については、Windows SDK の構造に関するトピックを参照してください。

MFC Windows、スクロール バーの位置を示すメッセージ ハンドラー CWnd::OnHScrollCWnd::OnVScroll は、位置データの 16 ビットのみを提供します。 GetScrollInfoSetScrollInfo 32 ビットのスクロール バー位置データを提供します。 したがって、アプリケーションは、処理中にCWnd::OnHScrollCWnd::OnVScroll呼び出GetScrollInfoすか、または 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

指定されたスクロール バーの現在の最小および最大スクロール バーの位置を、and lpMaxPosで指定されたlpMinPos場所にコピーします。

void GetScrollRange(
    int nBar,
    LPINT lpMinPos,
    LPINT lpMaxPos) const;

パラメーター

nBar
確認するスクロール バーを指定します。 このパラメーターは、次のいずれかの値を受け取ることができます。

  • SB_HORZ 水平スクロール バーの位置を取得します。

  • SB_VERT 垂直スクロール バーの位置を取得します。

lpMinPos
最小位置を受け取る整数変数を指します。

lpMaxPos
最大位置を受け取る整数変数を指します。

解説

スクロール バーがない場合CWnd、メンバー関数は GetScrollRange 0 をコピーしますlpMinPoslpMaxPos

標準スクロール バーの既定の範囲は 0 ~ 100 です。 スクロール バー コントロールの既定の範囲は空です (両方の値は 0 です)。

CWnd::GetStyle

現在のウィンドウ スタイルを返します。

DWORD GetStyle() const;

戻り値

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

CWnd::GetSystemMenu

アプリケーションがコピーおよび変更のためにコントロール メニューにアクセスできるようにします。

CMenu* GetSystemMenu(BOOL bRevert) const;

パラメーター

bRevert
実行するアクションを指定します。 If bRevert is FALSE, GetSystemMenu returns a handle to a copy of the Control menu currently in use. このコピーは、最初は [コントロール] メニューと同じですが、変更できます。 ある場合 bRevertTRUE、[ GetSystemMenu コントロール] メニューを既定の状態にリセットします。 前の変更された可能性があるコントロール メニュー (存在する場合) は破棄されます。 この場合、戻り値は未定義です。

戻り値

[コントロール] メニューのコピーを識別します (存在する場合bRevert)。FALSE あるTRUE場合bRevert、戻り値は未定義です。

返されるポインターは一時的な場合があり、後で使用するために格納しないでください。

注釈

コントロール メニューの独自のコピーを作成するために使用 GetSystemMenu しないウィンドウは、標準のコントロール メニューを受け取ります。

メンバー関数によって GetSystemMenu 返されるポインターは、コントロール メニューを CMenu::AppendMenu変更する 、 CMenu::InsertMenuまたは CMenu::ModifyMenu 関数と共に使用できます。

コントロール メニューには、最初に 、 などSC_CLOSESC_MOVESC_SIZE、さまざまな ID 値で識別される項目が含まれています。 [コントロール] メニューの項目は、メッセージを生成 WM_SYSCOMMAND します。 定義済みのすべてのコントロール メニュー項目には、0xF000より大きい ID 番号があります。 アプリケーションがコントロール メニューに項目を追加する場合は、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 SDK で説明されているように、関数GetTitleBarInfoの機能をエミュレートします。

CWnd::GetTopLevelFrame

このメンバー関数を呼び出して、ウィンドウの最上位フレーム ウィンドウ (存在する場合) を取得します。

CFrameWnd* GetTopLevelFrame() const;

戻り値

ウィンドウの最上位フレーム ウィンドウを識別します。

返されるポインターは一時的な場合があり、後で使用するために格納しないでください。

注釈

ウィンドウがアタッチされていない場合、またはその最上位の親が -derived オブジェクトでないCFrameWnd場合CWnd、この関数は返しますNULL

CWnd::GetTopLevelOwner

このメンバー関数を呼び出して、最上位のウィンドウを取得します。

CWnd* GetTopLevelOwner() const;

戻り値

最上位のウィンドウを識別します。 返されるポインターは一時的な場合があり、後で使用するために格納しないでください。

解説

最上位のウィンドウは、デスクトップの子であるウィンドウです。 添付ウィンドウがない場合 CWnd 、この関数 NULLは .

CWnd::GetTopLevelParent

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

CWnd* GetTopLevelParent() const;

戻り値

ウィンドウの最上位の親ウィンドウを識別します。

返されるポインターは一時的な場合があり、後で使用するために格納しないでください。

解説

GetTopLevelParentは次のようになりますGetTopLevelFrameGetTopLevelOwner。ただし、現在の所有者ウィンドウとして設定された値は無視されます。

CWnd::GetTopWindow

に属 CWndする最上位の子ウィンドウを検索します。

CWnd* GetTopWindow() const;

戻り値

子ウィンドウのリンクされた一覧の最上位の子ウィンドウを CWnd 識別します。 子ウィンドウが存在しない場合、値は NULL.

返されるポインターは一時的な場合があり、後で使用するために格納しないでください。

解説

子がない場合 CWnd 、この関数 NULLは .

CWnd::GetUpdateRect

更新領域を完全に囲む最小の四角形の座標を取得します。

BOOL GetUpdateRect(
    LPRECT lpRect,
    BOOL bErase = FALSE);

パラメーター

lpRect
更新領域を CRect 囲む更新プログラムのクライアント座標を受け取るオブジェクトまたは RECT 構造体 を指します。

このパラメーターを設定してNULL、更新リージョンが .CWnd あるNULL場合lpRect、メンバー関数はGetUpdateRect更新領域が存在する場合は 0 以外を返し、存在しない場合は 0 を返します。 これにより、メッセージが無効な WM_PAINT 領域から発生したかどうかを判断する方法が提供されます。 このパラメーターNULLは、バージョン 3.0 以前Windows設定しないでください。

bErase
更新領域の背景を消去するかどうかを指定します。

戻り値

更新リージョンの状態を指定します。 更新領域が空でない場合、値は 0 以外です。それ以外の場合は 0。

パラメーターが lpRect 設定 NULLされている場合、更新領域が存在する場合は戻り値は 0 以外です。それ以外の場合は 0 です。

注釈

スタイルを使用してCS_OWNDC作成され、マッピング モードが作成されていないMM_TEXT場合CWndGetUpdateRectメンバー関数は四角形を論理座標で指定します。 それ以外の場合は、 GetUpdateRect クライアント座標で四角形を指定します。 更新領域がない場合は、 GetUpdateRect 四角形を空に設定します (すべての座標を 0 に設定します)。

このパラメーターは bErase 、更新リージョンの背景を消去するかどうかを GetUpdateRect 指定します。 更新リージョンがTRUE空でない場合bErase、背景は消去されます。 背景を消去するには、 GetUpdateRect メッセージを送信します WM_ERASEBKGND

メンバー関数によって BeginPaint 取得される更新四角形は、メンバー関数によって取得された四角形と GetUpdateRect 同じです。

メンバー関数は BeginPaint 更新リージョンを自動的に検証するため、空の更新リージョンを取得する GetUpdateRect 呼び出しの直後に BeginPaint 行われるすべての呼び出し。

CWnd::GetUpdateRgn

によって識別されるリージョンに更新リージョンを pRgn取得します。

int GetUpdateRgn(
    CRgn* pRgn,
    BOOL bErase = FALSE);

パラメーター

pRgn
更新リージョンを識別します。

bErase
背景を消去し、子ウィンドウの非クライアント領域を描画するかどうかを指定します。 値が指定されている場合、 FALSE描画は行われません。

戻り値

結果の領域の種類を示す短整数フラグを指定します。 この値は、次のいずれかを受け取ることができます。

  • SIMPLEREGION リージョンに重複する境界線はありません。

  • COMPLEXREGION リージョンに重複する境界線があります。

  • NULLREGION リージョンが空です。

  • ERROR リージョンは作成されませんでした。

注釈

この領域の座標は、左上隅 (クライアント座標) に対する相対座標です。

メンバー関数は BeginPaint 更新リージョンを自動的に検証するため、空の更新リージョンを取得する GetUpdateRgn 呼び出しの直後に BeginPaint 行われるすべての呼び出し。

CWnd::GetWindow

要求されたウィンドウへのポインターを返します。存在 NULL しない場合は返します。

CWnd* GetWindow(UINT nCmd) const;

パラメーター

*nCmd*
返されるウィンドウとの間 CWnd のリレーションシップを指定します。 次のいずれかの値を使用できます。

  • GW_CHILD 最初の子ウィンドウを CWnd 識別します。

  • GW_HWNDFIRST 子ウィンドウの場合 CWnd は、最初の兄弟ウィンドウを返します。 それ以外の場合は、リスト内の最初の最上位ウィンドウが返されます。

  • GW_HWNDLAST 子ウィンドウの場合 CWnd は、最後の兄弟ウィンドウを返します。 それ以外の場合は、リスト内の最後の最上位ウィンドウが返されます。

  • 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必要があります。

解説

コンテキストの原点はクライアント領域ではなく左上隅であるため、ウィンドウ表示コンテキストでは、任意のCWnd場所CWndに描画できます。

既定の属性は、コンテキストを取得するたびに表示コンテキストに割り当てられます。 以前の属性は失われます。

GetWindowDC は、非クライアント領域内の特殊な描画効果に CWnd 使用することを目的としています。 任意のウィンドウの非クライアント領域で描画することはお勧めしません。

GetSystemMetrics Windows関数を使用すると、キャプション バー、メニュー、スクロール バーなど、クライアント以外の領域のさまざまな部分の寸法を取得できます。

描画が完了したら、表示コンテキストを ReleaseDC 解放するためにメンバー関数を呼び出す必要があります。 表示コンテキストを解放しないと、同時に開くことができるデバイス コンテキストの数に制限があるため、アプリケーションによって要求された描画に深刻な影響を与えます。

CWnd::GetWindowInfo

ウィンドウに関する情報を取得します。

BOOL GetWindowInfo(PWINDOWINFO pwi) const;

パラメーター

pwi
WINDOWINFO 構造体へのポインター。

解説

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

CWnd::GetWindowlessChildCount

関連付けられているウィンドウレスの子ウィンドウの数を取得します。

long GetWindowlessChildCount();

戻り値

オブジェクトに関連付けられているウィンドウなしの子ウィンドウの CWnd 数。

CWnd::GetWindowPlacement

ウィンドウの表示状態、通常の位置 (復元された位置)、最小化された位置、および最大表示された位置を取得します。

BOOL GetWindowPlacement(WINDOWPLACEMENT* lpwndpl) const;

パラメーター

lpwndpl
WINDOWPLACEMENT表示状態と位置情報を受け取る構造体をポイントします。

戻り値

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

解説

flagsこの関数によって取得される構造体のWINDOWPLACEMENTメンバーは常に 0 です。 最大化されている場合 CWnd 、メンバー showCmdWINDOWPLACEMENTSW_SHOWMAXIMIZED. ウィンドウが最小化されている場合は 、次の値になります SW_SHOWMINIMIZED。 それ以外の場合です SW_SHOWNORMAL

CWnd::GetWindowRect

オブジェクトの外接する四角形 CWnd の寸法を、指す構造体に lpRectコピーします。

void GetWindowRect(LPRECT lpRect) const;

パラメーター

lpRect
CRect左上と右下隅の画面座標を受け取るオブジェクトまたはRECT構造体を指します。

解説

寸法は、表示画面の左上隅を基準とした画面座標で指定されます。 キャプション、境界線、スクロール バー (存在する場合) の寸法が含まれます。

CWnd::GetWindowRgn

このメンバー関数を呼び出して、ウィンドウのウィンドウ領域を取得します。

int GetWindowRgn(HRGN hRgn)const;

パラメーター

hRgn
ウィンドウ領域へのハンドル。

戻り値

戻り値は、関数が取得する領域の型を指定します。 次のいずれかの値を指定できます。

  • NULLREGION リージョンが空です。

  • SIMPLEREGION 領域は 1 つの四角形です。

  • COMPLEXREGION 領域は複数の四角形です。

  • ERROR エラーが発生しました。リージョンは影響を受けません。

注釈

ウィンドウ領域は、オペレーティング システムが描画を許可するウィンドウ内の領域を決定します。 オペレーティング システムには、ウィンドウ領域の外部にあるウィンドウの一部は表示されません。

ウィンドウのウィンドウ領域の座標は、ウィンドウのクライアント領域ではなく、ウィンドウの左上隅を基準とします。

ウィンドウのウィンドウ領域を設定するには、次を呼び出します CWnd::SetWindowRgn

CWnd::GetWindowText

キャプションタイトル ( CWnd タイトルがある場合) をコピー先の文字列の指すバッファーに lpszStringBuf コピーします rString

int GetWindowText(
    LPTSTR lpszStringBuf,
    int nMaxCount) const;

void GetWindowText(
    CString& rString) const;

パラメーター

lpszStringBuf
ウィンドウのタイトルのコピーされた文字列を受け取るバッファーを指します。

nMaxCount
バッファーにコピーする最大文字数 (終端の null 文字を含む) を指定します。 文字列が指定された nMaxCount文字数より長い場合は、切り捨てられます。

rString
ウィンドウの CString タイトルのコピーされた文字列を受け取るオブジェクト。

戻り値

コピーした文字列の長さを、終端の null 文字を含まない文字数で指定します。 キャプションがない場合 CWnd 、またはキャプションが空の場合は 0 です。

注釈

オブジェクトが CWnd コントロールの場合、メンバー関数はキャプション GetWindowText をコピーするのではなく、コントロール内のテキストをコピーします。

このメンバー関数により、メッセージが WM_GETTEXT オブジェクトに CWnd 送信されます。

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

CWnd::GetWindowTextLength

オブジェクト キャプションタイトルの CWnd 長さを返します。

int GetWindowTextLength() const;

戻り値

テキストの長さを、null 終端文字を含まない文字数で指定します。 そのようなテキストが存在しない場合、値は 0 です。

注釈

コントロールの場合 CWndGetWindowTextLength メンバー関数はキャプションの代わりにコントロール内のテキストの長さを返します。

このメンバー関数により、メッセージが WM_GETTEXTLENGTH オブジェクトに CWnd 送信されます。

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

CWnd::HideCaret

ディスプレイ画面からキャレットを削除して非表示にします。

void HideCaret();

解説

キャレットは表示されなくなりましたが、メンバー関数を使用 ShowCaret して再び表示できます。 キャレットを非表示にしても、現在の図形は破棄されません。

非表示は累積的です。 1 行に 5 回呼び出された場合 HideCaret 、キャレットが ShowCaret 表示される前にメンバー関数を 5 回呼び出す必要があります。

CWnd::HiliteMenuItem

最上位 (メニュー バー) メニュー項目の強調表示または削除を行います。

BOOL HiliteMenuItem(
    CMenu* pMenu,
    UINT nIDHiliteItem,
    UINT nHilite);

パラメーター

pMenu
強調表示する項目を含む最上位のメニューを識別します。

nIDHiliteItem
パラメーターの値に応じて、強調表示するメニュー項目を nHilite 指定します。

nHilite
メニュー項目を強調表示するか、強調表示を削除するかを指定します。 の組み合わせ MF_HILITE でも MF_UNHILITE 、または併用 MF_BYCOMMAND してもかまいません MF_BYPOSITION。 値は、ビットごとの OR 演算子を使用して組み合わせることができます。 これらの値には次の意味があります。

  • MF_BYCOMMANDnIDHiliteItemメニュー項目 ID (既定の解釈) として解釈されます。

  • MF_BYPOSITION メニュー項目の nIDHiliteItem 0 から始まるオフセットとして解釈されます。

  • MF_HILITE アイテムを強調表示します。 この値が指定されていない場合、強調表示は項目から削除されます。

  • MF_UNHILITE アイテムから強調表示を削除します。

戻り値

メニュー項目が強調表示されているかどうかを指定します。 項目が強調表示されている場合は 0 以外。それ以外の場合は 0。

注釈

フラグとMF_UNHILITEフラグはMF_HILITE、このメンバー関数でのみ使用できます。メンバー関数ではCMenu::ModifyMenu使用できません。

CWnd::HtmlHelp

このメンバー関数を呼び出して、HTMLHelp アプリケーションを呼び出します。

virtual void HtmlHelp(
    DWORD_PTR dwData,
    UINT nCmd = 0x000F);

パラメーター

dwData
追加のデータを指定します。 使用される値は、パラメーターの nCmd 値によって異なります。

nCmd
要求されるヘルプの種類を指定します。 使用可能な値の一覧とパラメーターへの影響dwDataについては、Windows SDK の HTML ヘルプ API リファレンスで説明されているパラメーターを参照してくださいuCommand

注釈

詳細については、「 CWinApp::HtmlHelp 」を参照してください。

CWnd::InitDynamicLayout

ウィンドウの動的レイアウトを初期化するために、フレームワークによって呼び出されます。

void InitDynamicLayout();

解説

このメソッドを直接呼び出さないでください。

CWnd::Invalidate

のクライアント領域 CWnd全体を無効にします。

void Invalidate(BOOL bErase = TRUE);

パラメーター

bErase
更新領域内の背景を消去するかどうかを指定します。

注釈

クライアント領域は、次 WM_PAINT のメッセージが発生したときに描画用にマークされます。 またはメンバー関数によってメッセージが発生するWM_PAINT前に、領域をValidateRectValidateRgn検証することもできます。

このパラメーターは bErase 、更新領域の処理時に、更新領域内の背景を消去するかどうかを指定します。 ある場合bEraseTRUEメンバー関数が呼び出されるとBeginPaint背景は消去されます。存在FALSEする場合bErase、背景は変更されません。 TRUE更新リージョンのいずれかの部分の場合bEraseは、指定された部分だけでなく、リージョン全体の背景が消去されます。

Windowsは、WM_PAINT更新リージョンが空ではなく、そのウィンドウのアプリケーション キューに他のメッセージがない場合にメッセージCWndを送信します。

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

CWnd::InvalidateRect

その四角形を更新領域に追加することで、指定された四角形内のクライアント領域を CWnd 無効にします。

void InvalidateRect(
    LPCRECT lpRect,
    BOOL bErase = TRUE);

パラメーター

lpRect
更新領域に CRect 追加する四角形 (クライアント座標) を含むオブジェクトまたは RECT 構造体 を指します。 ある場合 lpRectNULL、クライアント領域全体がリージョンに追加されます。

bErase
更新領域内の背景を消去するかどうかを指定します。

解説

無効になった四角形は、更新領域の他のすべての領域と共に、次 WM_PAINT のメッセージが送信されたときに描画対象としてマークされます。 無効化された領域は、次WM_PAINTの呼び出しが発生したときにリージョンが処理されるまで、またはリージョンが or ValidateRgn メンバー関数によって検証されるまで、更新リージョンにValidateRect蓄積されます。

このパラメーターは bErase 、更新領域の処理時に、更新領域内の背景を消去するかどうかを指定します。 ある場合bEraseTRUEメンバー関数が呼び出されるとBeginPaint背景は消去されます。存在FALSEする場合bErase、背景は変更されません。 TRUE更新リージョンのいずれかの部分の場合bErase、指定された部分だけでなく、リージョン全体の背景が消去されます。

Windowsは、WM_PAINT更新リージョンが空ではなく、そのウィンドウのアプリケーション キューに他のメッセージがない場合にメッセージCWndを送信します。

CWnd::InvalidateRgn

の現在の更新リージョンに追加することで、指定されたリージョン内の CWndクライアント領域を無効にします。

void InvalidateRgn(
    CRgn* pRgn,
    BOOL bErase = TRUE);

パラメーター

pRgn
更新リージョンに CRgn 追加する領域を識別するオブジェクトへのポインター。 リージョンはクライアント座標を持つものと見なされます。 このパラメーターを指定 NULLすると、クライアント領域全体が更新リージョンに追加されます。

bErase
更新領域内の背景を消去するかどうかを指定します。

注釈

無効になったリージョンと更新リージョン内の他のすべての領域は、メッセージが次に送信されるときに描画用に WM_PAINT マークされます。 無効な領域は、メッセージが次に送信されたときにWM_PAINTリージョンが処理されるまで、またはリージョンが or ValidateRgn メンバー関数によって検証されるまで、更新リージョンにValidateRect蓄積されます。

このパラメーターは bErase 、更新領域の処理時に、更新領域内の背景を消去するかどうかを指定します。 ある場合bEraseTRUEメンバー関数が呼び出されるとBeginPaint背景は消去されます。存在FALSEする場合bErase、背景は変更されません。 TRUE更新リージョンのいずれかの部分の場合bEraseは、指定された部分だけでなく、リージョン全体の背景が消去されます。

Windowsは、WM_PAINT更新リージョンが空ではなく、そのウィンドウのアプリケーション キューに他のメッセージがない場合にメッセージCWndを送信します。

指定されたリージョンは、いずれかのリージョン関数によって以前に作成されている必要があります。

CWnd::InvokeHelper

このメンバー関数を呼び出して、指定されたコンテキストで、ActiveX Control メソッドまたは指定されたdwDispIDプロパティを呼び出しますwFlags

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変換し、ActiveX コントロールでメソッドを呼び出IDispatch::Invokeします。 IDispatch::Invoke の呼び出しに失敗すると、この関数は、例外をスローします。 SCODE 返される IDispatch::Invoke (状態コード) が次の場合、この関数はDISP_E_EXCEPTIONオブジェクトをCOleExceptionスローし、それ以外の場合は .COleDispatchException

注意

この関数は、ActiveX コントロールをCWnd表すオブジェクトでのみ呼び出す必要があります。

ActiveX コントロール コンテナーでこのメンバー関数を使用する方法の詳細については、「コントロール コンテナー: ActiveX コントロール コンテナーでのActiveX コントロールのプログラミング」ActiveX記事を参照してください。

CWnd::IsChild

指定された pWnd ウィンドウが子ウィンドウであるか、またはその他の直接の CWnd子孫であるかを示します。

BOOL IsChild(const CWnd* pWnd) const;

パラメーター

pWnd
テストするウィンドウを識別します。

戻り値

関数の結果を指定します。 指定された pWnd ウィンドウが子ウィンドウの場合は 0 以外の値です。それ以外の CWnd場合は 0 です。

解説

子ウィンドウは、オブジェクトが元の CWnd ポップアップ ウィンドウから子ウィンドウに至る親ウィンドウのチェーン内にある場合 CWnd の直接の子孫です。

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 キーを押すと、次のコントロールまたはコントロールのグループが選択され、下方向キーはグループ内の次のコントロールを選択します。

既に処理されているため、処理されたIsDialogMessageメッセージをTranslateMessage関数またはDispatchMessageWindows関数に渡す必要があります。

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タッチ サポートがある場合は。それ以外の場合CWndFALSE

解説

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 スタイル ビットが設定され、親ウィンドウが表示されます)。 戻り値はスタイル ビットの状態を WS_VISIBLE 反映するため、他のウィンドウによって完全に隠されていても、戻り値は 0 以外 CWnd になる可能性があります。

解説

ウィンドウは、スタイル ビットによって示される表示状態を 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 以外を返します。 エラーが発生した場合、または関数が別のウィンドウのロックに LockWindowUpdate 使用されている場合は 0 です。

解説

ロックされたウィンドウは移動できません。 一度にロックできるウィンドウは 1 つだけです。 ロックされているウィンドウのロック LockWindowUpdateを解除するには、呼び出します UnlockWindowUpdate

ロックされたウィンドウ (またはロックされた子ウィンドウ) を持つアプリケーションが 、GetDCExまたはBeginPaintWindows関数を呼び出した場合、呼び出GetDCされた関数は、可視領域が空のデバイス コンテキストを返します。 これは、アプリケーションがメンバー関数を呼び出してウィンドウのロックを UnlockWindowUpdate 解除するまで発生します。

ウィンドウの更新がロックされている間、システムは、ロックされたウィンドウに関連付けられているデバイス コンテキストに対する描画操作の外接する四角形を追跡します。 描画を再び有効にすると、ロックされたウィンドウとその子ウィンドウでこの外接する四角形が無効になり、最終的 WM_PAINT なメッセージが強制的に画面を更新します。 ウィンドウの更新がロックされている間に図面が発生しなかった場合、領域は無効にされません。

メンバー関数は LockWindowUpdate 、指定されたウィンドウを非表示にせず、スタイル ビットを WS_VISIBLE クリアしません。

CWnd::m_hWnd

このCWndウィンドウにアタッチされているWindows ウィンドウのハンドル。

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
変換するポイントのPOINTセットを含む構造体の配列へのポインター。

nCount
指定する配列内の構造体の POINT 数を lpPoint指定します。

CWnd::MessageBox

アプリケーションが指定したメッセージとキャプションを含むウィンドウを作成して表示します。また、[メッセージ ボックスのスタイル] ボックスの一覧で説明されている定義済みのアイコンと押しボタンの組み合わせも表示します。

int MessageBox(
    LPCTSTR lpszText,
    LPCTSTR lpszCaption = NULL,
    UINT nType = MB_OK);

パラメーター

lpszText
表示するメッセージを CString 含むオブジェクトまたは null で終わる文字列を指します。

lpszCaption
メッセージ ボックスのキャプションに CString 使用するオブジェクトまたは null で終わる文字列を指します。 ある場合 lpszCaptionNULL、既定のキャプション "Error" が使用されます。

nType
メッセージ ボックスの内容と動作を指定します。

戻り値

このメソッドは、MessageBoxWindows SDK で定義されている関数を利用します。 このメソッドは、この関数を呼び出した結果を返します。

解説

このメンバー関数の代わりにグローバル関数 AfxMessageBox を使用して、アプリケーションにメッセージ ボックスを実装します。

メッセージ ボックスで使用できるさまざまなシステム アイコンを次に示します。

アイコン マクロ
Stop or X icon. MB_ICONHANDMB_ICONSTOPMB_ICONERROR
Help or question mark icon. MB_ICONQUESTION
Important or exclamation point icon. MB_ICONEXCLAMATIONとMB_ICONWARNING
Information or letter I icon. 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フラグ。呼び出す必要がない場合 SetWindowPos は 0。 既定値は 0 です。 プリセット フラグの一覧については、「解説」セクションを参照してください。

戻り値

スタイルが正常に変更された場合は 0 以外。それ以外の場合は 0。

解説

追加または削除するスタイルは、ビットごとの OR (|) 演算子を使用して組み合わせることができます。 使用可能なウィンドウ スタイルの詳細については、「ウィンドウ スタイル」およびCreateWindow「Windows SDK」のトピックを参照してください。

0 以外の場合nFlagsは、 ModifyStyle Windows API 関数SetWindowPosを呼び出し、次の 4 つのプリセット フラグと組み合わせてnFlagsウィンドウを再描画します。

  • 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フラグ。呼び出す必要がない場合 SetWindowPos は 0。 既定値は 0 です。 プリセット フラグの一覧については、「解説」セクションを参照してください。

戻り値

スタイルが正常に変更された場合は 0 以外。それ以外の場合は 0。

注釈

追加または削除するスタイルは、ビットごとの OR (|) 演算子を使用して組み合わせることができます。 使用可能な拡張スタイルの詳細については、本書およびCreateWindowExWindows SDK の拡張ウィンドウ スタイルに関するトピックを参照してください。

0 以外の場合nFlagsは、 ModifyStyleEx Windows API 関数SetWindowPosを呼び出し、次の 4 つのプリセット フラグと組み合わせてnFlagsウィンドウを再描画します。

  • 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いかなる種類の再描画も行われません。 これは、クライアント領域、クライアント以外の領域 (タイトルとスクロール バーを含む)、および 's の移動の結果として発見された親ウィンドウの任意の CWnd部分に適用されます。 このパラメーターの場合、アプリケーションは FALSE、再描画する必要がある部分と親ウィンドウの CWnd 部分を明示的に無効化または再描画する必要があります。

lpRect
CRect新しいサイズと位置を指定するオブジェクトまたはRECT構造体

注釈

最上位の CWnd オブジェクトの場合、 x パラメーターと y パラメーターは画面の左上隅を基準とします。 子 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 です。

解説

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

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 、ウィンドウが最小化されていることを示します。

CWndアクティブ化されている場合は非アクティブにします。それ以外の場合TRUEは非アクティブ化されます。

注釈

オブジェクトが CWnd マウス クリックでアクティブ化されている場合は、メンバー関数呼び出しも受け取ります OnMouseActivate

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnActivateApp

フレームワークは、アクティブ化されているタスクのすべての最上位ウィンドウと、非アクティブ化されているタスクのすべての最上位ウィンドウに対して、このメンバー関数を呼び出します。

afx_msg void OnActivateApp(
    BOOL bActive,
    DWORD dwThreadID);

パラメーター

bActive
CWnd がアクティブ化または非アクティブ化されているかどうかが示されます。 TRUE は、 CWnd アクティブ化中であることを意味します。 FALSECWndは非アクティブ化されていることを意味します。

dwThreadID
スレッド ID の値を指定します。 if bActive is TRUE, dwThreadID is owns the thread that own the CWnd deactivated. if bActive is FALSE, dwThreadID is the thread that owns CWnd the being activated.

解説

Note

このメンバー関数は、アプリケーションで 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
[in] CWnd ユーザーがコマンド ボタンをクリックしたか、コマンド キーを押したウィンドウを表すオブジェクトへのポインター。 このウィンドウには、メッセージを受信するウィンドウの子ウィンドウを指定できます。

nCmd
[in]アプリケーション コマンドを示します。 使用可能な値の一覧については、次のパラメーターWM_APPCOMMANDcmdセクションにあるコマンドをlParam参照してください。

nDevice
[in]入力イベントを生成した入力デバイス。 使用可能な値の一覧については、次のパラメーターWM_APPCOMMANDuDeviceセクションの下にあるデバイスをlParam参照してください。

nKey
[in]Ctrl キーやマウスの左ボタンなど、ダウンしている仮想キーを示します。 使用可能な値の一覧については、パラメーターのセクションの下dwKeysにあるキーをlParamWM_APPCOMMAND参照してください。 詳細については、「 マウス入力について」の「メッセージ パラメーター」小見出しを参照してください。

注釈

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_APPCOMMAND

注意

このメンバー関数は、アプリケーションで 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
クリップボード ビューアー チェーンから削除されるウィンドウの後に続くウィンドウ ハンドルを指定します。

解説

呼び出しをOnChangeCbChain受け取る各CWndオブジェクトは、Windows関数をSendMessage使用して、クリップボード ビューアー チェーン (返されるSetClipboardViewerハンドル) の次のウィンドウにメッセージを送信WM_CHANGECBCHAINする必要があります。 チェーン内の次のウィンドウの場合 hWndRemove は、指定された hWndAfter ウィンドウが次のウィンドウになり、クリップボードのメッセージが渡されます。

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnChangeUIState

ユーザー インターフェイス (UI) 状態を変更する必要があるときに呼び出されます。

afx_msg void OnChangeUIState(
    UINT nAction,
    UINT nUIElement);

パラメーター

nAction
実行するアクションを指定します。 値は、次のいずれかです。

  • UIS_CLEAR UI 状態要素 (で nUIElement指定) は非表示にする必要があります。

  • UIS_INITIALIZE UI 状態要素 (で nUIElement指定) は、最後の入力イベントに基づいて変更する必要があります。 詳細については、次の 「解説 」セクション WM_CHANGEUISTATEを参照してください。

  • UIS_SET UI 状態要素 (で nUIElement指定) を表示する必要があります。

nUIElement
影響を受ける UI 状態要素またはコントロールのスタイルを指定します。 値は、次のいずれかです。

  • UISF_HIDEACCEL キーボード アクセラレータ。

  • UISF_HIDEFOCUS フォーカス インジケーター。

  • UISF_ACTIVEWindows XP: コントロールは、アクティブなコントロールに使用されるスタイルで描画する必要があります。

解説

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

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 には、押すか離されているキーボード キーの値が含まれています。

押されたキーと生成された呼び出し OnChar の間に必ずしも 1 対 1 の対応があるわけではないため、一般に、情報 nFlags はアプリケーションにとって役に立ちません。 情報は、 nFlags メンバー関数または呼び出しの前にある OnKeyUp メンバー関数の最新の OnKeyDown 呼び出し OnCharにのみ適用されます。

IBM Enhanced 101 キーおよび 102 キー・キーボードの場合、拡張キーはキーボードのメイン・セクションで右 ALT キーと右 Ctrl キーです。テンキーの左側にあるクラスターの INS、DEL、HOME、END、PAGE UP、PAGE DOWN、方向キー。キーと数字キーパッドのスラッシュ (/) キーと Enter キーを使用します。 他の一部のキーボードでは、拡張キー ビット nFlagsをサポートしている場合があります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnCharToItem

スタイルを持つリスト ボックスが、メッセージに LBS_WANTKEYBOARDINPUT 応答して所有者 WM_CHARTOITEM にメッセージを WM_CHAR 送信するときに呼び出されます。

afx_msg int OnCharToItem(
    UINT nChar,
    CListBox* pListBox,
    UINT nIndex);

パラメーター

nChar
ユーザーが押したキーの値を指定します。

pListBox
リスト ボックスへのポインターを指定します。 一時的な場合があります。

nIndex
現在のキャレット位置を指定します。

戻り値

フレームワークは、このメンバー関数を呼び出して、アプリケーションが呼び出しに応答して実行したアクションを指定します。 戻り値 -2 は、アプリケーションが項目の選択のすべての側面を処理し、リスト ボックスによるそれ以上のアクションを必要としなかったことを示します。 戻り値 -1 は、リスト ボックスがキーストロークに応答して既定のアクションを実行する必要があることを示します。 戻り値 0 以上は、リスト ボックス内の項目の 0 から始まるインデックスを指定し、リスト ボックスが指定された項目のキーストロークに対して既定のアクションを実行する必要があることを示します。

解説

Note

このメンバー関数は、アプリケーションで 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 そうでない場合は。

解説

このメソッドは、Windows SDK で説明されている通知メッセージを受け取りますWM_DWMNCRENDERINGCHANGED

注意

このメンバー関数は、アプリケーションで 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

フレームワークは、30 秒から 60 秒の間隔でシステム時間の 12.5% を超える時間がメモリの圧縮に費やされていることが検出Windows、すべての最上位ウィンドウに対してこのメンバー関数を呼び出します。

afx_msg void OnCompacting(UINT nCpuTime);

パラメーター

nCpuTime
メモリの圧縮と他の操作の実行に費やされた CPU 時間Windows、現在費やされている CPU 時間の比率を指定します。 たとえば、8000h はメモリの圧縮に費やされた CPU 時間の 50% を表します。

注釈

これは、システム メモリが低いことを示します。

オブジェクトがこの呼び出しをCWnd受信すると、アプリケーションの現在のレベルのアクティビティと、Windowsで実行されているアプリケーションの合計数を考慮して、できるだけ多くのメモリを解放する必要があります。 アプリケーションは、Windows関数を呼び出して、実行されているアプリケーションの数を確認できます。

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnCompareItem

フレームワークは、このメンバー関数を呼び出して、子の並べ替えられた所有者描画コンボまたはリスト ボックス内の新しい項目の相対位置を指定します。

afx_msg int OnCompareItem(
    int nIDCtl,
    LPCOMPAREITEMSTRUCT lpCompareItemStruct);

パラメーター

nIDCtl
メッセージを送信したコントロールの WM_COMPAREITEM 識別子。

lpCompareItemStruct
コンボ ボックスまたはリスト ボックス内の 2 つの項目の識別子とアプリケーションによって提供されるデータを含むデータ構造への COMPAREITEMSTRUCT 長いポインターが含まれています。

戻り値

2 つの項目の相対位置を示します。 次のいずれかの値を指定できます。

説明
-1 項目 1 は項目 2 より前に並べ替えられます。
0 項目 1 と項目 2 は同じように並べ替えます。
1 項目 1 は項目 2 の後に並べ替えられます。

解説

コンボ ボックスまたはリスト ボックスがスタイルでCBS_SORTLBS_SORT作成された場合、アプリケーションが新しい項目を追加するたびに、コンボ ボックスまたはリスト ボックスの所有者WM_COMPAREITEMにメッセージが送信Windows。

コンボ ボックスまたはリスト ボックス内の 2 つの項目は、指定された構造lpCompareItemStructCOMPAREITEMSTRUCT改革されます。 OnCompareItem は、他の項目の前に表示する項目を示す値を返す必要があります。 通常、Windowsは、新しい項目の正確な位置が決定されるまで、この呼び出しを複数回行います。

構造体のメンバーが hwndItemCOMPAREITEMSTRUCT a またはCComboBoxオブジェクトにCListBox属している場合は、CompareItem適切なクラスの仮想関数が呼び出されます。 CListBox::CompareItem項目の比較を行うには、派生CListBoxクラスまたはCComboBoxクラスでオーバーライドCComboBox::CompareItemします。

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnCompositionChanged

デスクトップ ウィンドウ マネージャー (DWM) コンポジションが有効または無効になっている場合、フレームワークはすべての最上位ウィンドウに対してこのメンバー関数を呼び出します。

afx_msg void OnCompositionChanged();

注釈

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_DWMCOMPOSITIONCHANGED

Note

このメンバー関数は、アプリケーションで 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

フレームワークは、アプリケーションが、またはCreateExメンバー関数を呼び出してWindows ウィンドウを作成することを要求したときに、このメンバー関数をCreate呼び出します。

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

パラメーター

lpCreateStruct
作成されるオブジェクトに CREATESTRUCT 関する情報を含む構造体を CWnd 指します。

戻り値

OnCreate オブジェクトの CWnd 作成を続行するには、0 を返す必要があります。 アプリケーションが -1 を返した場合、ウィンドウは破棄されます。

解説

オブジェクトは CWnd 、ウィンドウが作成された後、表示される前に、この呼び出しを受け取ります。 OnCreateは、or CreateEx メンバー関数がCreate戻る前に呼び出されます。

派生クラスの必要な初期化を実行するには、このメンバー関数をオーバーライドします。

構造体 CREATESTRUCT には、ウィンドウの作成に使用されるパラメーターのコピーが含まれています。

Note

このメンバー関数は、アプリケーションで 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 使用してコントロールを描画するための準備をします。

テキストの色を変更するには、目的の SetTextColor 赤、緑、青 (RGB) の値を使用してメンバー関数を呼び出します。

1 行の編集コントロールの背景色を変更するには、ブラシ ハンドルをメッセージ コードとCTLCOLOR_MSGBOXメッセージ コードの両方CTLCOLOR_EDITに設定し、コードに応答して関数をCTLCOLOR_EDIT呼び出CDC::SetBkColorします。

OnCtlColor ドロップダウン リスト ボックスは実際にはコンボ ボックスの子であり、ウィンドウの子ではないので、ドロップダウン コンボ ボックスのリスト ボックスに対しては呼び出されません。 ドロップダウン リスト ボックスの色を変更するには、パラメーター内でそのチェックCTLCOLOR_LISTBOXOnCtlColorオーバーライドする a をnCtlColor作成CComboBoxします。 このハンドラーでは、メンバー関数を SetBkColor 使用してテキストの背景色を設定する必要があります。

Note

このメンバー関数は、アプリケーションで 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

フレームワークは、メンバー関数とメンバー関数が OnKeyUp 呼び出されたときに、このメンバー関数を OnKeyDown 呼び出します。

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-O 文字は、デッド キー、ウムラウト、O キーで構成されます。

アプリケーションは通常、押された各キーに関するフィードバックをユーザーに提供するために使用 OnDeadChar します。 たとえば、アプリケーションでは、キャレットを動かさずに、現在の文字位置にアクセントを表示できます。

押されたキーと呼び出し OnDeadChar の間に必ずしも 1 対 1 の対応が存在するとは限らないため、 nFlags 情報は一般にアプリケーションには役に立ちません。 この情報は、nFlagsメンバー関数または呼び出しの前OnDeadCharにあるOnKeyUpメンバー関数の最新のOnKeyDown呼び出しにのみ適用されます。

IBM Enhanced 101 および 102 キーキーボードの場合、拡張キーはキーボードのメインセクションで右 Alt キーと右 Ctrl キーです。テンキーの左側にあるクラスター内の INS、DEL、HOME、END、PAGE UP、PAGE DOWN、および方向キー。テンキーのスラッシュ (/) キーと ENTER キーを使用します。 他のキーボードでは、拡張キー ビット nFlagsをサポートしている場合があります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnDeleteItem

フレームワークは、このメンバー関数を呼び出して、リスト ボックスまたはコンボ ボックスが破棄されたこと、または項目が削除CListBox::DeleteStringCComboBox::ResetContentCListBox::ResetContentされたことをCComboBox::DeleteString所有者が描画リスト ボックスまたはコンボ ボックスに通知します。

afx_msg void OnDeleteItem(
    int nIDCtl,
    LPDELETEITEMSTRUCT lpDeleteItemStruct);

パラメーター

nIDCtl
メッセージを送信したコントロールの WM_DELETEITEM 識別子。

lpDeleteItemStruct
削除されたリスト ボックス項目に関する情報を DELETEITEMSTRUCT 含むデータ構造への長いポインターを指定します。

解説

構造体のメンバーがhwndItemDELETEITEMSTRUCTコンボ ボックスまたはリスト ボックスに属している場合は、DeleteItem適切なクラスの仮想関数が呼び出されます。 項目固有のデータを DeleteItem 削除するには、適切なコントロールのクラスのメンバー関数をオーバーライドします。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnDestroy

フレームワークは、このメンバー関数を呼び出して、 CWnd 破棄されていることをオブジェクトに通知します。

afx_msg void OnDestroy();

注釈

OnDestroy は、オブジェクトが CWnd 画面から削除された後に呼び出されます。

OnDestroy は、最初に破棄されるために CWnd 呼び出され、次に破棄された子ウィンドウ CWnd に対して呼び出されます。 実行中にすべての子ウィンドウがまだ存在 OnDestroy すると見なすことができます。

CWnd破棄されるオブジェクトがクリップボード ビューアー チェーンの一部である場合 (メンバー関数を呼び出SetClipboardViewerすことによって設定されます)CWnd、関数から戻る前にメンバー関数を呼び出ChangeClipboardChainして、クリップボード ビューアー チェーンから自身を削除するOnDestroy必要があります。

CWnd::OnDestroyClipboard

フレームワークは、クリップボードがWindows関数の呼び出しによって空になったときに、クリップボードの所有者に対してこのメンバー関数をEmptyClipboard呼び出します。

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 アプリケーションは、デバイス モード設定を再初期化できます。 WindowsExtDeviceMode関数を使用してデバイス設定を保存および復元するアプリケーションでは、通常、この関数は処理されません。

ユーザーが既定のプリンターをコントロール パネルから変更しても、この関数は呼び出されません。 この場合、関数が OnWinIniChange 呼び出されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnDrawClipboard

クリップボードの内容が変更されると、フレームワークはクリップボード ビューアー チェーン内の各ウィンドウに対してこのメンバー関数を呼び出します。

afx_msg void OnDrawClipboard();

注釈

メンバー関数を呼び出してクリップボードビューアー チェーンに参加したアプリケーションのみが、 SetClipboardViewer この呼び出しに応答する必要があります。

呼び出しをOnDrawClipboard受け取る各ウィンドウは、クリップボード ビューアー チェーンのSendMessage次のウィンドウにメッセージを渡すWindows関数を呼び出すWM_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
[out]実装で TRUE 選択されているビットマップのアルファ チャネルを初期化する場合に dc設定します。

注釈

サムネイルとピークをカスタマイズするために、派生クラスでこのメソッドをオーバーライドし、指定したデバイス コンテキストに描画します。 の場合bThumbnailszRequiredThumbnailSizeTRUE無視できます。 この場合は、フルサイズのビットマップ (つまり、クライアント領域全体をカバーするビットマップ) を描画していることに注意する必要があります。 デバイス コンテキスト (dc) には、選択した 32 ビットビットマップが付属しています。 既定の実装では、およびフラグを使用PRF_CHILDRENPRF_CLIENTしてこのウィンドウにPRF_NONCLIENT送信WM_PRINTされます。

CWnd::OnDrawItem

フレームワークは、コントロールまたはメニューの視覚的な側面が変更されたときに、所有者描画ボタン コントロール、コンボ ボックス コントロール、リスト ボックス コントロール、またはメニューの所有者に対してこのメンバー関数を呼び出します。

afx_msg void OnDrawItem(
    int nIDCtl,
    LPDRAWITEMSTRUCT lpDrawItemStruct);

パラメーター

nIDCtl
メッセージを送信したコントロールの識別子を WM_DRAWITEM 格納します。 メニューがメッセージを送信した場合は、 nIDCtl 0 を含みます。

lpDrawItemStruct
描画する項目と必要な DRAWITEMSTRUCT 描画の種類に関する情報を含むデータ構造への長いポインターを指定します。

解説

構造体のDRAWITEMSTRUCTメンバーはitemAction、実行する描画操作を定義します。 このメンバーのデータを使用すると、コントロールの所有者は描画アクションが必要かを判断できます。

このメッセージの処理から戻る前に、アプリケーションでは、構造体のメンバーによって hDC 識別されるデバイス コンテキストが既定の DRAWITEMSTRUCT 状態に復元されていることを確認する必要があります。

メンバーが hwndItem 、、CMenuCListBoxまたは CComboBox オブジェクトにCButton属している場合は、DrawItem適切なクラスの仮想関数が呼び出されます。 DrawItem適切なコントロールのクラスのメンバー関数をオーバーライドして、項目を描画します。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnDropFiles

フレームワークは、ユーザーがドロップされたファイルの受信者として自身を登録しているウィンドウの上にマウスの左ボタンを離すと、このメンバー関数を呼び出します。

afx_msg void OnDropFiles(HDROP hDropInfo);

パラメーター

hDropInfo
ドロップされたファイルを記述する内部データ構造へのポインター。 このハンドルは、削除されたファイルに関する情報をDragFinish取得するために 、DragQueryFileおよびDragQueryPointWindows関数によって使用されます。

解説

通常、派生クラスはドロップされたファイルをサポートするように設計され、ウィンドウの構築中にそれ自体が登録されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnEnable

フレームワークは、アプリケーションがオブジェクトの有効な状態を変更するときに、このメンバー関数を CWnd 呼び出します。

afx_msg void OnEnable(BOOL bEnable);

パラメーター

bEnable
オブジェクトが CWnd 有効か無効かを指定します。 このパラメーターは、TRUE有効になっている場合CWndです。無効になっているCWnd場合ですFALSE

解説

OnEnable は、メンバー関数が EnableWindow 戻る前に呼び出されますが、ウィンドウが有効な状態 (WS_DISABLED スタイル ビット) が変更された後に呼び出されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnEndSession

フレームワークは、オブジェクトがメンバー関数呼び出しから 0 以外の CWnd 値を返した後に、このメンバー関数を OnQueryEndSession 呼び出します。

afx_msg void OnEndSession(BOOL bEnding);

パラメーター

bEnding
セッションを終了するかどうかを指定します。 セッションが TRUE 終了している場合です。それ以外の場合 FALSEは .

解説

この呼び出しは OnEndSession 、セッションが CWnd 実際に終了しているかどうかをオブジェクトに通知します。

その場合bEndingTRUEすべてのアプリケーションがこの呼び出しの処理から戻った後、Windowsはいつでも終了できます。 その結果、アプリケーションで終了に必要なすべてのタスクを実行させます OnEndSession

セッションの終了時にメンバー関数またはPostQuitMessageWindows関数を呼び出すDestroyWindow必要はありません。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnEnterIdle

フレームワークは、モーダル ダイアログ ボックスまたはメニューがアイドル状態に入っていることをアプリケーションのメイン ウィンドウ プロシージャに通知するために、このメンバー関数を呼び出します。

afx_msg void OnEnterIdle(
    UINT nWhy,
    CWnd* pWho);

パラメーター

nWhy
メッセージがダイアログ ボックスの結果か、表示されているメニューかを指定します。 このパラメーターには、次のいずれかの値を指定できます。

  • MSGF_DIALOGBOX ダイアログ ボックスが表示されているため、システムはアイドル状態です。

  • MSGF_MENU メニューが表示されているため、システムはアイドル状態です。

pWho
ダイアログ ボックス (ある場合nWhyMSGF_DIALOGBOX) へのポインター、または表示されるメニューを含むウィンドウ (ある場合nWhyMSGF_MENU) を指定します。 このポインターは一時的な場合があり、後で使用するために格納しないでください。

解説

モーダル ダイアログ ボックスまたはメニューは、1 つ以上の前のメッセージを処理した後、キューで待機しているメッセージがない場合にアイドル状態になります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnEnterMenuLoop

フレームワークは、メニューモーダルループが入力されたときにこのメンバー関数を呼び出します。

afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);

パラメーター

bIsTrackPopupMenu
関連するメニューがポップアップ メニューであるかどうかを指定します。 関数が成功した場合は 0 以外の値を持ちます。それ以外の場合は 0。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnEnterSizeMove

フレームワークは、影響を受けるウィンドウが移動またはサイズ変更モーダル ループに入った後、1 回このメンバー関数を呼び出します。

afx_msg void OnEnterSizeMove();

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_ENTERSIZEMOVE

ユーザーがウィンドウのタイトル バーまたはサイズ設定の境界線をクリックしたとき、またはウィンドウが関数にメッセージを渡 WM_SYSCOMMAND し、そのメッセージ CWnd::DefWindowProcwParam パラメーターが指定 SC_MOVE または SC_SIZE指定すると、ウィンドウは移動またはサイズ変更モーダル ループに入ります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnEraseBkgnd

フレームワークは、オブジェクトの背景で消去が CWnd 必要な場合 (サイズ変更時など) に、このメンバー関数を呼び出します。

afx_msg BOOL OnEraseBkgnd(CDC* pDC);

パラメーター

pDC
デバイス コンテキスト オブジェクトを指定します。

戻り値

背景を消去する場合は 0 以外。それ以外の場合は 0。

注釈

これは、塗りつぶしのために無効化された領域を準備するために呼び出されます。

既定の実装では、ウィンドウ クラス構造体のメンバーによって指定されたウィンドウ クラスの背景ブラシを hbrBackground 使用して、背景が消去されます。

メンバーが存在する hbrBackground 場合は NULL、オーバーライドされたバージョンの OnEraseBkgnd 背景色を消去する必要があります。 また、バージョンでは、最初にブラシを呼び出UnrealizeObjectしてからブラシをCWnd選択することで、目的のブラシの原点を座標に合わせる必要があります。

オーバーライドされた OnEraseBkgnd 場合は、メッセージを処理してバックグラウンドを消去した場合に応答して WM_ERASEBKGND 0 以外の値を返す必要があります。これは、それ以上消去する必要がないことを示します。 0 が返された場合、ウィンドウは消去する必要があるとしてマークされたままになります。 (通常、これは構造体のfErasePAINTSTRUCTメンバーが .) であることをTRUE意味します。

Windowsは、バックグラウンドがマッピング モードでMM_TEXT計算されていることを前提としています。 デバイス コンテキストが他のマッピング モードを使用している場合、消去された領域がクライアント領域の可視部分内にない可能性があります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnExitMenuLoop

フレームワークは、メニュー モーダル ループが終了したときにこのメンバー関数を呼び出します。

afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);

パラメーター

bIsTrackPopupMenu
関連するメニューがポップアップ メニューかどうかを指定します。 関数が成功した場合は 0 以外の値を持ちます。それ以外の場合は 0。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnExitSizeMove

フレームワークは、影響を受けるウィンドウが移動またはサイズ変更モーダル ループを終了した後、このメンバー関数を 1 回呼び出します。

afx_msg void OnExitSizeMove();

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_EXITSIZEMOVE

ウィンドウは、ユーザーがウィンドウのタイトル バーまたはサイズ変更境界線をクリックしたとき、またはウィンドウが関数wParamにメッセージを渡WM_SYSCOMMANDし、そのメッセージのパラメーターが指定またはSC_SIZE指定SC_MOVEした場合にCWnd::DefWindowProc、移動またはサイズ変更モーダル ループに入ります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnFontChange

システム内のすべての最上位ウィンドウは、アプリケーションがフォント リソースのプールを変更した後、フレームワークから呼び出しを受け取ります OnFontChange

afx_msg void OnFontChange();

注釈

システムのフォントを追加または削除するアプリケーション (関数やRemoveFontResourceWindows関数など) は、AddFontResourceすべての最上位ウィンドウにメッセージを送信WM_FONTCHANGEする必要があります。

このメッセージを送信するには、パラメーターを SendMessage 'に設定して Windows 関数をhWndHWND_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処理します。 オーバーライド OnGetDlgCodeすることで、コントロールは CWnd 、それ自体を処理する特定の種類の入力を選択できます。

定義済みのコントロール クラスの既定 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_FINDERID_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_HELP メニューに関連付けられているウィンドウに送信されます。それ以外の場合は、 WM_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
[入力]メッセージを生成したホット キーの識別子。 メッセージがシステム定義のホット キーによって生成された場合、このパラメーターは次のいずれかの値になります。

  • IDHOT_SNAPDESKTOP - スナップ デスクトップ のホット キーが押されました。
  • IDHOT_SNAPWINDOW - スナップ ウィンドウのホット キーが押されました。

nKey1
[入力]パラメーターで nKey2 指定されたキーと組み合わせて押されたキーを示すフラグのビットごとの組み合わせ (OR)。 次の値を指定できます。

  • MOD_ALT - Alt キーを押したままにしました。
  • MOD_CONTROL - Ctrl キーを押したままにしました。
  • MOD_SHIFT - Shift キーを押したままにしました。
  • MOD_WIN - いずれかの WINDOWS キーが押し下げられました。 これらのキーには、Microsoft Windows ロゴが付いています。

nKey2
[入力] ホットキーの仮想キーコード。

注釈

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_HOTKEY。 このメッセージは、ホット キーを登録したスレッドに関連付けられているメッセージ キューの先頭に配置されます。 この関数を 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_THUMBTRACK。それ以外の場合はSB_THUMBPOSITION使用されません。 最初のスクロール範囲によっては負の値になる場合があり、 nPos 必要に応じて an int にキャストする必要があります。

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

クリップボード の所有者の OnHScrollClipboard メンバー関数は、クリップボード のデータ CF_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 は、メニューが最初にアクセスされたとき (たとえば、ユーザーがメニュー バーの項目をクリックしたとき) にのみ呼び出されます。 このメソッドは、メニュー項目に関する情報を提供しません。 ユーザーがメニュー内の項目に移動すると (たとえば、複数のメニュー項目にマウスを移動するなどして)、関数は再び呼び出されません。 ユーザーがメニューを終了し (アプリケーション クライアント領域をクリックするなど)、後でメニュー バーの項目をクリックすると、関数が再度呼び出されます。

注意

このメンバー関数は、アプリケーションで 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 - デバイスがシステムから削除されました。

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_INPUT_DEVICE_CHANGE。 これは汎用入力デバイス メッセージです。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnInputLangChange

フレームワークは、アプリケーションの入力言語が変更された後、影響を受ける最上位のウィンドウに対してこのメンバーを呼び出します。

afx_msg void OnInputLangChange(
    UINT nCharSet,
    UINT nLocaleId);

パラメーター

nCharSet
[in]新しいロケールの文字セット。 詳細については、構造体のパラメーターをlfCharSetLOGFONT参照してください。

nLocaleId
[in]入力ロケール識別子。 詳細については、「 言語識別子の定数と文字列」を参照してください。

解説

このメソッドは、Windows SDK で説明されている通知メッセージを受け取りますWM_INPUTLANGCHANGE

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnInputLangChangeRequest

フレームワークは、ユーザーが新しい入力言語を選択したときに、フォーカスのあるウィンドウに対してこのメンバーを呼び出します。

afx_msg void OnInputLangChangeRequest(
    UINT nFlags,
    UINT nLocaleId);

パラメーター

nFlags
[in]インストールされているロケールの一覧で前または次のロケールから新しいロケールが選択されたことを示すフラグのビットごとの (OR) 組み合わせ。または、システム文字セットで新しい入力ロケールのキーボード レイアウトを使用できます。 指定できる値は INPUTLANGCHANGE_BACKWARDINPUTLANGCHANGE_FORWARD、および INPUTLANGCHANGE_SYSCHARSET.

nLocaleId
[in]入力ロケール識別子。 詳細については、「 言語識別子の定数と文字列」を参照してください。

解説

このメソッドは、Windows SDK で説明されている通知メッセージを受け取りますWM_INPUTLANGCHANGEREQUEST。 このメッセージは、ユーザーがキーボード コントロール パネル アプリケーションで指定されたホットキーまたはシステム タスク バーのインジケーターで新しい入力言語を選択したときに投稿されます。

注意

このメンバー関数は、アプリケーションで 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 に押されるキーボード キーです。

自動繰り返しのため、メンバー関数呼び出しが行われる前に複数 OnKeyDownOnKeyUp 呼び出しが発生する可能性があります。 前のキー状態を示すビットを使用して、呼び出しが最初の 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 で拡張キー ビットをサポートしている場合があります。

Note

このメンバー関数は、アプリケーションで 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 Class ウィンドウの既定値です。 Windows、ユーザーがマウスの左ボタンを押し、離してから、システムのダブルクリック制限内でもう一度押すと呼び出OnLButtonDblClkされます。 マウスの左ボタンをダブルクリックすると、実際には、ボタンが離されると、メッセージ、呼び出し、別WM_LBUTTONUPのメッセージの WM_LBUTTONDBLCLK 4 つのイベントWM_LBUTTONDOWNWM_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 Class ウィンドウの既定値です。 Windowsは、ユーザーがシステムのダブルクリック時間制限内でマウスの中央ボタンをもう一度押し、離してから押したときに呼び出しを生成OnMButtonDblClkします。 マウスの中央ボタンをダブルクリックすると、実際には 4 つのイベント WM_MBUTTONDOWNWM_MBUTTONUP (メッセージ、呼び出し、および別WM_MBUTTONUPのメッセージ) がWM_MBUTTONDBLCLK生成されます。

注意

このメンバー関数は、アプリケーションで 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 座標を指定します。 これらの座標は、常にウィンドウの左上隅を基準にしています。

注釈

Note

このメンバー関数は、アプリケーションで 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 フレーム ウィンドウとは別にアクティブ化されます。 フレームがアクティブになると、呼び出しで OnMDIActivate 最後にアクティブ化された子ウィンドウは、アクティブなウィンドウ フレームとキャプション バーを描画するメッセージを受信 WM_NCACTIVATE しますが、別 OnMDIActivate の呼び出しは受信しません。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMeasureItem

フレームワークは、コントロールの作成時に、所有者描画ボタン、コンボ ボックス、リスト ボックス、またはメニュー項目の所有者に対して、フレームワークによってこのメンバー関数を呼び出します。

afx_msg void OnMeasureItem(
    int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);

パラメーター

nIDCtl
コントロールの ID。

lpMeasureItemStruct
MEASUREITEMSTRUCT所有者描画コントロールのディメンションを含むデータ構造を指します。

解説

このメンバー関数をオーバーライドし、指すデータ構造を入力MEASUREITEMSTRUCTしてlpMeasureItemStruct返します。これにより、コントロールのディメンションがWindowsに通知され、Windowsがコントロールとのユーザー操作を正しく処理できるようになります。

リスト ボックスまたはコンボ ボックスが or スタイルでLBS_OWNERDRAWVARIABLECBS_OWNERDRAWVARIABLE作成された場合、フレームワークはコントロール内の各項目の所有者に対してこの関数を呼び出します。それ以外の場合、この関数は 1 回呼び出されます。

Windowsは、メッセージを送信する前にOnMeasureItem、スタイルでOWNERDRAWFIXED作成されたコンボ ボックスとリスト ボックスの所有者の呼び出しをWM_INITDIALOG開始します。 その結果、所有者がこの呼び出しを受け取った場合、Windowsはコントロールで使用されるフォントの高さと幅をまだ決定していません。これらの値を必要とする関数呼び出しと計算は、アプリケーションまたはライブラリのメイン関数で行う必要があります。

測定対象の項目がオブジェクトである場合はCMenu、適切なクラスのMeasureItem仮想関数が呼び出されます。CComboBoxCListBox 各項目のサイズを MeasureItem 計算して設定するには、適切なコントロールのクラスのメンバー関数をオーバーライドします。

OnMeasureItemは、実行時にコントロールのクラスが作成されるか、またはCBS_OWNERDRAWVARIABLEスタイルでLBS_OWNERDRAWVARIABLE作成された場合にのみ呼び出されます。 ダイアログ エディターによってコントロールが作成された場合は、 OnMeasureItem 呼び出されません。 これは、メッセージがコントロールの WM_MEASUREITEM 作成プロセスの早い段階で送信されるためです。 または、SubclassDlgItemSubclassWindow使用DDX_Controlしてサブクラス化する場合、サブクラス化は通常、作成プロセスの後に行われます。 したがって、MFC が実装ON_WM_MEASUREITEM_REFLECTするために使用するWM_MEASUREITEMメカニズムであるコントロールのOnChildNotify関数でメッセージを処理する方法はありません。

Note

このメンバー関数は、アプリケーションで 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 を指定します。

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMenuDrag

フレームワークは、ユーザーがメニュー項目のドラッグを開始すると、現在のドラッグ アンド ドロップ メニューのこのメンバー関数を呼び出します。

afx_msg UINT OnMenuDrag(
    UINT nPos,
    CMenu* pMenu);

パラメーター

nPos
[入力]ドラッグ操作の開始時のメニュー項目のインデックス位置。

pMenu
[入力]メニュー項目を CMenu 含むオブジェクトへのポインター。

戻り値

戻り値 説明
MND_CONTINUE メニューはアクティブなままである必要があります。 マウスが離された場合は、無視する必要があります。
MND_ENDMENU メニューは終了する必要があります。

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_MENUDRAG

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMenuGetObject

マウス カーソルがメニュー項目に入るか、項目の中央から項目の上部または下部に移動すると、フレームワークは現在のドラッグ アンド ドロップ メニューのこのメンバー関数を呼び出します。

afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO* pMenuGetObjectInfo);

パラメーター

pMenu
[in]マウス カーソルが配置されているドラッグ アンド ドロップ メニューに関する情報を含む構造体への MENUGETOBJECTINFO ポインター。

戻り値

戻り値 説明
MNGO_NOERROR ドロップ アンド ドラッグ操作をサポートするインターフェイス ポインターが構造体のMENUGETOBJECTINFOメンバーにpvObj返されます。 現時点では、インターフェイスのみが IDropTarget サポートされています。
MNGO_NOINTERFACE ドロップ アンド ドラッグ インターフェイスはサポートされていません。

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_MENUGETOBJECT

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMenuRButtonUp

ユーザーがメニュー項目にカーソルを置いている間にマウスの右ボタンを離すと、フレームワークはこのメンバー関数を呼び出します。

afx_msg void OnMenuRButtonUp(
    UINT nPos,
    CMenu* pMenu);

パラメーター

nPos
[in]マウスの右ボタンが離されたときのメニュー項目のインデックス位置。

pMenu
[in]メニュー項目を CMenu 含むオブジェクトへのポインター。

注釈

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_MENURBUTTONUP。 この 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
含まれている場合 nFlagsMF_SYSMENU、メッセージに関連付けられているメニューを識別します。 が含まれている場合 nFlagsMF_POPUP、メイン メニューのハンドルを識別します。 どちらも含まれている場合nFlagsMF_SYSMENUMF_POPUP、使用されません。

解説

0xFFFFhSysMenuが含まれており、0 が含まれている場合nFlags、ユーザーが ESC キーを押すか、メニューの外側をクリックしたため、Windowsはメニューを閉じています。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMouseActivate

このフレームワークは、カーソルが非アクティブウィンドウにあり、ユーザーがマウス ボタンを押したときに、このメンバー関数を呼び出します。

afx_msg int OnMouseActivate(
    CWnd* pDesktopWnd,
    UINT nHitTest,
    UINT message);

パラメーター

pDesktopWnd
アクティブ化されるウィンドウのトップレベルの親ウィンドウへのポインターが指定されます。 ポインターは一時的な場合があり、保存しないでください。

nHitTest
ヒット テストエリアコードを指定します。 ヒット テストは、カーソルの位置を判断するテストです。

message
マウスのメッセージ番号が指定されます。

戻り値

マウス イベントをアクティブ化 CWnd するかどうか、およびマウス イベントを破棄するかどうかを指定します。 次のいずれかの値を指定する必要があります。

  • MA_ACTIVATE オブジェクトをアクティブ化 CWnd します。

  • MA_NOACTIVATE オブジェクトをアクティブ化 CWnd しないでください。

  • MA_ACTIVATEANDEAT オブジェクトをアクティブ化 CWnd し、マウス イベントを破棄します。

  • 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
[in]押される修飾子キーを示すフラグのビットごとの組み合わせ (OR)。 たとえば、フラグは MK_CONTROL Ctrl キーが押されていることを示します。

point
[in] CPoint クライアント領域の左上隅を x 基準にしたカーソルの座標と y 座標を指定するオブジェクト。

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_MOUSEHOVER

パラメーターには nFlags 、次の表に示す修飾子キーの組み合わせを指定できます。 詳細については、「 マウス入力について」を参照してください。

修飾子キー 説明
MK_CONTROL Ctrl キーが押されます。
MK_LBUTTON マウスの左ボタンが押された状態です。
MK_MBUTTON マウスの中央ボタンが押された状態です。
MK_RBUTTON マウスの右ボタンが押された状態です。
MK_SHIFT Shift キーが押されます。
MK_XBUTTON1 XBUTTON1 Microsoft IntelliMouse のマウス ボタンが押されます。
MK_XBUTTON2 XBUTTON2 Microsoft IntelliMouse のマウス ボタンが押されます。

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMouseHWheel

フレームワークは、マウスの水平スクロール ホイールが傾いているか回転したときに、このメンバーを呼び出します。

afx_msg void OnMouseHWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

パラメーター

nFlags
[in]押される修飾子キーを示すフラグのビットごとの組み合わせ (OR)。 たとえば、フラグは MK_CONTROL Ctrl キーが押されていることを示します。 フラグの一覧については、「 マウス入力について」の「メッセージ パラメーター」小見出しを参照してください。

zDelta
[in]ホイールが回転する距離を、120 の倍数または分割 WHEEL_DELTAで表します。 正の値は、ホイールが右に回転したことを示します。負の値は、ホイールが左に回転したことを示します。

pt
[in] CPoint クライアント領域の左上隅を x 基準にしたカーソルの座標と y 座標を指定するオブジェクト。

注釈

このメソッドは、Windows SDK で説明されている通知メッセージを受け取りますWM_MOUSEHWHEEL。 このメッセージは、マウスの水平スクロール ホイールが傾いているか回転したときにフォーカスがあるウィンドウに送信されます。

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnMouseLeave

フレームワークは、前の呼び出しで指定されたウィンドウのクライアント領域からカーソルが離れると、このメンバー関数を TrackMouseEvent呼び出します。

afx_msg void OnMouseLeave();

注釈

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_MOUSELEAVE

Note

このメンバー関数は、アプリケーションで 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_MOUSEMOVE メッセージはマウス カーソルの下にある CWnd オブジェクトによって受信されます。それ以外の場合、メッセージはマウスをキャプチャしたウィンドウに移動します。

注意

このメンバー関数は、アプリケーションで 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 、120 の倍数または分割 WHEEL_DELTAで表されます。 0 より小さい値は (ユーザーに向かって) 戻って回転することを示し、0 より大きい値は (ユーザーから離れて) 前方に回転することを示します。 ユーザーは、マウス ソフトウェアでホイールの設定を変更することで、この応答を元に戻すことができます。 このパラメーターの詳細については、「解説」を参照してください。

pt
カーソルの x 座標と y 座標を指定します。 これらの座標は、常に画面の左上隅を基準にしています。

戻り値

マウス ホイールのスクロールが有効な場合は 0 以外。それ以外の場合は 0。

注釈

オーバーライドされない限り、 OnMouseWheel 既定値の WM_MOUSEWHEEL. Windowsは、フォーカスがあるコントロールまたは子ウィンドウにメッセージを自動的にルーティングします。 Win32 関数 DefWindowProc は、メッセージを処理するウィンドウに親チェーンの上に伝達します。

zDeltaこのパラメーターは、120 に設定されている倍数WHEEL_DELTAです。 この値はアクションを実行するためのしきい値であり、デルタごとに 1 つのアクション (1 つのノッチをスクロールするなど) が発生する必要があります。

WHEEL_DELTA 120に設定され、切り欠きのない自由に回転するホイールなどのより細かい解像度の車輪を可能にしました。 より細かい解像度のホイールは、回転ごとにより多くのメッセージを送信しますが、各メッセージのデルタ値は小さくなります。 このようなホイールを使用するには、到達するまでWHEEL_DELTA受信zDelta値を追加するか (特定のデルタ回転に対して同じ応答を得るように)、より頻繁なメッセージに応答して部分的な行をスクロールします。 スクロールの粒度を選択し、到達するまで WHEEL_DELTA デルタを累積することもできます。

独自のマウス ホイールスクロール動作を提供するには、このメンバー関数をオーバーライドします。

注意

OnMouseWheelは、Windows NT 4.0 以降のバージョンのメッセージを処理します。 Windows 95/98 または Windows NT 3.51 メッセージ処理の場合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 含む、または RECT 構造体 のアドレス。

解説

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcActivate

フレームワークは、非クライアント領域を変更してアクティブまたは非アクティブ状態を示す必要がある場合に、このメンバー関数を呼び出します。

afx_msg BOOL OnNcActivate(BOOL bActive);

パラメーター

bActive
キャプション バーまたはアイコンを変更して、アクティブまたは非アクティブな状態を示す必要があるタイミングを指定します。 パラメーターは bActiveTRUE アクティブなキャプションまたはアイコンを描画する場合です。 非アクティブなキャプションまたはアイコン用です FALSE

戻り値

既定Windows処理を続行する必要がある場合は 0 以外。キャプション バーまたはアイコンが非アクティブ化されないようにするには 0。

解説

既定の実装では、タイトル バーとタイトル バーのテキストは、アクティブな色の場合 bActiveTRUE アクティブで、非アクティブな色の場合 bActiveFALSE描画されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcCalcSize

フレームワークは、クライアント領域のサイズと位置を計算する必要がある場合に、このメンバー関数を呼び出します。

afx_msg void OnNcCalcSize(
    BOOL bCalcValidRects,
    NCCALCSIZE_PARAMS* lpncsp);

パラメーター

bCalcValidRects
アプリケーションがクライアント領域のどの部分に有効な情報を含めるかを指定します。 Windowsは、新しいクライアント領域内の指定された領域に有効な情報をコピーします。 このパラメーターが TRUE の場合、アプリケーションはクライアント領域のどの部分が有効であるかを指定する必要があります。

lpncsp
アプリケーションが NCCALCSIZE_PARAMS 四角形の新しいサイズと位置 (クライアント領域、罫線、キャプション、スクロール バーなど) の CWnd 計算に使用できる情報を含むデータ構造を指します。

解説

このメッセージを処理することで、アプリケーションは、ウィンドウのサイズまたは位置が変更されたときに、ウィンドウのクライアント領域の内容を制御できます。

値に関係なく、構造体の bCalcValidRects構造体メンバーによって rgrc 指定された配列内の最初の NCCALCSIZE_PARAMS 四角形には、ウィンドウの座標が含まれます。 子ウィンドウの場合、座標は親ウィンドウのクライアント領域を基準とします。 最上位レベルのウィンドウの場合、座標は画面座標です。 アプリケーションは、クライアント領域の rgrc[0] サイズと位置を反映するように四角形を変更する必要があります。

rgrc[1] 角形と rgrc[2] 四角形は、次の場合 bCalcValidRects にのみ有効です TRUE。 この場合、四角形には、 rgrc[1] 移動またはサイズ変更される前のウィンドウの座標が含まれます。 rgrc[2]四角形には、ウィンドウが移動される前のウィンドウのクライアント領域の座標が含まれています。 すべての座標は、親ウィンドウまたは画面に対して相対的です。

既定の実装では、ウィンドウの特性 (スクロール バーやメニューなどが存在する) に基づいてクライアント領域のサイズが計算され、結果 lpncspが .

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcCreate

フレームワークは、オブジェクトが最初に作成されるときに、メッセージの WM_CREATE 前にこのメンバー関数を CWnd 呼び出します。

afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);

パラメーター

lpCreateStruct
のデータ構造を CREATESTRUCT ポイントします CWnd

戻り値

非クライアント領域が作成される場合は 0 以外。 エラーが発生した場合は 0 です。この場合、 Create 関数は返 failure されます。

注釈

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcDestroy

非クライアント領域が破棄されるときにフレームワークによって呼び出され、Windows ウィンドウが破棄されたときに呼び出される最後のメンバー関数です。

afx_msg void OnNcDestroy();

解説

既定の実装では、クリーンアップが実行され、仮想メンバー関数 PostNcDestroyが呼び出されます。

操作など、独自のクリーンアップを実行する場合はdelete thisオーバーライドPostNcDestroyします。 オーバーライド OnNcDestroyする場合は、基本クラスを呼び出して OnNcDestroy 、ウィンドウに対して内部的に割り当てられたメモリが解放されるようにする必要があります。

CWnd::OnNcHitTest

フレームワークは、マウスが移動されるたびに、カーソルを含むオブジェクト (またはメンバー関数をCWnd使用してマウス入力をSetCaptureキャプチャしたオブジェクト) に対CWndしてこのメンバー関数を呼び出します。

afx_msg LRESULT OnNcHitTest(CPoint point);

パラメーター

point
カーソルの x 座標と y 座標を格納します。 これらの座標は常に画面座標です。

戻り値

マウス ヒット テスト列挙値の 1 つ。 値の一覧を参照してください WM_NCHITTEST

解説

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcLButtonDblClk

フレームワークは、ユーザーがマウスの左ボタンをダブルクリックしたときに、カーソルがの非クライアント領域内 CWndにあるときに、このメンバー関数を呼び出します。

afx_msg void OnNcLButtonDblClk(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒット テスト コードを指定します。 ヒット テストは、カーソルの位置を判断するテストです。 値の一覧を参照してください WM_NCHITTEST

point
カーソル位置の CPoint x および y 画面座標を含むオブジェクトを指定します。 これらの座標は、常に画面の左上隅を基準にしています。

注釈

必要に応じて、 WM_SYSCOMMAND メッセージが送信されます。

Note

このメンバー関数は、アプリケーションで 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
カーソル位置の CPoint x 画面座標と y 画面座標を含むオブジェクトを指定します。 これらの座標は、常に画面の左上隅を基準にしています。

注釈

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcMButtonUp

ユーザーがマウスの中央ボタンを離したときに、カーソルが非クライアント領域内にあるときに、フレームワークはこのメンバー関数を呼び出します。

afx_msg void OnNcMButtonUp(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒット テスト コードを指定します。 ヒット テストは、カーソルの位置を判断するテストです。

point
カーソル位置の CPoint x 画面座標と y 画面座標を含むオブジェクトを指定します。 これらの座標は、常に画面の左上隅を基準にしています。

解説

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcMouseHover

フレームワークは、前の呼び出しで指定された期間、ウィンドウの非クライアント領域にカーソルが移動したときに、このメンバー関数を TrackMouseEvent呼び出します。

afx_msg void OnNcMouseHover(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
[入力]メッセージの処理WM_NCHITTESTの結果として関数によってCWnd::DefWindowProc返されるヒット テスト値。

point
[入力]画面の CPoint 左上隅を基準としたカーソルの x 座標と y 座標を指定するオブジェクト。

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_NCMOUSEHOVER

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcMouseLeave

フレームワークは、前の呼び出しで指定されたウィンドウの非クライアント領域からカーソルが離れると、このメンバー関数を TrackMouseEvent呼び出します。

afx_msg void OnNcMouseLeave();

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_NCMOUSELEAVE

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcMouseMove

フレームワークは、カーソルが非クライアント領域内で移動されるときに、このメンバー関数を呼び出します。

afx_msg void OnNcMouseMove(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒット テスト コードを指定します。 ヒット テストは、カーソルの位置を判断するテストです。

point
カーソル位置の CPoint x 画面座標と y 画面座標を含むオブジェクトを指定します。 これらの座標は、常に画面の左上隅を基準にしています。

注釈

必要に応じて、 WM_SYSCOMMAND メッセージが送信されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcPaint

フレームワークは、非クライアント領域を描画する必要がある場合に、このメンバー関数を呼び出します。

afx_msg void OnNcPaint();

注釈

既定の実装では、ウィンドウ フレームが描画されます。

アプリケーションは、この呼び出しをオーバーライドし、独自のカスタム ウィンドウ フレームを描画できます。 フレームの形状が変更された場合でも、クリッピング領域は常に四角形になります。

CWnd::OnNcRButtonDblClk

フレームワークは、ユーザーがマウスの右ボタンをダブルクリックしたときに、カーソルが非クライアント領域内 CWndにあるときにこのメンバー関数を呼び出します。

afx_msg void OnNcRButtonDblClk(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒット テスト コードを指定します。 ヒット テストは、カーソルの位置を判断するテストです。

point
カーソル位置の CPoint x 画面座標と y 画面座標を含むオブジェクトを指定します。 これらの座標は、常に画面の左上隅を基準にしています。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcRButtonDown

フレームワークは、カーソルが非クライアント領域内にある間にユーザーがマウスの右ボタンを押すと、このメンバー関数を呼び出します。

afx_msg void OnNcRButtonDown(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒット テスト コードを指定します。 ヒット テストは、カーソルの位置を判断するテストです。

point
カーソル位置の CPoint x 画面座標と y 画面座標を含むオブジェクトを指定します。 これらの座標は、常に画面の左上隅を基準にしています。

注釈

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcRButtonUp

フレームワークは、カーソルが非クライアント領域内にある間にユーザーがマウスの右ボタンを離したときに、このメンバー関数を呼び出します。

afx_msg void OnNcRButtonUp(
    UINT nHitTest,
    CPoint point);

パラメーター

nHitTest
ヒット テスト コードを指定します。 ヒット テストは、カーソルの位置を判断するテストです。

point
カーソル位置の CPoint x 画面座標と y 画面座標を含むオブジェクトを指定します。 これらの座標は、常に画面の左上隅を基準にしています。

注釈

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcRenderingChanged

フレームワークは、クライアント以外の領域のレンダリング ポリシーが変更されたときに、このメンバーを呼び出します。

afx_msg void OnNcRenderingChanged(BOOL bIsRendering);

パラメーター

bIsRendering
[入力] TRUE デスクトップ ウィンドウ マネージャー (DWM) レンダリングがウィンドウの非クライアント領域に対して有効になっている場合。 FALSE レンダリングが無効になっている場合は 。

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_DWMNCRENDERINGCHANGED

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcXButtonDblClk

フレームワークは、ユーザーがダブルクリック XBUTTON1 したとき、または XBUTTON2 カーソルがウィンドウの非クライアント領域にあるときに、このメンバー関数を呼び出します。

void OnNcXButtonDblClk(
    short nHitTest,
    UINT nButton,
    CPoint point);

パラメーター

nHitTest
[入力]メッセージの処理WM_NCHITTESTの結果として関数によってCWnd::DefWindowProc返されるヒット テスト値。

nButton
[入力]最初の XBUTTON1 Microsoft Intellimouse X ボタンがダブルクリックされた場合、または XBUTTON2 2 つ目の X ボタンがダブルクリックされた場合の値。

point
[入力] CPoint クライアント領域の左上隅を x 基準としたカーソルの座標と y 座標を指定するオブジェクト。

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_XBUTTONDBLCLK。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcXButtonDown

フレームワークは、カーソルがウィンドウの非クライアント領域にあるときに、ユーザーがマウスを押すか、マウスXBUTTON2を押XBUTTON1すと、このメンバー関数を呼び出します。

afx_msg void OnNcXButtonDown(
    short nHitTest,
    UINT nButton,
    CPoint point);

パラメーター

nHitTest
[入力]メッセージの処理WM_NCHITTESTの結果として関数によってCWnd::DefWindowProc返されるヒット テスト値。

nButton
[入力]最初の XBUTTON1 マウスの X ボタンが押された場合、または XBUTTON2 2 番目の X ボタンが押された場合の値。

point
[入力]画面の CPoint 左上隅を x 基準としたカーソルの座標と y 座標を指定するオブジェクト。

注釈

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_NCXBUTTONDOWN。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNcXButtonUp

フレームワークは、カーソルがウィンドウの非クライアント領域にあるときに、ユーザーがマウスを離すか、マウスXBUTTON2を離XBUTTON1すと、このメンバー関数を呼び出します。

afx_msg void OnNcXButtonUp(
    short nHitTest,
    UINT nButton,
    CPoint point);

パラメーター

nHitTest
[入力]メッセージの処理WM_NCHITTESTの結果として関数によってCWnd::DefWindowProc返されるヒット テスト値。

nButton
[入力]最初の XBUTTON1 マウス X ボタンが離されているか、 XBUTTON2 2 つ目の X ボタンが離された場合の値。

point
[入力]画面の CPoint 左上隅を基準としたカーソルの x 座標と y 座標を指定するオブジェクト。

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_NCXBUTTONUP。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnNextMenu

フレームワークは、メニュー バーとシステム メニューを切り替えるために右方向キーまたは左方向キーを使用すると、このメンバー関数を呼び出します。

afx_msg void OnNextMenu(
    UINT nKey,
    LPMDINEXTMENU lpMdiNextMenu);

パラメーター

nKey
[入力]どの修飾子キーが押されているかを示すフラグのビットごとの組み合わせ (OR)。 たとえば、フラグは MK_CONTROL Ctrl キーが押されたことを示します。 フラグの一覧については、「 マウス入力について」の「メッセージ パラメーター」の小見出しを参照してください。

lpMdiNextMenu
[入力] MDINEXTMENU アクティブ化するメニューに関する情報を含む構造体へのポインター。

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_UNINITMENUPOPUP。 このメッセージに応答して、アプリケーションは、切り替えるメニューを指定する構造体のMDINEXTMENUメンバーとhwndNext、メニュー通知メッセージを受信するウィンドウを指定するメンバーを設定hmenuNextできます。

注意

このメンバー関数は、アプリケーションで 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 (TN061) ON_NOTIFY および WM_NOTIFY メッセージを参照してください。 また、「コントロール トピック」および「TN062」の「Windows コントロールのメッセージ リフレクション」で説明されている関連トピックにも関心があります。

CWnd::OnNotifyFormat

フレームワークは、このメンバー関数を呼び出して、現在のウィンドウが通知メッセージで ANSI 構造体または Unicode 構造体を WM_NOTIFY 受け入れるかどうかを判断します。

afx_msg UINT OnNotifyFormat(
    CWnd* pWnd,
    UINT nCommand);

パラメーター

pWnd
[入力]メッセージを CWnd 送信 WM_NOTIFY するウィンドウを表すオブジェクトへのポインター。 このパラメーターは、パラメーターがコントロールの場合 nCommand は、コントロールへのポインター、 NF_QUERYまたはコントロールの親ウィンドウへのポインター (ある場合 nCommand ) です NF_REQUERY

nCommand
[入力]メッセージを特殊化する WM_NOTIFY コマンド値。 次の値を指定できます。

  • NF_QUERY - メッセージは、ANSI 構造体と Unicode 構造体のどちらをメッセージで WM_NOTIFY 使用するかを判断するクエリです。 このメッセージは、コントロールの作成時、およびこのメッセージの形式に応じて、コントロールから親ウィンドウに NF_REQUERY 送信されます。
  • NF_REQUERY - メッセージは、このメッセージの形式を親ウィンドウに送信 NF_QUERY するコントロールの要求です。 この要求は親ウィンドウから送信され、メッセージで使用する構造体の種類について親を再クエリするようにコントロールに WM_NOTIFY 要求します。 パラメーターNF_REQUERYが指定されているnCommand場合、戻り値は再クエリ操作の結果になります。

戻り値

戻り値 説明
NFR_ANSI ANSI 構造体は、コントロールによって送信されるメッセージで WM_NOTIFY 使用する必要があります。
NFR_UNICODE Unicode 構造体は、コントロールによって送信されるメッセージで WM_NOTIFY 使用する必要があります。
0 エラーが発生しました。

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_NOTIFYFORMATWM_NOTIFY メッセージは、共通コントロールから親ウィンドウ、および親ウィンドウから共通コントロールに送信されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnPaint

フレームワークは、Windowsまたはアプリケーションがアプリケーションのウィンドウの一部を再描画する要求を行うときに、このメンバー関数を呼び出します。

afx_msg void OnPaint();

注釈

メッセージはWM_PAINT、or RedrawWindow メンバー関数がUpdateWindow呼び出されたときに送信されます。

ウィンドウは、フラグが設定されたメンバー関数を呼び出した RedrawWindow 結果として、内部ペイント メッセージを RDW_INTERNALPAINT 受信する場合があります。 この場合、ウィンドウに更新領域がない可能性があります。 アプリケーションは、メンバー関数を GetUpdateRect 呼び出して、ウィンドウに更新領域があるかどうかを判断する必要があります。 0 が返された場合GetUpdateRect、アプリケーションは and EndPaint メンバー関数をBeginPaint呼び出さないでください。

メッセージが無効な領域とフラグが設定されたメンバー関数の呼び出しRedrawWindowの両方によって発生している可能性があるためWM_PAINT、各WM_PAINTメッセージの内部データ構造を調べることで、必要な内部再描画または更新を確認するのはアプリケーションのRDW_INTERNALPAINT責任です。

内部WM_PAINTメッセージは、Windowsによって 1 回だけ送信されます。 メンバー関数によってUpdateWindow内部WM_PAINTメッセージがウィンドウに送信された後、ウィンドウが無効になるまで、またはフラグを設定してメンバー関数が再度RDW_INTERNALPAINT呼び出されるまでRedrawWindow、それ以上WM_PAINTのメッセージは送信またはポストされません。

ドキュメント/ビュー アプリケーションでのイメージのレンダリングの詳細については、次を参照してください CView::OnDraw

使用WM_Paintの詳細については、Windows SDK の次のトピックを参照してください。

CWnd::OnPaintClipboard

クリップボード所有者の OnPaintClipboard メンバー関数は、クリップボード所有者がクリップボードに CF_OWNERDISPLAY 形式でデータを格納したことによりクリップボード ビューアーのクライアント領域を再描画する必要があるときにクリップボード ビューアーによって呼び出されます。

afx_msg void OnPaintClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hPaintStruct);

パラメーター

pClipAppWnd
クリップボード アプリケーション ウィンドウへのポインターを指定します。 ポインターは一時的な場合があり、後で使用するために格納しないでください。

hPaintStruct
PAINTSTRUCT塗りつぶすクライアント領域の部分を定義するデータ構造を識別します。

注釈

クライアント領域全体またはその一部のみを再描画する必要があるかどうかを判断するには、クリップボードの所有者は、構造体のメンバーでrcpaint指定された描画領域の寸法を、最新OnSizeClipboardPAINTSTRUCTメンバー関数呼び出しで指定された寸法と比較する必要があります。

OnPaintClipboardは、Windows関数をGlobalLock使用してデータ構造を含むメモリをPAINTSTRUCTロックし、終了する前にWindows関数でそのGlobalUnlockメモリのロックを解除する必要があります。

Note

このメンバー関数は、アプリケーションで 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_CREATE または WM_DESTROY上位ワードの message 場合は未定義です。それ以外の場合、上位ワードは未定義です。 イベント (下位ワード) messageには、次のいずれかの値を指定できます。

  • WM_CREATE 子ウィンドウが作成されています。

  • WM_DESTROY 子ウィンドウが破棄されています。

  • WM_LBUTTONDOWN ユーザーが子ウィンドウの上にマウス カーソルを置き、マウスの左ボタンをクリックしました。

  • WM_MBUTTONDOWN ユーザーが子ウィンドウの上にマウス カーソルを置き、マウスの中央ボタンをクリックしました。

  • WM_RBUTTONDOWN ユーザーが子ウィンドウの上にマウス カーソルを置き、マウスの右ボタンをクリックしました。

lParam
イベント (下位ワード) が、または子ウィンドウのmessageウィンドウ ハンドルを指定する場合、それ以外の場合lParamはカーソルの x 座標と y 座標が含まれます。 lParamWM_DESTROYWM_CREATE x 座標は下位ワードにあり、y 座標は上位ワードにあります。

注釈

子ウィンドウが作成されると、システムは、ウィンドウを作成するメンバー関数がCreate戻る直前に呼び出OnParentNotifyします。 子ウィンドウが破棄されると、システムはウィンドウを破棄するために処理が行われる前に呼び出 OnParentNotify します。

OnParentNotify は、最上位のウィンドウを含む、子ウィンドウのすべての先祖ウィンドウに対して呼び出されます。

スタイルを持つ子ウィンドウを除くすべての子ウィンドウは、 WS_EX_NOPARENTNOTIFY 親ウィンドウにこのメッセージを送信します。 既定では、メンバー関数を呼び出してこのスタイルなしで子ウィンドウを作成しない限り、ダイアログ ボックス WS_EX_NOPARENTNOTIFY の子ウィンドウにはスタイルがあります CreateEx

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnPowerBroadcast

フレームワークは、電源管理イベントが発生したときにこのメンバー関数を呼び出します。

afx_msg UINT OnPowerBroadcast(
    UINT nPowerEvent,
    UINT nEventData);

パラメーター

nPowerEvent
[in]電源管理イベント。

nEventData
[in]イベント固有のデータ。

戻り値

イベントが要求の場合は、要求を許可するか、要求BROADCAST_QUERY_DENYを拒否するために戻りますTRUE

解説

このメソッドは、Windows SDK で説明されているメッセージを受信WM_POWERBROADCASTします。

このパラメーターは nPowerEvent 、バッテリ電源が低い、電源状態が変更された、中断操作のアクセス許可が要求または拒否された、イベント後に操作が自動的に再開される、システムが操作を中断している、または一時停止後に操作が再開されるなどのイベントを指定します。 通常、 nEventData このパラメーターは使用されません。 詳細については、メッセージの wParam パラメーターと lParam パラメーターを WM_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は、1 つのアプリケーションが 0 を返し、既に 0 以外の値をWM_ENDSESSION返したアプリケーションのFALSEパラメーター値を持つメッセージを送信するとすぐに呼び出しOnQueryEndSessionを停止します。

CWnd::OnQueryNewPalette

フレームワークは、オブジェクトが入力フォーカスを CWnd 受け取るときにこのメンバー関数を呼び出し、フォーカスを CWnd 受け取ったときに論理パレットを実現する機会を与えます。

afx_msg BOOL OnQueryNewPalette();

戻り値

論理パレットを実現する CWnd 場合は 0 以外、それ以外の場合は 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 デバイスからの生入力を含む構造体へのハンドル。

注釈

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_INPUT

注意

このメンバー関数は、アプリケーションで 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 クラス ライブラリ内のウィンドウの既定値です。 Windowsユーザーが押し、離してから、システムのダブルクリック時間制限内でマウスの右ボタンをもう一度押したときに呼び出OnRButtonDblClkします。 マウスの右ボタンをダブルクリックすると、実際には 4 つのイベント WM_RBUTTONDOWNWM_RBUTTONUP が生成されます。ボタンを離すと、メッセージ、 OnRButtonDblClk 呼び出し、もう 1 つのWM_RBUTTONUP メッセージが生成されます。

Note

このメンバー関数は、アプリケーションで 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
ポインターの垂直方向の位置。

戻り値

現時点では重要でない。 常にゼロです。

解説

オーバーライドされない限り、 OnRegisteredMouseWheel メッセージを適切なウィンドウ (フォーカスのある親ウィンドウ) にルーティングし、そのウィンドウのハンドラーを WM_MOUSEWHEEL 呼び出します。

独自のメッセージ ルーティングを提供したり、マウス ホイールのスクロール動作を変更したりするには、このメンバー関数をオーバーライドします。

注意

OnRegisteredMouseWheelは、Windows 95/98 および Windows NT 3.51 のメッセージを処理します。 Windows NT 4.0 メッセージ処理の場合は、次を使用しますOnMouseWheel

CWnd::OnRenderAllFormats

クリップボードの所有者の OnRenderAllFormats メンバー関数は、所有者アプリケーションが破棄されるときにフレームワークによって呼び出されます。

afx_msg void OnRenderAllFormats();

注釈

クリップボードの所有者は、生成できるすべての形式でデータをレンダリングし、Windows関数を呼び出して、各形式のデータ ハンドルをクリップボードにSetClipboardData渡す必要があります。 これにより、データをレンダリングしたアプリケーションが破棄された場合でも、クリップボードに有効なデータが含まれるようにします。 アプリケーションは、Windows関数をOpenClipboard呼び出す前にメンバー関数をSetClipboardData呼び出し、後でWindows関数をCloseClipboard呼び出す必要があります。

CWnd::OnRenderFormat

レンダリングが遅延した特定の OnRenderFormat 形式をレンダリングする必要がある場合は、クリップボード所有者のメンバー関数がフレームワークによって呼び出されます。

afx_msg void OnRenderFormat(UINT nFormat);

パラメーター

nFormat
クリップボードの形式を指定します。

注釈

受信側はその形式でデータをレンダリングし、Windows関数を呼び出してクリップボードにSetClipboardData渡す必要があります。

メンバー関数またはWindows関数をCloseClipboard内部OnRenderFormatから呼び出OpenClipboardさないでください。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSessionChange

フレームワークは、このメンバー関数を呼び出して、セッション状態の変化をアプリケーションに通知します。

afx_msg void OnSessionChange(
    UINT nSessionState,
    UINT nId);

パラメーター

nSessionState
[in]状態コードでは、セッション状態の変更について説明します。

nId
[in]セッション識別子。

注釈

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_WTSSESSION_CHANGE

このパラメーターは nSessionState 、セッションがコンソールまたはリモート・ターミナルに接続または切断されていること、ユーザーがログオンまたはログオフしている、セッションがロックまたはロック解除されている、またはセッションがリモート制御状態に変更されたことを指定します。 詳細については、メッセージのパラメーターをwParamWM_WTSSESSION_CHANGE参照してください。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSetCursor

マウス入力がキャプチャされておらず、マウスがオブジェクト内でカーソルの移動を引き起こす場合、フレームワークはこのメンバー関数を CWnd 呼び出します。

afx_msg BOOL OnSetCursor(
    CWnd* pWnd,
    UINT nHitTest,
    UINT message);

パラメーター

pWnd
カーソルを含むウィンドウへのポインターを指定します。 ポインターは一時的な場合があり、後で使用するために格納しないでください。

nHitTest
ヒット テストの面コードを指定します。 ヒット テストによってカーソルの位置が決定されます。

message
マウスのメッセージ番号が指定されます。

戻り値

それ以上の処理を停止する場合は 0 以外、続行する場合は 0。

注釈

既定の実装では、処理前に親ウィンドウが OnSetCursor 呼び出されます。 親ウィンドウが戻った TRUE場合、それ以降の処理は停止されます。 親ウィンドウを呼び出すと、子ウィンドウのカーソルの設定を親ウィンドウで制御できます。

既定の実装では、カーソルがクライアント領域にない場合は矢印に設定され、存在する場合は登録済みクラス カーソルに設定されます。

messageHTERRORマウス ボタンダウン メッセージの場合nHitTestは、MessageBeepメンバー関数が呼び出されます。

メニュー モードに入るとCWnd、メッセージ パラメーターは 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 SDK を参照してくださいSystemParametersInfo。 アプリケーションがメッセージを送信する場合、このパラメーターは 0 である必要があります。

lpszSection
変更されたセクションの名前を指定する文字列を指します。 (文字列には、セクション名を囲む角かっこは含まれません)。

解説

アプリケーションは、システム パラメーターに変更を加えたときに、すべての最上位ウィンドウにメッセージを送信する必要があります。Windowsは、ユーザーがコントロール パネルを介して設定を変更した場合にメッセージを送信します。

メッセージは ON_WM_SETTINGCHANGE メッセージに似ていますが ON_WM_WININICHANGE 、次の違いがあります。

  • Windows NT 4.0 以降、または 95/98 Windows以下で実行する場合に使用ON_WM_SETTINGCHANGEします。

  • Windows NT 3.51 以前を実行する場合に使用ON_WININICHANGEします。 このメッセージは廃止されました。

これらのマクロは、メッセージ マップに 1 つだけ含める必要があります。 Windows 95/98 と Windows NT 4.0 の両方で動作するプログラムを作成するには、次のハンドラーを記述しますON_WM_SETTINGCHANGE。 Windows NT 3.51 では、ハンドラーが呼び出OnSettingChangeされuFlags、常に 0 になります。

CWnd::OnShowWindow

フレームワークは、オブジェクトが非表示または表示されようとしているときに CWnd 、このメンバー関数を呼び出します。

afx_msg void OnShowWindow(
    BOOL bShow,
    UINT nStatus);

パラメーター

bShow
ウィンドウを表示するかどうかを指定します。 これは、 TRUE ウィンドウが表示されている場合です。ウィンドウ FALSE が非表示になっている場合です。

nStatus
表示されるウィンドウの状態を指定します。 メンバー関数呼び出しのために ShowWindow メッセージが送信される場合は 0 です。それ以外の場合 nStatus は次のいずれかです。

  • SW_PARENTCLOSING 親ウィンドウが閉じている (アイコン化されている) か、ポップアップ ウィンドウが非表示になっています。

  • SW_PARENTOPENING 親ウィンドウが開かれている (表示中) か、ポップアップ ウィンドウが表示されています。

解説

ウィンドウは、メンバー関数が呼び出されたとき ShowWindow 、重複したウィンドウが最大化または復元されたとき、または重なり合ったウィンドウまたはポップアップ ウィンドウが閉じられる (アイコン化された) か、開いている (画面に表示される) ときに非表示または表示されます。 重なったウィンドウを閉じると、そのウィンドウに関連付けられているすべてのポップアップ ウィンドウは非表示になります。

Note

このメンバー関数は、アプリケーションで 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
クライアント領域の新しい高さを指定します。

注釈

子ウィンドウの子ウィンドウにSetScrollPos対して or MoveWindow メンバー関数が呼び出された場合は、bRedrawパラメーターを MoveWindowSetScrollPos 0 以外にするか、または 0 以外にしてCWnd再描画する必要OnSizeがあります。

Note

このメンバー関数は、アプリケーションで 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

クリップボードの所有者の OnSizeClipboard メンバー関数は、クリップボード に属性を持つ CF_OWNERDISPLAY データが含まれており、クリップボード ビューアー ウィンドウのクライアント領域のサイズが変更された場合に、クリップボード ビューアーによって呼び出されます。

afx_msg void OnSizeClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hRect);

パラメーター

pClipAppWnd
クリップボード アプリケーション ウィンドウを識別します。 ポインターは一時的な場合があり、格納しないでください。

hRect
グローバル メモリ オブジェクトを識別します。 メモリ オブジェクトには、 RECT クリップボードの所有者が描画する領域を指定するデータ構造が含まれています。

解説

OnSizeClipboardクリップボード アプリケーションが破棄または最小化されようとしているときに、新しいサイズとして null 四角形 (0,0,0,0) を使用してメンバー関数が呼び出されます。 これにより、クリップボードの所有者は表示リソースを解放できます。

アプリケーション内ではOnSizeClipboard、Windows関数をGlobalLock使用して、データ構造を含むメモリをRECTロックする必要があります。 制御を生成または返す前に、Windows関数でそのGlobalUnlockメモリのロックを解除します。

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSizing

フレームワークは、このメンバー関数を呼び出して、ユーザーが四角形のサイズを変更していることを示します。

afx_msg void OnSizing(
    UINT nSide,
    LPRECT lpRect);

パラメーター

nSide
移動するウィンドウの端。

lpRect
項目の座標を CRect 含む、または RECT 構造体 のアドレス。

注釈

このメッセージを処理することで、アプリケーションはドラッグ四角形のサイズと位置を監視し、必要に応じてサイズまたは位置を変更できます。

Note

このメンバー関数は、アプリケーションで 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
印刷マネージャー キューに残っているジョブの数を指定します。

解説

この呼び出しは情報提供のみを目的としています。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnStyleChanged

フレームワークは、関数がウィンドウのスタイルの SetWindowLong 1 つ以上を変更した後、このメンバー関数を呼び出します。

afx_msg void OnStyleChanged(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

パラメーター

nStyleType
ウィンドウの拡張スタイルと意図しないスタイルのどちらを変更したかを指定します。 このパラメーターは、次の値と組み合わせて指定できます。

  • GWL_EXSTYLE ウィンドウの拡張スタイルが変更されました。

  • GWL_STYLE ウィンドウの意図しないスタイルが変更されました。

lpStyleStruct
ウィンドウの STYLESTRUCT 新しいスタイルを含む構造体を指します。 アプリケーションはスタイルを調べることができますが、スタイルを変更することはできません。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnStyleChanging

フレームワークは、関数がウィンドウのスタイルの SetWindowLong 1 つ以上を変更しようとしているときに、このメンバー関数を呼び出します。

afx_msg void OnStyleChanging(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

パラメーター

nStyleType
ウィンドウの拡張スタイルと意図しないスタイルのどちらを変更したかを指定します。 このパラメーターは、次の値と組み合わせて指定できます。

  • GWL_EXSTYLE ウィンドウの拡張スタイルが変更されました。

  • GWL_STYLE ウィンドウの意図しないスタイルが変更されました。

lpStyleStruct
ウィンドウの STYLESTRUCT 新しいスタイルを含む構造体を指します。 アプリケーションでは、スタイルを調べて変更できます。

注釈

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSysChar

フレームワークは、入力フォーカスがあり、メッセージが変換されている場合CWndに、このメンバー関数をWM_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 です。

注釈

コントロール メニュー キーの仮想キー コードを指定します。 (標準の仮想キー コードの一覧については、Winuser.h を参照してください)

コンテキスト コードが 0 の場合は、WM_SYSCHARメッセージを WM_SYSCHAR Windows 関数にTranslateAccelerator渡すことができます。この関数は、システム文字キーではなく通常のキー メッセージであるかのように処理します。 これにより、アクティブ ウィンドウに入力フォーカスがない場合でも、アクティブ ウィンドウでアクセラレータ キーを使用できます。

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 ホット キーに関連付けられているオブジェクトをアクティブにします。 下位ワード of 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_TASKLISTWindows Task Manager アプリケーションを実行またはアクティブ化します。

  • SC_VSCROLL 垂直方向にスクロールします。

lParam
マウスで Control メニュー コマンドを選択した場合は、 lParam カーソル座標が含まれます。 下位ワードには x 座標が含まれており、高位ワードには y 座標が含まれます。 それ以外の場合、このパラメーターは使用されません。

  • SC_HOTKEY アプリケーション指定のホット キーに関連付けられているウィンドウをアクティブにします。 下位ワードは lParam 、アクティブ化するウィンドウを識別します。

  • SC_SCREENSAVEコントロール パネルの [デスクトップ] セクションで指定した画面保存アプリケーションを実行します。

解説

既定では、 OnSysCommand 前の表で指定した定義済みのアクションに対してコントロール メニュー要求を実行します。

メッセージではWM_SYSCOMMAND、パラメーターの 4 つの下位ビットnIDがWindowsによって内部的に使用されます。 アプリケーションは、値を nIDテストするときに、ビットごとの AND 演算子を使用して0xFFF0値と nID 値を組み合わせて正しい結果を取得する必要があります。

コントロール メニューのメニュー項目は、、InsertMenu、およびメンバー関数を使用してModifyMenuGetSystemMenuAppendMenu変更できます。 [制御] メニューを変更するアプリケーションはメッセージを処理 WM_SYSCOMMAND する必要があり WM_SYSCOMMAND 、アプリケーションで処理されないメッセージは渡す OnSysCommand必要があります。 アプリケーションによって追加されるすべてのコマンド値は、アプリケーションによって処理される必要があり、渡すことができません OnSysCommand

アプリケーションは、メッセージを渡すことによって、いつでも任意のシステム コマンドをWM_SYSCOMMANDOnSysCommand実行できます。

[コントロール] メニューから項目を選択するために定義されているアクセラレータ (ショートカット) キーストロークは、呼び出しに OnSysCommand 変換されます。他のすべてのアクセラレータ キーストロークはメッセージに WM_COMMAND 変換されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSysDeadChar

フレームワークは、オブジェクトが入力フォーカスをCWnd持つ場合、またはOnSysKeyDownメンバー関数が呼び出されたときにこのメンバー関数をOnSysKeyUp呼び出します。

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)。

注釈

デッド キーの文字値を指定します。

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSysKeyDown

オブジェクトに CWnd 入力フォーカスがある場合、 OnSysKeyDown ユーザーが Alt キーを押しながら別のキーを押すと、フレームワークによってメンバー関数が呼び出されます。

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 キーが押されている間に Alt キーがダウンしている場合、コンテキスト コード ビット (ビット 13) は 1 です。入力フォーカスを持つウィンドウがないため、メッセージがアクティブ ウィンドウに送信される場合は 0 になります。

解説

現在、入力フォーカスを持つウィンドウがない場合は、アクティブなウィンドウの OnSysKeyDown メンバー関数が呼び出されます。 メッセージを受け取るオブジェクトは CWnd 、コンテキスト コード nFlagsを確認することで、これら 2 つのコンテキストを区別できます。

コンテキスト コードが 0 の場合、WM_SYSKEYDOWN受信したOnSysKeyDownメッセージを Windows 関数にTranslateAccelerator渡すことができます。この関数は、システム キー メッセージではなく通常のキー メッセージであるかのように処理します。 これにより、アクティブ ウィンドウに入力フォーカスがない場合でも、アクティブ ウィンドウでアクセラレータ キーを使用できます。

自動繰り返しのため、メッセージを受信する前に複数 OnSysKeyDown の呼び出しが発生する WM_SYSKEYUP 可能性があります。 前のキー状態 (ビット 14) を使用して、呼び出しが最初の OnSysKeyDown ダウン遷移または繰り返しダウン遷移を示すかどうかを判断できます。

IBM Enhanced 101 および 102 キーキーボードの場合、拡張キーはキーボードのメインセクションで右 Alt キーと右 Ctrl キーです。テンキーの左側にあるクラスター 内の INSDELHOMEENDPAGE UPPAGE DOWN、および方向キー。テンキーのスラッシュ (/) キーと Enter キーを使用します。 他のキーボードでは、拡張キー ビット nFlagsをサポートしている場合があります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnSysKeyUp

オブジェクトに CWnd フォーカスがある場合は、Alt キーを OnSysKeyUp 押しながら押されたキーをユーザーが離したときに、フレームワークによってメンバー関数が呼び出されます。

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 キーが押されている間に Alt キーがダウンしている場合、コンテキスト コード ビット (ビット 13) は 1 です。入力フォーカスを持つウィンドウがないため、メッセージがアクティブ ウィンドウに送信される場合は 0 になります。

解説

現在、入力フォーカスを持つウィンドウがない場合は、アクティブなウィンドウの OnSysKeyUp メンバー関数が呼び出されます。 呼び出しを受け取るオブジェクトは CWnd 、コンテキスト コード nFlagsを確認することで、これら 2 つのコンテキストを区別できます。

コンテキスト コードが 0 の場合、WM_SYSKEYUP受信したOnSysKeyUpメッセージを Windows 関数にTranslateAccelerator渡すことができます。この関数は、システム キー メッセージではなく通常のキー メッセージであるかのように処理します。 これにより、アクティブ ウィンドウに入力フォーカスがない場合でも、アクティブ ウィンドウでアクセラレータ (ショートカット) キーを使用できます。

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

Note

このメンバー関数は、アプリケーションで 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
指定するHELP_TCARD_DATA場合idAction、このパラメーターはヘルプ作成者によって指定された長整数です。 それ以外の場合、このパラメーターは 0 です。

解説

この関数は、アプリケーションが Windows ヘルプを使用してトレーニング カードを開始した場合にのみ呼び出されます。 アプリケーションは、関数の呼び出しでコマンドを HELP_TCARD 指定してトレーニング カードを WinHelp 開始します。

CWnd::OnTimeChange

フレームワークは、システム時刻の変更後にこのメンバー関数を呼び出します。

afx_msg void OnTimeChange();

解説

システム時刻を変更するアプリケーションに、このメッセージをすべての最上位ウィンドウに送信させます。 すべての最上位ウィンドウにメッセージをWM_TIMECHANGE送信するために、アプリケーションはパラメーターを に設定して SendMessage Windows 関数hwndHWND_BROADCAST使用できます。

CWnd::OnTimer

フレームワークは、タイマーのインストールに使用されるメンバー関数で SetTimer 指定された間隔ごとに、このメンバー関数を呼び出します。

afx_msg void OnTimer(UINT_PTR nIDEvent);

パラメーター

nIDEvent
タイマーの識別子を指定します。

解説

Windows関数はDispatchMessage、他のWM_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_NOTBUTTONTTF_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
[入力]押されたキーの文字コードを指定します。

nRepCnt
[入力]現在のメッセージの繰り返し数を指定します。 この値は、ユーザーがキーを押した結果としてキーストロークが自動反復される回数です。 キーストロークが十分に長く保持されている場合は、複数のメッセージが送信されます。 ただし、繰り返し数は累積されません。

nFlags
[入力]次の表に示すように、スキャン コード、拡張キー、コンテキスト コード、以前のキー状態、および遷移状態を指定するフラグ。

フラグ ビット 説明
0-7 スキャン コードを指定します。 値は、元の機器メーカー (OEM) によって異なります。
8 拡張された 101 キーまたは 102 キー キーボードに表示される、右側の Alt キーや Ctrl キーなどの拡張キーを指定します。 キーが拡張キーの場合、フラグは 1 です。それ以外の場合は 0 です。
9-12 Windowsによって内部的に使用されます。
13 コンテキスト コードを指定します。 Alt キーを押しながら押すと、フラグは 1 になります。それ以外の場合、値は 0 です。
14 前のキーの状態を指定します。 フラグは、メッセージが送信される前にキーがダウンしている場合は 1、キーが稼働している場合は 0 です。
15 遷移状態を指定します。 フラグは、キーが解放されている場合は 1、キーが押されている場合は 0 です。

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_UNICHAR。 メッセージは WM_UNICHAR 、UNICODE 文字を ANSI ウィンドウに送信またはポストするように設計されています。 これはメッセージと WM_CHAR 同じですが、Unicode 変換形式 32 エンコード (UTF-32) を使用します WM_CHAR が、メッセージでは UTF-16 を使用します。

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnUnInitMenuPopup

フレームワークは、ドロップダウン メニューまたはサブメニューが破棄されたときに、このメンバー関数を呼び出します。

afx_msg void OnUnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nFlags);

パラメーター

pMenu
[入力]メニューまたはサブメニューを CMenu 表すオブジェクトへのポインター。

nFlags
[入力]破棄されたメニュー。 現時点では、ウィンドウ メニュー MF_SYSMENUにのみできます。

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_UNINITMENUPOPUP

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnUpdateUIState

指定したウィンドウとすべての子ウィンドウのユーザー インターフェイス (UI) 状態を変更するときに呼び出されます。

afx_msg void OnUpdateUIState(
    UINT nAction,
    UINT nUIElement);

パラメーター

nAction
実行する操作を指定します。 値は、次のいずれかです。

  • UIS_CLEAR UI 状態要素 (で nUIElement指定) は非表示にする必要があります。

  • UIS_INITIALIZE UI 状態要素 (指定) nUIElementは、最後の入力イベントに基づいて変更する必要があります。 詳細については、次の 「解説 」セクション WM_UPDATEISTATEを参照してください。

  • UIS_SET UI 状態要素 (で nUIElement指定) を表示する必要があります。

nUIElement
影響を受ける UI 状態要素またはコントロールのスタイルを指定します。 値は、次のいずれかです。

  • UISF_HIDEACCEL キーボード アクセラレータ。

  • UISF_HIDEFOCUS フォーカス インジケーター。

  • UISF_ACTIVEWindows XP: アクティブなコントロールに使用するスタイルでコントロールを描画する必要があります。

解説

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

CWnd::OnUserChanged

フレームワークは、ユーザーがログオンまたはログオフした後、すべてのウィンドウに対してこのメンバーを呼び出します。

afx_msg void OnUserChanged();

解説

このメソッドは、Windows SDK で説明されている通知メッセージを受け取りますWM_USERCHANGED。 ユーザーがログオンまたはログオフすると、オペレーティング システムはユーザー固有の設定を更新します。 設定を更新した直後に、このメッセージが送信されます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnVKeyToItem

オブジェクトがスタイルをCWnd持つリスト ボックスをLBS_WANTKEYBOARDINPUT所有している場合、リスト ボックスはメッセージに応答してメッセージをWM_KEYDOWN送信WM_VKEYTOITEMします。

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使用されません。 最初のスクロール範囲によっては負の値になる場合があり、 nPos 必要に応じて an int にキャストする必要があります。

pScrollBar
スクロール メッセージがスクロール バー コントロールから送信された場合は、コントロールへのポインターが含まれます。 ユーザーがウィンドウのスクロール バーをクリックした場合、このパラメーターは NULL. ポインターは一時的な場合があり、後で使用するために格納しないでください。

注釈

OnVScroll 通常は、スクロール ボックスのドラッグ中にフィードバックを送信するアプリケーションで使用されます。

オブジェクトの内容をスクロールするCWnd場合OnVScrollは、メンバー関数を使用してスクロール ボックスの位置もリセットするSetScrollPos必要があります。

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnVScrollClipboard

クリップボード の所有者の OnVScrollClipboard メンバー関数は、クリップボード のデータ CF_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
スクロール バー コードがスクロール ボックスの位置である場合はスクロール ボックスの位置を格納します。それ以外の場合nPosSB_THUMBPOSITION使用されません。

注釈

所有者はクリップボードイメージをスクロールし、適切なセクションを無効にして、スクロールバーの値を更新する必要があります。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnWindowMaximizedChanged

フレームワークは、現在のウィンドウが最大化され、ウィンドウがデスクトップ ウィンドウ マネージャー (DWM) によって構成されている場合に、このメンバーを呼び出します。

afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);

パラメーター

bIsMaximized
[入力] TRUE 現在のウィンドウが最大化され、 FALSE 最大化されていない場合は 。

解説

このメソッドは、Windows SDK で説明されている通知メッセージを受け取りますWM_DWMWINDOWMAXIMIZEDCHANGE

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnWindowPosChanged

フレームワークは、メンバー関数または別のウィンドウ管理機能の呼び出しの結果、サイズ、位置、または Z オーダーが変更されたときに、このメンバー関数を SetWindowPos 呼び出します。

afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos);

パラメーター

lpwndpos
ウィンドウの WINDOWPOS 新しいサイズと位置に関する情報を含むデータ構造を指します。

注釈

既定の実装では、メッセージとWM_MOVEメッセージがWM_SIZEウィンドウに送信されます。 アプリケーションが基底クラスを呼び出さずに呼び出しを処理する場合、 OnWindowPosChanged これらのメッセージは送信されません。 基底クラスを呼び出さずに、呼び出し中に移動またはサイズ変更処理を実行する OnWindowPosChanged 方が効率的です。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnWindowPosChanging

フレームワークは、メンバー関数または別のウィンドウ管理機能の呼び出しの結果、サイズ、位置、または Z オーダーが変更されようとしているときに、このメンバー関数を SetWindowPos 呼び出します。

afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);

パラメーター

lpwndpos
ウィンドウの WINDOWPOS 新しいサイズと位置に関する情報を含むデータ構造を指します。

解説

アプリケーションは、構造体のメンバー内の適切なビットを設定またはクリアすることで、ウィンドウの変更をflagsWINDOWPOS防ぐことができます。

またはWS_THICKFRAMEスタイルが設定されたウィンドウのWS_OVERLAPPED場合、既定の実装ではWM_GETMINMAXINFO、ウィンドウにメッセージが送信されます。 これは、ウィンドウの新しいサイズと位置を検証し、クライアント スタイルとCS_BYTEALIGNクライアント スタイルをCS_BYTEALIGNCLIENT適用するために行われます。 アプリケーションは、基本クラスを呼び出さないでこの機能をオーバーライドできます。

注意

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnWinIniChange

フレームワークは、WIN.INIWindows初期化ファイルに変更が加えられた後、このメンバー関数を呼び出します。

afx_msg void OnWinIniChange(LPCTSTR lpszSection);

パラメーター

lpszSection
変更されたセクションの名前を指定する文字列を指します。 (文字列には、セクション名を囲む角かっこは含まれません)。

解説

アプリケーションがSystemParametersInfo関数を使用してファイルの設定を変更した後、Windows関数が呼び出OnWinIniChangeされますWIN.INI

すべての最上位ウィンドウにメッセージをWM_WININICHANGE送信するために、アプリケーションはパラメーターを に設定して SendMessage Windows 関数hwndHWND_BROADCAST使用できます。

アプリケーションが多数の異なるセクションを同時に WIN.INI 変更する場合、アプリケーションは 1 つの WM_WININICHANGE メッセージを lpszSection 送信する NULL必要があります。 それ以外の場合、アプリケーションは変更を行うたびに送信 WM_WININICHANGE する WIN.INI必要があります。

アプリケーションが設定NULLされた呼び出しlpszSectionOnWinIniChange受け取った場合、アプリケーションは、アプリケーションに影響を与えるWIN.INI内のすべてのセクションを確認する必要があります。

注意

このメンバー関数は、アプリケーションで 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

フレームワークは、ユーザーがダブルクリック XBUTTON1 したとき、または XBUTTON2 カーソルがウィンドウのクライアント領域にあるときに、このメンバー関数を呼び出します。

afx_msg void OnXButtonDblClk(
    UINT nFlags,
    UINT nButton,
    CPoint point);

パラメーター

nFlags
[入力]どの修飾子キーが押されたかを示すフラグのビットごとの組み合わせ (OR)。 たとえば、フラグは MK_CONTROL Ctrl キーが押されたことを示します。

nButton
[入力]最初の XBUTTON1 Microsoft Intellimouse X ボタンがダブルクリックされた場合は値、2 つ目の X ボタンがダブルクリックされた場合は XBUTTON2 の値。

point
[入力] CPoint クライアント領域の左上隅を x 基準としたカーソルの座標と y 座標を指定するオブジェクト。

注釈

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_XBUTTONDBLCLK。 マウスがキャプチャされていない場合、メッセージはカーソルの下のウィンドウに投稿されます。 それ以外の場合は、マウスをキャプチャしたウィンドウにメッセージがポストされます。

パラメーターには nFlags 、次の表に示す修飾子キーの組み合わせを指定できます。 詳細については、「 マウス入力について」を参照してください。

修飾子キー 説明
MK_CONTROL Ctrl キーが押されます。
MK_LBUTTON マウスの左ボタンが押された状態です。
MK_MBUTTON マウスの中央ボタンが押された状態です。
MK_RBUTTON マウスの右ボタンが押された状態です。
MK_SHIFT Shift キーが押されます。
MK_XBUTTON1 XBUTTON1 Microsoft IntelliMouse のマウス ボタンが押されます。
MK_XBUTTON2 XBUTTON2 Microsoft IntelliMouse のマウス ボタンが押されます。

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnXButtonDown

フレームワークは、ユーザーが押 XBUTTON1 したとき、または XBUTTON2 カーソルがウィンドウのクライアント領域にあるときに、このメンバー関数を呼び出します。

afx_msg void OnXButtonDown(
    UINT nFlags,
    UINT nButton,
    CPoint point);

パラメーター

nFlags
[入力]どの修飾子キーが押されたかを示すフラグのビットごとの組み合わせ (OR)。 たとえば、フラグは MK_CONTROL Ctrl キーが押されたことを示します。

nButton
[入力]最初の XBUTTON1 Microsoft Intellimouse X ボタンがクリックされたかどうか、または XBUTTON2 2 番目の X ボタンがクリックされたかどうかの値。

point
[入力] CPoint クライアント領域の左上隅を x 基準としたカーソルの座標と y 座標を指定するオブジェクト。

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_XBUTTONDOWN。 マウスがキャプチャされていない場合、メッセージはカーソルの下のウィンドウに投稿されます。 それ以外の場合は、マウスをキャプチャしたウィンドウにメッセージがポストされます。

パラメーターには nFlags 、次の表に示す修飾子キーの組み合わせを指定できます。 詳細については、「 マウス入力について」を参照してください。

修飾子キー 説明
MK_CONTROL Ctrl キーが押されます。
MK_LBUTTON マウスの左ボタンが押された状態です。
MK_MBUTTON マウスの中央ボタンが押された状態です。
MK_RBUTTON マウスの右ボタンが押された状態です。
MK_SHIFT Shift キーが押されます。
MK_XBUTTON1 XBUTTON1 Microsoft IntelliMouse のマウス ボタンが押されます。
MK_XBUTTON2 XBUTTON2 Microsoft IntelliMouse のマウス ボタンが押されます。

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OnXButtonUp

フレームワークは、ユーザーが解放 XBUTTON1 するとき、または XBUTTON2 カーソルがウィンドウのクライアント領域にあるときに、このメンバー関数を呼び出します。

afx_msg void OnXButtonUp(
    UINT nFlags,
    UINT nButton,
    CPoint point);

パラメーター

nFlags
[入力]どの修飾子キーが押されたかを示すフラグのビットごとの組み合わせ (OR)。 たとえば、フラグは MK_CONTROL Ctrl キーが押されたことを示します。

nButton
[入力]最初の XBUTTON1 Microsoft Intellimouse X ボタンがダブルクリックされたかどうか、または XBUTTON2 2 つ目の X ボタンがダブルクリックされたかどうかの値。

point
[入力] CPoint クライアント領域の左上隅を x 基準としたカーソルの座標と y 座標を指定するオブジェクト。

解説

このメソッドは、Windows SDK で説明されている通知を受け取りますWM_XBUTTONUP。 マウスがキャプチャされていない場合、メッセージはカーソルの下のウィンドウに投稿されます。 それ以外の場合は、マウスをキャプチャしたウィンドウにメッセージがポストされます。

パラメーターには nFlags 、次の表に示す修飾子キーの組み合わせを指定できます。 詳細については、「 マウス入力について」を参照してください。

修飾子キー 説明
MK_CONTROL Ctrl キーが押されます。
MK_LBUTTON マウスの左ボタンが押された状態です。
MK_MBUTTON マウスの中央ボタンが押された状態です。
MK_RBUTTON マウスの右ボタンが押された状態です。
MK_SHIFT Shift キーが押されます。
MK_XBUTTON1 XBUTTON1 Microsoft IntelliMouse のマウス ボタンが押されます。
MK_XBUTTON2 XBUTTON2 Microsoft IntelliMouse のマウス ボタンが押されます。

Note

このメンバー関数は、アプリケーションで Windows メッセージを処理できるようにするためにフレームワークによって呼び出されます。 関数に渡されるパラメーターは、メッセージを受信したときにフレームワークが受信したパラメーターを反映します。 この関数の基底クラス実装を呼び出す場合、その実装は、関数に指定したパラメーターではなく、メッセージと共に渡されたパラメーターを使用します。

CWnd::OpenClipboard

クリップボードを開きます。

BOOL OpenClipboard();

戻り値

クリップボードを開 CWndく場合は 0 以外、別のアプリケーションまたはウィンドウでクリップボードが開いている場合は 0。

注釈

他のアプリケーションは、Windows関数が呼び出されるまでクリップボードをCloseClipboard変更できません。

Windows関数が呼び出されるまで、現在CWndのオブジェクトはクリップボードの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。

解説

メッセージ キュー内のメッセージは、関数または PeekMessage Windows 関数のGetMessage呼び出しによって取得されます。

WindowsPostMessage関数を使用して、別のアプリケーションにアクセスできます。

AfxGetMainWnd の例を参照してください。

CWnd::PostNcDestroy

ウィンドウが破棄された後、既定 OnNcDestroy のメンバー関数によって呼び出されます。

virtual void PostNcDestroy();

解説

派生クラスは、ポインターの削除などのカスタム クリーンアップにこの関数を this 使用できます。

CWnd::PreCreateWindow

このCWndオブジェクトにアタッチされているWindows ウィンドウを作成する前に、フレームワークによって呼び出されます。

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

パラメーター

cs
CREATESTRUCT 構造。

戻り値

ウィンドウの作成を続行する必要がある場合は 0 以外。作成エラーを示す場合は 0。

解説

警告

CWnd::PreCreateWindowメニューNULLが存在し、スタイルに含まれているWS_CHILD場合は、ポインターに this hMenu メンバーcsを割り当てます。 適切な機能を実現するには、ダイアログ コントロールに ID が含まれていない NULLことを確認します。

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

この関数を直接呼び出すことはありません。

この関数の既定の実装では、ウィンドウ クラス名が NULL チェックされ、適切な既定値に置き換えられます。 このメンバー関数をオーバーライドして、ウィンドウが作成される CREATESTRUCT 前に構造を変更します。

派生 CWnd した各クラスは、そのオーバーライドに独自の PreCreateWindow機能を追加します。 仕様上、これらの派生 PreCreateWindow は文書化されていません。 各クラスに適したスタイルとスタイル間の相互依存関係を確認するには、アプリケーションの基本クラスの MFC ソース コードを調べることができます。 オーバーライド PreCreateWindow, を選択した場合は、MFC ソース コードから収集された情報を使用して、アプリケーションの基本クラスで使用されるスタイルが必要な機能を提供するかどうかを判断できます。

ウィンドウ スタイルの変更の詳細については、「 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

ウィンドウ メッセージが関数およびDispatchMessageWindows関数にディスパッチされる前にTranslateMessage、クラスCWinAppで使用されます。

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 SDK で説明されているように、関数PrintWindowの機能をエミュレートします。

CWnd::RedrawWindow

指定されたウィンドウのクライアント領域内の指定した四角形または領域を更新します。

BOOL RedrawWindow(
    LPCRECT lpRectUpdate = NULL,
    CRgn* prgnUpdate = NULL,
    UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

パラメーター

lpRectUpdate
更新四角形のRECT座標を含む構造体を指します。 有効なリージョン ハンドルが含まれている場合 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 無効または lpRectUpdateprgnUpdate (1 つだけではない NULL可能性があります)。 両方の場合、 NULLウィンドウ全体が無効になります。

ウィンドウの検証には、次のフラグが使用されます。

  • RDW_NOERASE 保留中 WM_ERASEBKGND のメッセージを抑制します。

  • RDW_NOFRAME 保留中 WM_NCPAINT のメッセージを抑制します。 このフラグは一緒RDW_VALIDATEに使用する必要があり、通常は .RDW_NOCHILDREN このオプションは、ウィンドウの一部が正しく塗らないようにするため、注意して使用する必要があります。

  • RDW_NOINTERNALPAINT 保留中の内部 WM_PAINT メッセージを抑制します。 このフラグは、無効な領域に起因するメッセージには影響 WM_PAINT しません。

  • RDW_VALIDATElpRectUpdate検証または prgnUpdate (1 つだけではないNULL可能性があります)。 両方の場合は NULL、ウィンドウ全体が検証されます。 このフラグは、内部 WM_PAINT メッセージには影響しません。

次のフラグは、再描画が発生したときに制御します。 これらのビットのいずれかが指定されていない限り、 RedrawWindow 関数によって描画は実行されません。

  • RDW_ERASENOW関数が戻る前に、影響を受けるウィンドウ (およびフラグでRDW_ALLCHILDREN指定) を受信WM_NCPAINTWM_ERASEBKGND、必要に応じてメッセージを送信RDW_NOCHILDRENします。 WM_PAINT メッセージは遅延されます。

  • RDW_UPDATENOW関数が戻る前に、影響を受けるウィンドウ (and フラグでRDW_ALLCHILDREN指定) を受信WM_NCPAINTWM_ERASEBKGNDWM_PAINT、必要に応じてメッセージを受信RDW_NOCHILDRENします。

既定では、関数の影響を RedrawWindow 受けるウィンドウは WS_CLIPCHILDREN 、指定されたウィンドウにスタイルがあるかどうかによって異なります。 ウィンドウの WS_CLIPCHILDREN 子ウィンドウは影響を受けません。 ただし、ウィンドウ以外 WS_CLIPCHILDREN のウィンドウは、ウィンドウが見つかるまで WS_CLIPCHILDREN 再帰的に検証または無効化されます。 次のフラグは、関数の影響を受けるウィンドウを RedrawWindow 制御します。

  • RDW_ALLCHILDREN 再描画操作に子ウィンドウ (存在する場合) が含まれます。

  • RDW_NOCHILDREN 再描画操作から子ウィンドウ (存在する場合) を除外します。

戻り値

ウィンドウが正常に描画された場合は 0 以外。それ以外の場合は 0。

注釈

メンバー関数を RedrawWindow 使用してデスクトップ ウィンドウの一部を無効にすると、そのウィンドウはメッセージを WM_PAINT 受信しません。 デスクトップを再描画するには、アプリケーションで 、CWnd::ValidateRgnまたは CWnd::InvalidateRgnCWnd::UpdateWindowRedrawWindow

CWnd::ReflectChildNotify

このメッセージ関数は、フレームワーク OnChildNotifyによって呼び出されます。

BOOL ReflectChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

パラメーター

message
反映するメッセージを指定します。

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

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

pResult
親ウィンドウから返される子ウィンドウによって生成される結果。 NULL の可能性があります。

戻り値

TRUE メッセージが反映された場合。それ以外の場合 FALSEは .

注釈

これは、そのソースに反映 message されるヘルパー関数です。

反映されたメッセージは、直接CWnd::OnWndMsgCCmdTarget::OnCmdMsgまたは .

メッセージ リフレクションの詳細については、「 反映されたメッセージの処理」を参照してください。

CWnd::ReflectLastMsg

このメンバー関数は、子ウィンドウへの最後のメッセージを反映するためにフレームワークによって呼び出されます。

static BOOL PASCAL ReflectLastMsg(
    HWND hWndChild,
    LRESULT* pResult = NULL);

パラメーター

hWndChild
子ウィンドウへのハンドル。

pResult
親ウィンドウから返される子ウィンドウによって生成される結果。 NULL の可能性があります。

戻り値

メッセージが処理された場合は 0 以外。それ以外の場合は 0。

解説

このメンバー関数は、指定されたhWndChildウィンドウが OLE コントロールまたは永続的マップ内のウィンドウである場合に呼び出しますSendChildNotifyLastMsg

メッセージ リフレクションの詳細については、「 反映されたメッセージの処理」を参照してください。

CWnd::ReleaseDC

デバイス コンテキストを解放し、他のアプリケーションで使用できるようにします。

int ReleaseDC(CDC* pDC);

パラメーター

pDC
解放するデバイス コンテキストを識別します。

戻り値

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

解説

メンバー関数の ReleaseDC 効果は、デバイス コンテキストの種類によって異なります。

アプリケーションは、メンバー関数の ReleaseDC 呼び出しごとにメンバー関数を GetWindowDC 呼び出し、メンバー関数を呼び出すたびにメンバー関数を 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
構造体を指しRECT示します。その使用法は 、 の値nFlagに依存します。

lpRectClient
使用可能なRECTクライアント領域を含む構造体を指します。 場合 NULLは、ウィンドウのクライアント領域が使用されます。

bStretch
バーをフレームのサイズまで引き伸ばす必要があるかどうかを示します。

解説

パラメーターとnIDLastパラメーターはnIDFirst、クライアント領域で再配置するコントロール バー ID の範囲を定義します。 このパラメーターは nIDLeftOver 、子ウィンドウ (通常はビュー) の ID を指定します。この ID は、コントロール バーで埋め込まれていないクライアント領域の残りの部分を埋めるように再配置およびサイズ変更されます。

CWnd::RunModalLoop

このメンバー関数を呼び出して、返されるまで ContinueModal メッセージを取得、翻訳、またはディスパッチします FALSE

int RunModalLoop(DWORD dwFlags = 0);

パラメーター

dwFlags
送信するWindows メッセージを指定します。 値は、次のいずれかです。

  • MLF_NOIDLEMSG 親にメッセージを送信 WM_ENTERIDLE しないでください。

  • MLF_NOKICKIDLE ウィンドウにメッセージを送信 WM_KICKIDLE しないでください。

  • MLF_SHOWONIDLE メッセージ キューがアイドル状態になったときにウィンドウを表示します。

戻り値

メンバー関数に渡されるパラメーターの nResult 値を EndModalLoop 指定します。この値を使用してモーダル ループを終了します。

解説

既定では、 ContinueModal after EndModalLoopFALSE呼び出されます。 として指定された nResult 値を EndModalLoop返します。

CWnd::ScreenToClient

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

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

パラメーター

lpPoint
変換する CPoint 画面座標を含むオブジェクトまたは POINT 構造体 を指します。

lpRect
変換する CRect 画面座標を含むオブジェクトまたは RECT 構造体 を指します。

注釈

メンバー関数はScreenToClient、指定された画面座標をクライアント座標にlpRectlpPoint置き換えます。 新しい座標は、クライアント領域の左上隅を基準にしています CWnd

CListCtrl::GetItemRect の例を参照してください。

CWnd::ScrollWindow

現在 CWnd のオブジェクトのクライアント領域の内容をスクロールします。

void ScrollWindow(
    int xAmount,
    int yAmount,
    LPCRECT lpRect = NULL,
    LPCRECT lpClipRect = NULL);

パラメーター

xAmount
水平スクロールの量をデバイス単位で指定します。 このパラメーターは、左にスクロールする場合は負の値にする必要があります。

yAmount
垂直スクロールの量をデバイス単位で指定します。 このパラメーターは、上にスクロールするには負の値である必要があります。

lpRect
スクロールする CRect クライアント領域の部分を指定するオブジェクトまたは RECT 構造体 を指します。 ある場合 lpRectNULL、クライアント領域全体がスクロールされます。 カーソルの四角形がスクロール四角形と交差する場合、キャレットの位置が変更されます。

lpClipRect
スクロールする CRect クリッピング四角形を指定するオブジェクトまたは RECT 構造体を指します。 この四角形内のビットのみがスクロールされます。 この四角形の外側のビットは、四角形内にある場合でも影響を lpRect 受けません。 ある場合 lpClipRectNULLスクロール四角形に対してクリッピングは実行されません。

解説

キャレットがスクロール中の CWnd 場合は、 ScrollWindow カレットを自動的に非表示にして消去されないようにし、スクロールが完了した後にキャレットを復元します。 キャレット位置は適宜調整されます。

メンバー関数によって ScrollWindow 発見された領域は再描画されませんが、現在 CWnd のオブジェクトの更新領域に結合されます。 アプリケーションは最終的に、リージョンの WM_PAINT 再描画が必要であることを通知するメッセージを受け取ります。 スクロールが行われると同時に未解決の領域を再描画するには、呼び出した直後にメンバー関数を UpdateWindow 呼び出します ScrollWindow

あるNULL場合lpRect、ウィンドウ内の子ウィンドウの位置は指定された量でxAmountオフセットされyAmount、無効な (未描画の) 領域CWndもオフセットされます。 ScrollWindow ときの方が lpRect 高速です NULL

そうでないNULL場合lpRect、子ウィンドウの位置は変更されず、無効な領域はCWndオフセットされません。 そうでないときに lpRect 問題が更新されないように NULLするには、呼び出す前にメンバー関数を UpdateWindow 呼び出して再描画 CWnd します ScrollWindow

CWnd::ScrollWindowEx

ウィンドウのクライアント領域の内容をスクロールします。

int ScrollWindowEx(
    int dx,
    int dy,
    LPCRECT lpRectScroll,
    LPCRECT lpRectClip,
    CRgn* prgnUpdate,
    LPRECT lpRectUpdate,
    UINT flags);

パラメーター

dx
水平スクロールの量をデバイス単位で指定します。 左にスクロールするには、このパラメーターに負の値が必要です。

dy
垂直スクロールの量をデバイス単位で指定します。 上にスクロールするには、このパラメーターに負の値が必要です。

lpRectScroll
スクロールするRECTクライアント領域の部分を指定する構造体を指します。 このパラメーターを指定 NULLすると、クライアント領域全体がスクロールされます。

lpRectClip
スクロールする RECT クリッピング四角形を指定する構造体を指します。 この構造体は、指定された四角形 lpRectScrollよりも優先されます。 この四角形内のビットのみがスクロールされます。 この四角形の外側のビットは、四角形内にある場合でも影響を lpRectScroll 受けません。 このパラメーターを指定 NULLすると、スクロール四角形に対してクリッピングは実行されません。

prgnUpdate
スクロールによって無効にされた領域を保持するように変更されたリージョンを識別します。 このパラメーターは NULL の場合もあります。

lpRectUpdate
RECTスクロールによって無効にされた四角形の境界を受け取る構造体を指します。 このパラメーターは NULL の場合もあります。

flags
次のいずれかの値になります。

  • SW_ERASESW_INVALIDATE指定すると、ウィンドウにメッセージを送信 WM_ERASEBKGND して、新しく無効になったリージョンが消去されます。

  • SW_INVALIDATE スクロール後に識別される prgnUpdate 領域を無効にします。

  • SW_SCROLLCHILDRENで指定されたdxピクセル数でlpRectScroll指されている四角形と交差するすべての子ウィンドウをスクロールしますdy。 Windowsは、WM_MOVE移動しない場合でも、交差lpRectScrollするすべての子ウィンドウにメッセージを送信します。 子ウィンドウがスクロールされ、カーソルの四角形がスクロール四角形と交差すると、キャレットの位置が変更されます。

戻り値

戻り値は、関数が SIMPLEREGION 成功した場合は (矩形無効領域) COMPLEXREGION 、(非矩形無効領域、重複する四角形)、または NULLREGION (無効な領域なし) です。それ以外の場合は戻り値です ERROR

注釈

この関数は、いくつかの追加機能を備えた関数に似ています ScrollWindow

SW_ERASE指定されていない場合SW_INVALIDATEScrollWindowExメンバー関数はスクロール先の領域を無効にしません。 これらのフラグのいずれかが設定されている場合、 ScrollWindowEx この領域は無効になります。 この領域は、アプリケーションがメンバー関数を呼び出すかUpdateWindow、メンバー関数をRedrawWindow呼び出すか (指定またはRDW_ERASENOW)、アプリケーション キューからメッセージをRDW_UPDATENOWWM_PAINT取得するまで更新されません。

ウィンドウにスタイルがあるWS_CLIPCHILDREN場合、更新する必要がある子ウィンドウ内の領域を含め、更新する必要があるスクロール ウィンドウの合計領域でprgnUpdatelpRectUpdate指定され、返される領域が表されます。

フラグがSW_SCROLLCHILDREN指定されている場合、子ウィンドウの一部がスクロールされた場合、Windowsは画面を正しく更新しません。 スクロールされた子ウィンドウのソース四角形の外側にある部分は消去されず、新しいコピー先に正しく描画されません。 Windows関数をDeferWindowPos使用して、四角形内に完全に配置されていない子ウィンドウをlpRectScroll移動します。 フラグが設定され、キャレット四角形がスクロール四角形と交差する場合 SW_SCROLLCHILDREN は、カーソルの位置が変更されます。

ウィンドウのスタイルまたはCS_CLASSDCクラス スタイルに関係なく、すべての入力座標とprgnUpdate出力座標 (forlpRectScrolllpRectClip、、lpRectUpdate) はCS_OWNDCクライアント座標内にあると見なされます。 必要に応じて、LPtoDP論理座標との間で変換する関数とDPtoLPWindows関数を使用します。

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
検索するレベルを指定します。 すべての子を再帰的に検索する場合TRUEFALSEは 、即時の子のみを検索します。

bOnlyPerm
メッセージを一時ウィンドウで受信するかどうかを指定します。 一時ウィンドウでメッセージを受信できる場合TRUEFALSEは、永続的なウィンドウのみがメッセージを受信します。 一時的なウィンドウの詳細については、 テクニカル ノート 3 を参照してください。

注釈

その場合、FALSEメッセージはウィンドウの直属の子だけに送信されます。それ以外の場合bDeepは、すべての子孫ウィンドウにメッセージが送信されます。

bOnlyPermその場合bDeep、検索はTRUE一時的なウィンドウの下で続行されます。 この場合、検索中に永続的なウィンドウのみがメッセージを受信します。 そのFALSE場合bDeep、メッセージはウィンドウの直接の子にのみ送信されます。

// 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 。 返されるポインターは一時的な場合があり、後で使用するために格納しないでください。

注釈

すべてのマウス入力が不要になった場合 CWnd 、アプリケーションは、他のウィンドウがマウス入力を ReleaseCapture 受け取ることができるように関数を呼び出す必要があります。

マウス入力がキャプチャされている間は、アクティブ ウィンドウにメッセージが送信されません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_CHANGECBCHAIN応答しWM_DESTROY、チェーン内の次のウィンドウにメッセージを渡す必要があります。

このメンバー関数は、ウィンドウに WM_DRAWCLIPBOARD メッセージを送信します。 クリップボード ビューアー チェーン内の次のウィンドウへのハンドルがまだ返されていないので、アプリケーションは呼び出しSetClipboardViewer中にWM_DRAWCLIPBOARD受信したメッセージを渡すべきではありません。

クリップボードビューアー チェーンからそれ自体を削除するには、アプリケーションでメンバー関数を 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
整数値が符号付きか符号なしかを指定します。 このパラメーターが 、 nValue の場合はTRUE符号が付けられます。 このパラメーターが TRUEnValue 0 未満の場合は、文字列の最初の桁の前にマイナス記号が配置されます。 このパラメーターが 、 nValue の場合はFALSE符号なしです。

注釈

SetDlgItemInt は、指定された WM_SETTEXT コントロールにメッセージを送信します。

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

CWnd::SetDlgItemText

ウィンドウまたはダイアログ ボックスが所有するコントロールのキャプションまたはテキストを設定します。

void SetDlgItemText(
    int nID,
    LPCTSTR lpszString);

パラメーター

nID
テキストを設定するコントロールを識別します。

lpszString
コントロールに CString コピーするテキストを含むオブジェクトまたは null で終わる文字列を指します。

注釈

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_KILLFOCUS 入力フォーカスを失ったウィンドウにメッセージを送信し、入力フォーカスを WM_SETFOCUS 受け取るウィンドウにメッセージを送信します。 また、ウィンドウまたはその親のいずれかがアクティブになります。

現在のウィンドウがアクティブで、フォーカスがない場合 (つまり、ウィンドウにフォーカスがない)、押されたキーを押すとメッセージ WM_SYSCHARWM_SYSKEYDOWNまたは WM_SYSKEYUP.

CWnd::SetFont

指定したフォントを WM_SETFONT 使用するメッセージをウィンドウに送信します。

void SetFont(
    CFont* pFont,
    BOOL bRedraw = TRUE);

パラメーター

pFont
CFont オブジェクトへのポインター。

bRedraw
TRUE ウィンドウがメッセージを処理した直後に再描画する場合は、それ以外の WM_SETFONT 場合 FALSEは >

解説

ウィンドウがメッセージを処理 WM_SETFONT しない限り、このメソッドは無効です。 メッセージのメッセージ ハンドラーWM_SETFONTを含む定義済みのウィンドウ クラスにアタッチされているため、このメッセージの処理からCWnd派生する多くの MFC クラス。 このメソッドを使用するには、派生元 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
レイヤード ウィンドウの不透明度を表すために使用されるアルファ値。 詳細については、構造体のメンバーをSourceConstantAlphaBLENDFUNCTION参照してください。 0 の場合 bAlpha 、ウィンドウは完全に透明になります。 255 の場合 bAlpha 、ウィンドウは不透明になります。

dwFlags
実行するアクションを指定します。 このパラメーターには、次の 1 つ以上の値を指定できます。 有効な値の一覧については、「SetLayeredWindowAttributes」を参照してください。

戻り値

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

注釈

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

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、フラグはクリアされます。

解説

このメンバー関数は、再描画フラグを設定またはクリアします。 再描画フラグがクリアされている間、内容は変更のたびに更新されず、再描画フラグが設定されるまで再描画されません。 たとえば、リスト ボックスに複数の項目を追加する必要があるアプリケーションでは、再描画フラグをクリアし、項目を追加して、再描画フラグを設定できます。 最後に、アプリケーションで or InvalidateRect メンバー関数をInvalidate呼び出して、リスト ボックスを再描画することができます。

// 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::OnVScrollCWnd::OnHScroll 16 ビットの位置データのみを提供します。 GetScrollInfoSetScrollInfo 32 ビットのスクロール バー位置データを提供します。 したがって、アプリケーションは、処理中にCWnd::OnHScrollCWnd::OnVScroll呼び出GetScrollInfoすか、32 ビットのスクロール バー位置データを取得できます。

注意

CWnd::GetScrollInfo を使用すると、アプリケーションで 32 ビットのスクロール バー位置を使用できます。

CWnd::SetScrollPos

スクロール ボックスの現在位置を設定し、要求された場合は、スクロール ボックスの新しい位置を反映するようにスクロール バーを再描画します。

int SetScrollPos(
    int nBar,
    int nPos,
    BOOL bRedraw = TRUE);

パラメーター

nBar
設定するスクロール バーを指定します。 このパラメーターには、次のいずれかを指定できます。

  • SB_HORZ ウィンドウの水平スクロール バーのスクロール ボックスの位置を設定します。

  • SB_VERT ウィンドウの垂直スクロール バーのスクロール ボックスの位置を設定します。

nPos
スクロール ボックスの新しい位置を指定します。 スクロール範囲内である必要があります。

bRedraw
新しいスクロール ボックスの位置を反映するようにスクロール バーを再描画するかどうかを指定します。 このパラメーターの場合、 TRUEスクロール バーは再描画されます。スクロール バーが再描画されない場合 FALSE

戻り値

スクロール ボックスの前の位置。

解説

FALSE設定bRedrawは、スクロール バーが別の関数への後続の呼び出しによって再描画されるたびに役立ちます。

CWnd::SetScrollRange

指定されたスクロール バーの最小位置と最大位置の値を設定します。

void SetScrollRange(
    int nBar,
    int nMinPos,
    int nMaxPos,
    BOOL bRedraw = TRUE);

パラメーター

nBar
設定するスクロール バーを指定します。 このパラメーターには、次のいずれかの値を指定できます。

  • SB_HORZ ウィンドウの水平スクロール バーの範囲を設定します。

  • SB_VERT ウィンドウの垂直スクロール バーの範囲を設定します。

nMinPos
最小スクロール位置を指定します。

nMaxPos
最大スクロール位置を指定します。

bRedraw
変更を反映するためにスクロール バーを再描画するかどうかを指定します。 ある場合 bRedrawTRUE、スクロール バーが再描画されます。スクロール バーが再描画されない場合 FALSE

注釈

また、標準のスクロール バーを非表示または表示するためにも使用できます。

アプリケーションでは、スクロール バー通知メッセージの処理中にスクロール バーを非表示にするには、この関数を呼び出さないでください。

メンバー関数の呼び出しの直後にSetScrollRangeSetScrollPos呼び出す場合、スクロール バーが 2 回描画されないようにするには、bRedrawメンバー関数のパラメーターSetScrollPosを 0 にする必要があります。

標準スクロール バーの既定の範囲は 0 から 100 です。 スクロール バー コントロールの既定の範囲は空です (両方のnMinPosnMaxPos値は 0 です)。 で nMinPos 指定された値と nMaxPos 大きく 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 値は現在のウィンドウに関連付けられている他のウィンドウ タイマーに対してのみ一意である必要があります。 コールバックのタイマーの場合、値はすべてのプロセスのすべてのタイマーで一意である必要があります。 したがって、コールバック タイマーを作成すると、戻り値が指定した値と異なる可能性が高くなります。

nElapse
タイムアウト値 (間隔) をミリ秒単位で指定します。

lpfnTimer
メッセージを処理するアプリケーション提供 TimerProc のコールバック関数のアドレスを WM_TIMER 指定します。 このパラメーターの場合、WM_TIMERメッセージはNULLアプリケーションのメッセージ キューに配置され、オブジェクトによってCWnd処理されます。

戻り値

関数が正常に完了した場合の、新しいタイマーのタイマー識別子。 この値は、パラメーターを介して nIDEvent 渡される値と等しい場合と等しくない場合があります。 タイマーを強制終了するには、常に戻り値を KillTimer メンバー関数に渡す必要があります。 正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

注釈

間隔値が指定され、間隔が経過するたびに、システムはインストールしているアプリケーションのインストール中のメッセージ キューにメッセージを投稿 WM_TIMER するか、アプリケーション定義 TimerProc のコールバック関数にメッセージを渡します。

コールバック関数には lpfnTimer 名前を付 TimerProcける必要はありませんが、静的として宣言し、次のように定義する必要があります。

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::OnTimerを使用CWnd::SetTimerWM_TIMERし、処理CWnd::KillTimerします。 最初のタイマーは、2 秒ごとにメイン フレーム ウィンドウにメッセージを送信 WM_TIMER するように設定されます 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現在の位置を保持します (およびyパラメーターはx無視されます)。

  • SWP_NOOWNERZORDER Z オーダーでの所有者ウィンドウの位置は変更されません。

  • SWP_NOREDRAW 変更を再描画しません。 このフラグが設定されている場合、いかなる種類の再描画も行われません。 これは、クライアント領域、クライアント以外の領域 (タイトルとスクロール バーを含む)、および移動されたウィンドウの結果として発見された親ウィンドウの任意の部分に適用されます。 このフラグが設定されている場合、アプリケーションは、再描画する必要があるウィンドウと親ウィンドウの部分を明示的に無効化または再描画する必要があります。

  • SWP_NOREPOSITIONSWP_NOOWNERZORDER と同じです。

  • SWP_NOSENDCHANGING ウィンドウがメッセージを受信できないようにします WM_WINDOWPOSCHANGING

  • SWP_NOSIZE現在のサイズを保持します (およびcyパラメーターはcx無視されます)。

  • SWP_NOZORDER 現在の順序を保持します (無視 pWndInsertAfter)。

  • SWP_SHOWWINDOW ウィンドウを表示します。

戻り値

関数が成功した場合は 0 以外。それ以外の場合は 0。

解説

Windowsは、その Z オーダーに従って画面上に並べ替わります。Z オーダーの上部にあるウィンドウは、他のすべてのウィンドウの順序の上に表示されます。

子ウィンドウのすべての座標は、(親ウィンドウのクライアント領域の左上隅を基準とした) クライアント座標です。

ウィンドウを Z オーダーの先頭に移動するには、パラメーター&wndTopMostを設定pWndInsertAfterし、フラグがSWP_NOZORDER設定されていないことを確認するか、既存の最上位ウィンドウの上になるようにウィンドウの Z オーダーを設定します。 最上位以外のウィンドウが最上位に設定されている場合は、所有されているウィンドウも最上位になります。 その所有者は変更されません。

最上位のウィンドウは、Z オーダーの下部 (&wndBottom) または最上位以外のウィンドウの後に位置が変更された場合、最上位ウィンドウは最上位ではなくなります。 最上位ウィンドウが最上位以外のウィンドウになると、そのすべての所有者とその所有ウィンドウも最上位以外のウィンドウになります。

どちらも指定されていないSWP_NOACTIVATESWP_NOZORDER場合 (つまり、アプリケーションがウィンドウを同時にアクティブ化して指定した Z オーダーに配置することを要求した場合)、指定されたpWndInsertAfter値は次の状況でのみ使用されます。

  • パラメーターにpWndInsertAfter指定することも指定することも&wndNoTopMostありません&wndTopMost

  • このウィンドウはアクティブなウィンドウではありません。

アプリケーションは、非アクティブウィンドウを Z オーダーの先頭に移動しないとアクティブ化できません。 アプリケーションは、アクティブ化されたウィンドウの Z オーダーを制限なく変更できます。

最上位以外のウィンドウは最上位のウィンドウを所有できますが、その逆は所有できません。 一番上のウィンドウが所有するウィンドウ (ダイアログ ボックスなど) は、すべての所有ウィンドウが所有者の上に維持されるように、最上位のウィンドウになります。

Windowsバージョン 3.1 以降では、ウィンドウを Z オーダーの先頭に移動し、スタイルをWS_EX_TOPMOST設定してロックできます。 このような最上位ウィンドウは、非アクティブ化された場合でも最上位の位置を維持します。 たとえば、WinHelp Always On Top コマンドを選択すると、ヘルプ ウィンドウが一番上に表示され、アプリケーションに戻ったときに表示されたままになります。

最上位のウィンドウを作成するには、パラメーターをpWndInsertAfter等しい値で&wndTopMost呼び出SetWindowPosすか、ウィンドウの作成時にWS_EX_TOPMOSTスタイルを設定します。

Z オーダーにスタイルを持つ WS_EX_TOPMOST ウィンドウが含まれている場合、値を &wndTopMost 使用して移動されたウィンドウは、最上位以外のすべてのウィンドウの上部に配置されますが、最上位のウィンドウの下に配置されます。 アプリケーションがビットなしで WS_EX_TOPMOST 非アクティブウィンドウをアクティブにすると、ウィンドウは最上位以外のすべてのウィンドウの上に移動され、一番上のウィンドウの下に移動されます。

パラメーター&wndBottomが最上位ウィンドウの場合SetWindowPosCWnd呼び出されるとpWndInsertAfter、ウィンドウは最上位の状態 (WS_EX_TOPMOSTクリア) を失い、ウィンドウは Z オーダーの下部に配置されます。

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は、オペレーティング システムは、領域を設定した後にウィンドウを再描画します。それ以外の場合は、ウィンドウは表示されません。 通常、ウィンドウが表示される場合に設定bRedrawTRUEされます。 に TRUE設定すると、システムはウィンドウに WM_WINDOWPOSCHANGING メッセージと WM_WINDOWPOSCHANGED メッセージを送信します。

戻り値

関数が成功すると、戻り値は 0 以外になります。 関数が失敗した場合は、0 を返します。

解説

ウィンドウのウィンドウ領域の座標は、ウィンドウのクライアント領域ではなく、ウィンドウの左上隅を基準とします。

呼び出し SetWindowRgnが成功すると、オペレーティング システムはリージョン ハンドル hRgnで指定されたリージョンを所有します。 オペレーティング システムはリージョンのコピーを作成しないため、このリージョン ハンドルを使用してそれ以上関数呼び出しを行わず、このリージョン ハンドルを閉じないでください。

CWnd::SetWindowText

ウィンドウのタイトルを指定したテキストに設定します。

void SetWindowText(LPCTSTR lpszString);

パラメーター

lpszString
CString新しいタイトルまたはコントロール テキストとして使用するオブジェクトまたは null で終わる文字列を指します。

注釈

ウィンドウがコントロールの場合、コントロール内のテキストが設定されます。

この関数により、 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();

解説

キャレットは、表示されると自動的に点滅します。

このメンバー関数は ShowCaret 、キャレットが現在の図形を持ち、連続して 2 回以上非表示になっていない場合にのみ、キャレットを表示します。 キャレットがこのウィンドウによって所有されていない場合、キャレットは表示されません。

キャレットの非表示は累積です。 メンバー関数が HideCaret 5 回連続して呼び出された場合は、 ShowCaret キャレットを表示するために 5 回呼び出す必要があります。

キャレットは共有リソースです。 ウィンドウには、入力フォーカスがある場合、またはアクティブな場合にのみキャレットが表示されます。

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 以外。以前に非表示になっていた場合は CWnd 0。

注釈

ShowWindow を使用するメイン ウィンドウ CWinApp::m_nCmdShowのアプリケーションごとに 1 回だけ呼び出す必要があります。 後続の ShowWindow 呼び出しでは、指定された値ではなく、上記の値のいずれかを使用する CWinApp::m_nCmdShow必要があります。

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

CWnd::SubclassDlgItem

このメンバー関数を呼び出して、ダイアログ テンプレートから作成されたコントロールを "動的にサブクラス化" し、この CWnd オブジェクトにアタッチします。

BOOL SubclassDlgItem(
    UINT nID,
    CWnd* pParent);

パラメーター

nID
コントロールの ID。

pParent
コントロールの親 (通常はダイアログ ボックス)。

戻り値

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

解説

コントロールが動的にサブクラス化されると、Windows メッセージは'のメッセージ マップを介して CWndルーティングされ、最初に 's クラスのメッセージ ハンドラーを CWnd呼び出します。 基底クラスに渡されるメッセージは、コントロール内の既定のメッセージ ハンドラーに渡されます。

このメンバー関数は、Windows コントロールをオブジェクトにCWndアタッチし、コントロールWndProcAfxWndProc関数を置き換えます。 この関数は、メンバー関数によって返される場所に古いもの WndProcGetSuperWndProcAddr 格納します。

// 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 メッセージは 's のメッセージ マップを CWnd介してルーティングされ、最初に 's クラスのメッセージ ハンドラーを CWnd呼び出します。 基底クラスに渡されるメッセージは、ウィンドウの既定のメッセージ ハンドラーに渡されます。

このメンバー関数は、Windows コントロールをオブジェクトにCWndアタッチし、ウィンドウWndProcAfxWndProc関数を置き換えます。 この関数は、オブジェクト内の古いもの WndProc へのポインターを CWnd 格納します。

Note

この関数を呼び出すときに、ウィンドウを 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();

解説

を使用して LockWindowUpdateロックできるのは、一度に 1 つのウィンドウだけです。 ウィンドウのロックの詳細については、 CWnd::LockWindowUpdate Win32 関数 LockWindowUpdate を参照してください。

CWnd::UnsubclassWindow

このメンバー関数を呼び出して元の値に戻 WndProc し、HWND によって識別されたウィンドウを CWnd オブジェクトからデタッチします。

HWND UnsubclassWindow();

戻り値

未分類ウィンドウへのハンドル。

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

CWnd::UpdateData

ダイアログ ボックス内のデータを初期化したり、ダイアログ データを取得して検証したりするには、このメンバー関数を呼び出します。

BOOL UpdateData(BOOL bSaveAndValidate = TRUE);

パラメーター

bSaveAndValidate
ダイアログ ボックスが初期化中か、データが取得TRUE中 (FALSE) かを示すフラグ。

戻り値

操作が成功した場合は 0 以外。それ以外の場合は 0。 ある場合、TRUE戻り値が 0 以外の場合bSaveAndValidateは、データが正常に検証されたことを意味します。

注釈

フレームワークは、既定の実装CDialog::OnInitDialogbSaveAndValidateモーダル ダイアログ ボックスが作成されたときに自動的にFALSE呼び出しUpdateDataを設定します。 呼び出しは、ダイアログ ボックスが表示される前に発生します。 このメンバー関数を呼び出す既定の CDialog::OnOK 実装では bSaveAndValidate 、データを取得するように TRUE 設定されており、成功した場合はダイアログ ボックスが閉じます。 (ダイアログ ボックスで [キャンセル] ボタンをクリックすると、データが取得されずにダイアログ ボックスが閉じられます)。

CWnd::UpdateDialogControls

このメンバー関数を呼び出して、コールバック メカニズムを使用するダイアログ ボックスまたはウィンドウ内のダイアログ ボタンやその他のコントロールの状態を ON_UPDATE_COMMAND_UI 更新します。

void UpdateDialogControls(
    CCmdTarget* pTarget,
    BOOL bDisableIfNoHndler);

パラメーター

pTarget
アプリケーションのメイン フレーム ウィンドウをポイントし、更新メッセージのルーティングに使用されます。

bDisableIfNoHndler
更新ハンドラーを持たないコントロールを自動的に無効として表示するかどうかを示すフラグ。

注釈

子コントロールにハンドラーがない場合、 bDisableIfNoHndler 子コントロールは TRUE無効になります。

フレームワークは、アプリケーションのアイドル処理の一環として、ダイアログ バーまたはツール バーのコントロールに対してこのメンバー関数を呼び出します。

CWnd::UpdateLayeredWindow

レイヤード ウィンドウの位置、サイズ、形状、内容、および透明度を更新します。

BOOL UpdateLayeredWindow(
    CDC* pDCDst,
    POINT* pptDst,
    SIZE* psize,
    CDC* pDCSrc,
    POINT* pptSrc,
    COLORREF crKey,
    BLENDFUNCTION* pblend,
    DWORD dwFlags);

パラメーター

pDCDst
画面のデバイス コンテキストへのポインター。 ウィンドウの内容が更新されるときに、パレットの色の一致に使用されます。 ある場合 pDCDstNULL、既定のパレットが使用されます。

if pDCSrc is NULL, pDCDst must be NULL.

pptDst
階層化されたウィンドウの POINT 新しい画面位置を指定する構造体へのポインター。 現在の位置が変更されていない場合は、 pptDst 次の値を指定 NULLできます。

psize
レイヤード ウィンドウの SIZE 新しいサイズを指定する構造体へのポインター。 ウィンドウのサイズが変更されていない場合は、 psize 次の値を指定 NULLできます。

if pDCSrc is NULL, psize must be NULL.

pDCSrc
レイヤード ウィンドウを定義するサーフェスの DC へのポインター。 ウィンドウの図形と視覚コンテキストが変更されていない場合は、 pDCSrc 次のことができます NULL

pptSrc
デバイス コンテキスト内の POINT レイヤーの場所を指定する構造体へのポインター。

if pDCSrc is NULL, pptSrc should be NULL.

crKey
レイヤード ウィンドウの COLORREF 作成時に使用する透明度カラー キーを指定する値へのポインター。 この色のウィンドウによって描画されたすべてのピクセルは透明になります。 を生成 COLORREFするには、RGB マクロを使用します。

pblend
レイヤード ウィンドウの BLENDFUNCTION 作成時に使用する透明度の値を指定する構造体へのポインター。

dwFlags
実行するアクションを指定します。 このパラメーターには、次の 1 つ以上の値を指定できます。 有効な値の一覧については、「UpdateLayeredWindow」を参照してください。

戻り値

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

解説

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

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更新領域から削除する四角形のクライアント座標を含むオブジェクトまたはRECT構造体を指します。 ある場合 lpRectNULL、ウィンドウ全体が検証されます。

解説

メンバー関数は BeginPaint 、クライアント領域全体を自動的に検証します。 更新領域の一部を ValidateRect 次に ValidateRgn 生成する前 WM_PAINT に検証する必要がある場合は、メンバー関数も呼び出さないでください。

Windowsは、現在の更新リージョンが検証されるまでメッセージを生成WM_PAINTし続けます。

CWnd::ValidateRgn

ウィンドウの現在の更新リージョンからリージョンを削除して、特定のリージョン内のクライアント領域を検証します。

void ValidateRgn(CRgn* pRgn);

パラメーター

pRgn
更新領域から削除する領域を定義する領域を識別するオブジェクトへのポインター CRgn 。 このパラメーターを指定 NULLすると、クライアント領域全体が削除されます。

解説

指定されたリージョンは、region 関数によって以前に作成されている必要があります。 領域座標はクライアント座標と見なされます。

メンバー関数は BeginPaint 、クライアント領域全体を自動的に検証します。 次WM_PAINTのメッセージがValidateRect生成される前にValidateRgn更新領域の一部を検証する必要がある場合は、メンバー関数も呼び出さないでください。

CWnd::WindowFromPoint

指定したポイントを含むウィンドウを取得します。 point は、画面上の点の画面座標を指定する必要があります。

static CWnd* PASCAL WindowFromPoint(POINT point);

パラメーター

point
チェックする点を CPoint 定義するオブジェクトまたは POINT データ構造を指定します。

戻り値

ポイントが存在するウィンドウ オブジェクトへのポインター。 特定の NULL 時点にウィンドウが存在しない場合です。 返されるポインターは一時的な場合があり、後で使用するために格納しないでください。

注釈

WindowFromPoint は、ポイントがウィンドウ内にある場合でも、非表示または無効のウィンドウを取得しません。 アプリケーションでは、非restrictive 検索にメンバー関数を使用 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
要求されるヘルプの種類を指定します。 使用可能な値の一覧とパラメーターへの影響dwDataについては、Windows SDK のWindows関数を参照してくださいWinHelp

注釈

詳細については、「 CWinApp::WinHelp 」を参照してください。

CWnd::RegisterTouchWindow

タッチ サポートWindows登録または登録解除します。

BOOL RegisterTouchWindow(
    BOOL bRegister = TRUE,
    ULONG ulFlags = 0);

パラメーター

bRegister
TRUE indicates register Windows touch support; FALSE otherwise.

ulFlags
オプションの変更を指定するビット フラグのセット。 このフィールドには、0 または次のいずれかの値を含む場合があります。 TWF_FINETOUCHTWF_WANTPALM

戻り値

成功した場合は TRUE。それ以外の場合は FALSE

解説

CWnd::ResizeDynamicLayout

ウィンドウで動的レイアウトが有効な場合、子ウィンドウのレイアウトを調整するためにウィンドウのサイズが変更されると、フレームワークによって呼び出されます。

virtual void ResizeDynamicLayout();

解説

関連項目

CCmdTarget クラス
階層図
CFrameWnd クラス
CView クラス