MFC

CComboBox::SetCurSel

MFC

CComboBox::SetCurSelで指定されたインデックスのアイテムをセットする。CComboBox Class | Microsoft LearnCComboBoxDlg.cppで、とする。 起動時に2番目の"さしすせそ"がセットされる。起動時に2番目の"さしすせそ"がセットされる。Sample/mfc/CComboBox/Se…

CComboBox::GetCurSel

MFC

CComboBox::GetCurSelで、選択されたアイテムのインデックスを取得する。CComboBox Class | Microsoft Learn Button3を配置して、Button3を配置して、 CComboBoxDlg.cppで、とする。 "かきくけこ"を選択してButton3を押すとこうなる。"かきくけこ"を選択して…

CComboBox::AddString

MFC

CComboBox::AddStringで、コンボボックスに文字列アイテムを追加する。CComboBox Class | Microsoft LearnCComboBoxDlg.cppで、OnInitDialogで、AddStringで"あいうえお"、"かきくけこ"、"さしすせそ"を追加する。 起動時に最初から追加されてる。起動時に最…

CWnd::CreateEx

MFC

CWnd::CreateExは、CreateWindowExのラッパーで、拡張スタイルを指定出来る。CWnd クラス | Microsoft LearnCWndDlg.cppで、WS_EX_CLIENTEDGEを指定する。 縁の付いたボタンになった。縁の付いたボタンになった。Sample/mfc/CWnd/CreateEx/src/CWnd at maste…

CWnd::OnEraseBkgnd

MFC

CWnd::OnEraseBkgndで、背景を消去して、新たに背景を描く。CWnd クラス | Microsoft Learn プロパティでOnEraseBkgndのハンドラを追加プロパティでOnEraseBkgndのハンドラを追加。 CWnd_Dlg.cppで、とする。 赤い背景を再描画赤い背景を再描画 ちらつきが起…

CWnd::MoveWindow

MFC

CWnd::MoveWindowで、ウィンドウの位置やサイズを指定の矩形に従って直す。CWnd クラス | Microsoft Learnリソースエディタで、 コントロールとか左上に寄せるコントロールとか左上に寄せる。 エディットボックスを貼るエディットボックスを貼る。 CWnd_Dlg.…

CFileDialog::GetOFN

MFC

CFileDialog::GetOFNで、OPENFILENAME構造体を取得する。CFileDialog クラス | Microsoft LearnCFrameWnd_.cppは、こうする。 Item1-2を押すと、Item1-2を押すと、 "名前を付けて保存"なので"test2.txt"と指定。"名前を付けて保存"なので"test2.txt"と指定。…

CFileDialog

MFC

CFileDialogはファイル選択ダイアログクラス。CFileDialog クラス | Microsoft Learnコンストラクタの第1引数がFALSEだと"名前を付けて保存"ダイアログになる。 resource.hは、ID_ITEM_1_2を追加。 CFileDialog.rcは、Item1-2を追加。 CFrameWnd_.hは、OnUpd…

CFileDialog::DoModal

MFC

MFCでは、CFileDialog::DoModalで、ファイル選択ダイアログを表示する。CFileDialog クラス | Microsoft LearnCFrameWnd_.cppで、OnItem1_1で、CFileDialogのコンストラクタ引数の最初をTRUEにすると、"ファイルを開く"ダイアログとして表示される。 Item1-1…

CMenu::DeleteTempMap

MFC

CMenu::DeleteTempMapで、CMenu::FromHandleの時に作成された一時オブジェクトマップを削除する。CMenu クラス | Microsoft LearnCFrameWnd_.cppで、こうすると、 この時点でハンドルはある。この時点でハンドルはある。 ここまで行くと、もうメニューハンド…

CMenu::CheckMenuRadioItem

MFC

メニューのラジオ項目にチェックを付けるには、CMenu::CheckMenuRadioItemを使う。CMenu クラス | Microsoft LearnCFrameWnd_.cppで、とする。 Item1-2を押すと、Item1-2を押すと、 チェックが付く。チェックが付く。Sample/mfc/CMenu/CheckMenuRadioItem/sr…

ON_COMMAND_RANGE

MFC

項目IDの連続した範囲を1つのハンドラ関数にマップするには、ON_COMMAND_RANGEを使う。メッセージ マップ マクロ (MFC) | Microsoft Learnメニューのラジオ項目とかのイベントを拾う時はこれを使う。 CFrameWnd_.hは、とする。 CFrameWnd_.cppは、とする。 …

CMenu::CheckMenuItem

MFC

CMenu::CheckMenuItemで、指定のメニュー項目にチェックを付けたり外したりできる。CMenu クラス | Microsoft LearnCFrameWnd_.cppで、とする。 Item1-1を押すと、Item1-1を押すと、 チェックが付いて、また押すと、チェックが付いて、また押すと、 チェック…

CMenu::GetMenuState

MFC

CMenu::GetMenuStateで、メニュー項目の状態を取得する。CMenu クラス | Microsoft LearnCFrameWnd_.hは、とする。 CFrameWnd_.cppは、とする。 Item1-4押すと、Item1-4押すと、 これが出て、これが出て、 これが出て、これが出て、 これが出る。これが出る…

CMenu::ModifyMenu

MFC

CMenu::ModifyMenuで、メニュー項目のテキストを指定した文字列に更新する。CMenu クラス | Microsoft LearnCFrameWnd_.cppで、とすると、 Item1-1を押すと、Item1-1を押すと、 こうなる。こうなる。Sample/mfc/CMenu/ModifyMenu/src/CMenu at master · bg1b…

CMenu::GetMenuString

MFC

CMenu::GetMenuStringで、指定の項目のテキストを取得する。CMenu クラス | Microsoft LearnCFrameWnd_.cppで、とする。 押したら、押したら、 こうなる。こうなる。Sample/mfc/CMenu/GetMenuString/src/CMenu at master · bg1bgst333/Sample · GitHub

CMenu::GetMenuItemID

MFC

CMenu::GetMenuItemIDで、指定位置の項目IDを取得する。CMenu クラス | Microsoft LearnCFrameWnd_.cppで、とする。 Item1-1を押すと、Item1-1を押すと、 0番目の項目IDはID_ITEM_1_1と同じ0番目の項目IDはID_ITEM_1_1と同じ。Sample/mfc/CMenu/GetMenuItemI…

CMenu::GetMenuItemCount

MFC

CMenu::GetMenuItemCountで、メニュー項目数を取得する。CMenu クラス | Microsoft LearnCFrameWnd_.cppで、とする。 Item1-1を押すと、Item1-1を押すと、 項目数は4。項目数は4。Sample/mfc/CMenu/GetMenuItemCount/src/CMenu at master · bg1bgst333/Sampl…

CMenu::GetDefaultItem

MFC

CMenu::GetDefaultItemで、どれが既定のメニュー項目かを判定する。CMenu クラス | Microsoft LearnCFrameWnd_.cppで、とする。 そのままItem1-3を押すと、そのままItem1-3を押すと、 既定の項目がないのでこうなる。既定の項目がないのでこうなる。 Item1-1…

CMenu::SetDefaultItem

MFC

CMenu::SetDefaultItemで、既定のメニュー項目にする。CMenu クラス | Microsoft LearnCFrameWnd_.cppで、Item1-1が押されたら、Item1-2を既定の項目にする。 押したら、押したら、 既定の項目の特徴である太字になるが、なんで文字列途中で切れるんだろ。既…

CMenu::EnableMenuItem

MFC

CMenu::EnableMenuItemで、メニュー項目の有効化や、無効化や、グレーアウトをセットする。CMenu クラス | Microsoft Learn EnableMenuItem: 日々題resource.hは、項目4つ。 CMenu.rcは、こうする。 CFrameWnd_.hは、こうして、CFrameWnd_.cppは、こうする。…

CMenu::DeleteMenu

MFC

CMenu::DeleteMenuでメニュー項目を削除する。CMenu クラス | Microsoft LearnCFrameWnd_.cppで、Item1-3が押されたら、1番目を削除。 Item1-1を押すと、Item1-1を押すと、 Item1-2が挿入されたので、Item1-3を押すと、Item1-2が挿入されたので、Item1-3を押…

CMenu::InsertMenu

MFC

CMenu::InsertMenuで、メニュー項目を挿入する。CMenu クラス | Microsoft Learnresource.hは、ID_ITEM_1_1からID_ITEM_1_3の3つ。 CMenu.rcは、デフォルト表示は、Item1-1とItem1-3。 CFrameWnd_.hは、Item1-1からItem1-3までのハンドラ。 CFrameWnd_.cppは…

CMenu::GetSubMenu

MFC

CMenu::GetSubMenuで、サブメニューを取得する。CMenu クラス | Microsoft Learnresource.hは、ID_ITEM_1_2だけ増えた。 CWinApp_.cppは、LoadFrameでIDM_MAINMENUをロード。 CFrameWnd_.hは、OnUpdateItem1_2や、OnItem1_2が追加。 CFrameWnd_.cppは、OnIte…

CMenu::CreatePopupMenu

MFC

CMenu::CreatePopupMenuで、ポップアップメニュー(サブメニュー)を作成する。CMenu クラス | Microsoft Learnresource.hは、メニュー差し替え後は9つの項目。 CMenu.rcは、最初はItem1-1だけ。 CFrameWnd_.hは、ポップアップメニューはメンバーとして持って…

CWnd::DrawMenuBar

MFC

CWnd::DrawMenuBarで、メニューバーを描画する。CWnd クラス | Microsoft LearnCWinApp_.cppは、pFrameWnd_->LoadFrameでIDM_MAINMENUをロード。 CFrameWnd_.cppは、 // ハンドラOnItem1_1() void CFrameWnd_::OnItem1_1(){ // メニュー項目Item1_1のコマン…

CMenu::Detach

MFC

CMenu::Detachで、メニューハンドルとCMenuオブジェクトの紐付けを解除する。CMenu クラス | Microsoft LearnCFrameWnd_.cppで、 // ハンドラOnItem1_1() void CFrameWnd_::OnItem1_1(){ // メニュー項目Item1_1のコマンドハンドラ // メニュー項目の追加. C…

CMenu::Attach

MFC

CMenu::Attachで、メニューハンドルとCMenuオブジェクトを紐付ける。CMenu クラス | Microsoft LearnCFrameWnd_.cppで、こういった場合は、Detachは不要。 破棄する前提というのもあるし、cMenu.DestroyMenuの中でDetachしてDestroyMenuしてm_hMenuはNULLに…

CMenu::FromHandle

MFC

CMenu::FromHandleで、メニューハンドルからCMenuオブジェクトポインタを取得する。CMenu クラス | Microsoft LearnCWinApp_.cppは、CFrameWndには、m_hMenuDefaultというデフォルトメニューハンドルのメンバがあるが、LoadFrameじゃないとセットされない。 …

CWnd::Detach

MFC

CWnd::Detachで、CWndオブジェクトとウィンドウハンドルの紐付けを解除する。CWnd クラス | Microsoft LearnCFrameWnd_.cppで、結局、メンバにしなくても、ローカルオブジェクトでAttachして、操作して、Detachすればいい。 Item1-1を押すと、Item1-1を押す…