MFC

CWnd::OnHScroll

MFC

CWnd::OnHScrollイベントハンドラを追加して、水平スクロールバーの動きも実装する。CWnd クラス | Microsoft Learn これを選択してこれを選択して、 ここに貼り付けるここに貼り付ける。 これでハンドラ追加これでハンドラ追加。 あとは、こうして、こう。 …

CStatic::SetBitmap

MFC

CStatic::SetBitmapで、スタティックコントロールにビットマップをセットする。CStatic クラス | Microsoft Docs resの下にbitmap1.bmpを置いて、resの下にbitmap1.bmpを置いて、 リソースリソース、 BitmapをインポートBitmapをインポート。 bitmap1.bmpをI…

CBitmap::operator HBITMAP

MFC

HBITMAP演算子で、ロードされたビットマップのビットマップハンドルを取得できる。CBitmap クラス | Microsoft DocsCBitmapDlg.cppで、取得したhBitmapも表示する。 成功成功。 hBitmapの値はこれhBitmapの値はこれ。 で、ダイアログが出る。で、ダイアログ…

CBitmap::LoadBitmap

MFC

CBitmap::LoadBitmapで、登録済みビットマップリソースを読み込む。CBitmap クラス | Microsoft Docsビットマップファイルではなく、リソースとして登録したビットマップリソースなのがポイント。 (ビットマップファイルの場合は、ちょっと面倒くさい。) プ…

CStatic::Create

MFC

CStatic::Createで、スタティックコントロールのウィンドウを作成する。CStatic クラス | Microsoft DocsCStaticDlg.hで、CWndポインタのm_pStatic1、CStaticポインタのm_pStatic2を追加。 CStaticDlg.cppで、このように書く。 CStaticのCreateはリソースID…

CEdit::Create

MFC

CEdit::Createで、エディットコントロールのウィンドウを作成する。CEdit Class | Microsoft DocsCEditDlg.hで、CWndポインタのm_pEdit1、CEditポインタのm_pEdit2を追加。 CEditDlg.cppで、このように書く。 CEditのCreateはウィンドウ名も不要。 どちらも…

CButton::Create

MFC

CButton::Createで、ボタンのウィンドウを作成する。 CButtonクラスのCreateなので、ウィンドウクラス名は不要。CButton クラス | Microsoft DocsCButtonDlg.hで、CWndのm_pButton1に加えて、CButtonのm_pButton2を追加。 CButtonDlg.cppでは、どちらもCreat…

CWnd::Create

MFC

CWnd::Createで、ウィンドウを作成する。 子コントロール(子ウィンドウ)を表示するのにも使う。CWnd クラス | Microsoft DocsCWndDlg.hに、CWndオブジェクトポインタm_pButton1を追加。 CWndDlg.cppで、Createに、"BUTTON"ウィンドウクラスと、BS_PUSHBUTTON…

CDialog::OnInitDialog

MFC

ダイアログの初期化時、WM_INITDIALOGに対して呼ばれるのがCDialog::OnInitDialog。CDialog クラス | Microsoft Docsここで初期化をする。メッセージボックスで"CDialogDlg::OnInitDialog"と表示。 これが出てからこれが出てから、 ダイアログ表示ダイアログ…

CWnd::OnDestroy

MFC

ウィンドウが破棄された時に、CWnd::OnDestroyに来る。CWnd クラス | Microsoft Docsリソースエディタで、 WM_DESTROYの時のハンドラを追加する。WM_DESTROYの時のハンドラを追加する。 このOnDestroyに書く。このOnDestroyに書く。こう。 OKでもキャンセル…

CWnd::GetWindowText(rString)

MFC

CWnd::GetWindowTextは、CStringの参照を引数にとるオーバーロードメンバ関数があるので、TCHARバッファを用意しなくてもいい。CWnd クラス | Microsoft DocsCWndDlg.cppで、こう書く。 Button1押すと、Button1押すと、 こっちでも取れるこっちでも取れる。S…

CWnd::GetWindowText

MFC

CWnd::GetWindowTextで、テキストを取得する。CWnd クラス | Microsoft DocsCWndDlg.cppで、こう書く。 これでButton1を押すと、これでButton1を押すと、 こうなる。こうなる。Sample/mfc/CWnd/GetWindowText/src/CWnd at master · bg1bgst333/Sample · GitH…

CWnd::GetWindowTextLength

MFC

CWnd::GetWindowTextLengthで、テキストの長さを取得する。CWnd クラス | Microsoft Docs エディットコントロールを追加エディットコントロールを追加。 CWndDlg.cppで、こう書く。 "ABCDE"と入力して、Button1を押すと、"ABCDE"と入力して、Button1を押すと…

CWnd::SetWindowText

MFC

CWnd::SetWindowTextで、テキストをセットする。CWnd クラス | Microsoft DocsCWndDlg.cppで、こうすると、 Button1を押すと、Button1を押すと、 "Clicked!"に変わる"Clicked!"に変わる。Sample/mfc/CWnd/SetWindowText/src/CWnd at master · bg1bgst333/Sam…

CWnd::GetDlgItem

MFC

CWnd::GetDlgItemで、指定のリソースIDの子ウィンドウ(コントロール)オブジェクトポインタを取得する。CWnd クラス | Microsoft DocsWin32API版で取得したウィンドウハンドルと、こちらで取得したポインタのウィンドウハンドルが同じかどうか調べる。 ボタン…

CCommandLineInfo

MFC

CCommandLineInfoは、コマンドライン情報を持つクラス。CCommandLineInfo クラス | Microsoft DocsMFCのプロジェクトを作成したら、 CCommandLineInfoのところにブレークポイント貼っておくCCommandLineInfoのところにブレークポイント貼っておく。 実行して…

CDocTemplate

MFC

CDocTemplateは、ドキュメントテンプレートの基本抽象クラス。CDocTemplate クラス | Microsoft Docs今回は、前回素通りしたpTemplate->LoadTemplateを見ていこう。CDocTemplate クラス | Microsoft DocsCDocTemplate:: LoadTemplateというメンバ関数。ここ…

CDocManager::AddDocTemplate

MFC

CDocManager::AddDocTemplateは、ドキュメントテンプレートを追加するメンバ関数。MFC Document/View documentation and enhancements - CodeProjectCDocManagerCDocManagerから開始。ここでステップイン。CWinApp::AddDocTemplateここにくる。ここまで進め…

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すでに配置されているのでこの場合では選択不可であるがエディットコントロールに入力された値を入れ…