MFC

CDocManager

MFC

CDocManagerは、ドキュメントテンプレートを管理しているようだが、どういう役割をしているか詳細はこれから調べていく。MFC Document/View documentation and enhancements - CodeProjectしかも、インターナルクラスなのか、MSDNやdocsのリファレンスにはな…

CSingleDocTemplate

MFC

CSingleDocTemplateは、シングルドキュメントインターフェース用のドキュメントテンプレート。CSingleDocTemplate クラス | Microsoft DocsMFCアプリケーションMFCアプリケーションで、現在のプロジェクト設定現在のプロジェクト設定はそのまま。アプリケー…

CWinApp::AddDocTemplate

MFC

ここからは、SDIアプリケーションについて扱っていく。ドキュメント/ビュー アーキテクチャ | Microsoft Docs MFC編 - ドキュメント・ビューの基本MFCアプリケーションMFCアプリケーションプロジェクトを選択。現在のプロジェクト現在こうなっているが、シン…

DDX_Scroll

MFC

DDX_Scrollは、スクロールバーのつまみの位置を取得できる。DDX_Scroll | Microsoft Docsスクロールバーこのようにスクロールバーを配置し、変数の追加変数の追加で、ControlControlではCScrollBar、ValueValueではintを指定。このように追加される。IDC_SCR…

DDX_CBString

MFC

DDX_CBStringは、選択されたアイテムのテキストや入力されたテキストを取得できる。DDX_CBString (MFC)ValueでCString今回、コンボボックスの変数の追加で、ValueでCStringを指定する。このように追加される。IDC_COMBO1とm_xvComboBox1は、DDX_CBStringで紐…

DDX_CBIndex

MFC

DDX_CBIndexは、コンボボックスで選択されたアイテムが何番目かを取得できる。DDX_CBIndex | Microsoft Docsコンボボックスの配置コンボボックスを配置する。 Typeはドロップダウン。 ドロップダウンで表示する領域もきちんと拡げておく。変数の追加変数の追…

DDX_LBString

MFC

DDX_LBStringは、選択されたアイテムのテキストを取得できる。DDX_LBString | Microsoft Docsリストボックスまた、リストボックスで、変数の追加変数の追加。ValueでCString前回はValueでintだったが、今回はValueでCStringにする。 前回と同様にControlの変…

DDX_LBIndex

MFC

リストボックスで選択されたアイテムを取得する場合、Controlにしてクラスオブジェクトから取る方法も、Valueにしてプリミティブ型変数から取る方法もある。 DDX_LBIndexは、プリミティブ型変数から選択されたアイテムが何番目かを取得できる。DDX_LBIndex |…

DDX_Control

MFC

今回は、リストボックスの操作を行う。DDX_Control | Microsoft Docsこれまではコントロールの状態とプリミティブ型変数の値やCStringなどを紐づけていたが、今回はコントロールの状態とそのコントロールのクラスオブジェクトを紐づけることで、状態を取得し…

DDX_Radio

MFC

ラジオボタンの場合は、DDX_Radioマクロ。DDX_Radio | Microsoft Docs最初のアイテムはGroupをTrueに配置するときは、上から順に。 リソースIDの範囲でグループ化されるので。 最初のアイテムでは、GroupをTrueに。2つ目以降はGroupをFALSEに2つ目以降はGrou…

DDX_Check

MFC

チェックボックスを配置して、その変数を追加する場合は、DDX_Checkマクロが使われることになる。DDX_Check | Microsoft Docsチェックボックスの変数を追加チェックボックスで変数追加。変数の種類はBOOLIDC_CHECK1は、m_xvCheck1という変数で状態管理し、変…

DDX_Text

MFC

DDX_Textマクロには、オブジェクトの値がCStringのタイプだけでなく、intのタイプもある。(というよりいろんな型が選択できる。)DDX_Text | Microsoft Docsすでに配置されているのでこの場合では選択不可であるがエディットコントロールに入力された値を入れ…

CWnd::UpdateData

MFC

CWnd::UpdateDataは、DDX/DDVサポートで値を更新するときに使う。CWnd::UpdateDataこれまでは、入力された値を変数に格納する時に、UpdateData()を呼んでいた。 UpdateData()は引数省略形で、正式にはUpdateData(TRUE)とする。 一方、UpdateData(FALSE)とし…

CWnd::DoDataExchange

MFC

CWnd::DoDataExchangeは、DDX/DDVサポートで値の取得や設定など変更される時に呼ばれる。CWnd::DoDataExchangeダイアログこういうダイアログを用意して、変数の追加変数の追加で、ControlじゃなくてControlじゃなくて、ValueにするValueにする。そうするとCS…

CCmdTarget

MFC

CCmdTargetは、メッセージマップにおける基本となるクラス。CCmdTarget クラス | Microsoft Docs CCmdTarget クラス (MFC) MFC覚え書き(CCmdTarget〜) - かせいさんとこウィンドウやボタンなどのコントロールだけではなく、ビューやドキュメント、アプリケー…

CListCtrl::GetItemText

MFC

CListCtrl::GetItemTextは、指定されたアイテム(行)の指定されたカラム(列)のテキストを取得するメンバ関数・・・。CListCtrl::GetItemTextCListCtrl::GetNextItemで行インデックスが取得できたので、あとは列を指定すればテキストを取得できる・・・。Name…

CListCtrl::GetNextItem

MFC

CListCtrl::GetNextItemは、指定された条件に合うアイテムのインデックスを取得するメンバ関数・・・。CListCtrl::GetNextItem最初は第1引数に-1を指定すると、条件に合う最初のインデックスを返す・・・。 選択されているアイテムのインデックスを取得する…

CListCtrl::SetItem

MFC

CListCtrl::SetItemは、リストコントロールの1列目以降にアイテムをセットするメンバ関数・・・。CListCtrl::SetItemCListCtrl::InsertItemでは0列目しかセットできないので、これで1列目以降をセットする・・・。 CListCtrlの項ではLVITEMを使っていたが、…

CListCtrl::InsertItem

MFC

CListCtrl::InsertItemは、リストコントロールにアイテムを挿入するメンバ関数・・・。CListCtrl::InsertItemCListCtrlの項ではLVITEMをセットする形だったが、直接アイテムテキストをセットするオーバーロード関数のほうが簡単なのでそちらを使う・・・。 …

CListCtrl::InsertColumn

MFC

CListCtrl::InsertColumnは、リストコントロールにカラム(列)ヘッダを挿入するメンバ関数・・・。CListCtrl::InsertColumn前回は、LVCOLUMN構造体変数をセットする形式だったが、ヘッダ名などのパラメータを直接指定するもう一つのオーバーロード関数のほう…

CListCtrl

MFC

CListCtrlは、リストコントロールを扱うクラス・・・。CListCtrl クラスWin32でいうリストビュー(WC_LISTVIEW)のことだが、MFCにはCListViewというCListCtrlの機能を含む別のクラスがあるので、ここではリストコントロールと呼ぶ・・・。を選択し、このよう…

CProgressCtrl::SetPos

MFC

CProgressCtrl::SetPosは、現在位置をセットするメンバ関数・・・。CProgressCtrl::SetPos初期位置を50にセットする・・・。OnInitDialogで、IDC_PROGRESS1のCProgressCtrlオブジェクトポインタをpProgress1に格納・・・。 pProgress1->SetPosで50をセット・…

CProgressCtrl

MFC

CProgressCtrlは、プログレスバーを扱うクラス・・・。CProgressCtrl クラスボタンを押すごとにプログレスバーが進むようにしてみる・・・。を選択し、こう配置・・・。 ついでに、ボタンも下に配置した・・・。プログレスバーが1回進む度に、滑らかに動くよ…

CWnd::OnVScroll

MFC

縦方向のスクロールバーが操作されたとき、親ウィンドウのダイアログにWM_VSCROLLが送信される・・・。 (WM_VSCROLLの項を参照のこと・・・。) CWnd::OnVScrollは、WM_VSCROLLのイベントハンドラで、ここにスクロールバーの操作に対する処理を書く・・・。CW…

CScrollBar

MFC

CScrollBarは、スクロールバーを扱うクラス・・・。CScrollBar クラススクロールバーを配置して、変化する値の範囲、スクロールバーの現在位置をセットする・・・。縦方向のスクロールバー[Vertical Scroll Bar]を選択し、このように配置・・・。IDC_SCROLLB…

CComboBox::GetLBText

MFC

CComboBox::GetLBTextは、コンボボックスのリストボックス領域で選択されている項目のテキストを取得するメンバ関数・・・。CComboBox::GetLBTextGetLBTextLenで長さを取得したので、GetLBTextでテキストを取得する・・・。pComboBox1->GetLBTextLenでテキス…

CComboBox::GetLBTextLen

MFC

CComboBox::GetLBTextLenは、コンボボックスのリストボックス領域で選択されている項目のテキストの長さを取得するメンバ関数・・・。CComboBox::GetLBTextLenCListBoxはGetTextLenだったが、CComboBoxはGetLBTextLenで長さを取得・・・。追加ボタンButton1…

CComboBox

MFC

CComboBoxは、コンボボックスを扱うクラス・・・。CComboBox クラスコンボボックスは、エディットボックスとリストボックスの機能が一つになったもので、 リストボックスに選択したい項目が無い場合は、エディットボックス部分に指定した文字列を新しい項目…

CListBox::GetText

MFC

CListBox::GetTextは、リストボックスの選択されている項目のテキストを取得するメンバ関数・・・。CListBox::GetTextテキストの長さがわかったので、バッファを準備して、この関数でテキストを取得しバッファに格納する・・・。配置したら、Button2を押した…

CListBox::GetTextLen

MFC

CListBox::GetTextLenは、リストボックスの選択されている項目のテキストの長さを取得するメンバ関数・・・。CListBox::GetTextLen選択されている項目のテキストを取得したいが、その前にどれくらいの長さかわからないとバッファを作れないのでこれで長さを…