CButton::Create

CButton::Createで、ボタンのウィンドウを作成する。
CButtonクラスのCreateなので、ウィンドウクラス名は不要。

CButton クラス | Microsoft Docs

CButtonDlg.hで、

CWndのm_pButton1に加えて、CButtonのm_pButton2を追加。
CButtonDlg.cppでは、

どちらもCreateでウィンドウ作成。

ボタンが2つできた。
ボタンが2つできた。

ボタンが2つできた。

Sample/mfc/CButton/Create/src/CButton at master · bg1bgst333/Sample · GitHub

CWnd::Create

CWnd::Createで、ウィンドウを作成する。
子コントロール(子ウィンドウ)を表示するのにも使う。

CWnd クラス | Microsoft Docs

CWndDlg.hに、

CWndオブジェクトポインタm_pButton1を追加。
CWndDlg.cppで、

Createに、"BUTTON"ウィンドウクラスと、BS_PUSHBUTTONスタイルを指定すれば、ボタンになる。

ウィンドウ破棄時に、子コントロールのオブジェクトポインタも忘れずに解放。

Button1が表示された
Button1が表示された

Button1が表示された。

Sample/mfc/CWnd/Create/src/CWnd at master · bg1bgst333/Sample · GitHub

CDialog::OnInitDialog

ダイアログの初期化時、WM_INITDIALOGに対して呼ばれるのがCDialog::OnInitDialog。

CDialog クラス | Microsoft Docs

ここで初期化をする。

メッセージボックスで"CDialogDlg::OnInitDialog"と表示。

これが出てから
これが出てから

これが出てから、

ダイアログ表示
ダイアログ表示

ダイアログ表示。

Sample/mfc/CDialog/OnInitDialog/src/CDialog at master · bg1bgst333/Sample · GitHub

CWnd::OnDestroy

ウィンドウが破棄された時に、CWnd::OnDestroyに来る。

CWnd クラス | Microsoft Docs

リソースエディタで、

WM_DESTROYの時のハンドラを追加する。
WM_DESTROYの時のハンドラを追加する。

WM_DESTROYの時のハンドラを追加する。

このOnDestroyに書く。
このOnDestroyに書く。

このOnDestroyに書く。

こう。

OKでもキャンセルでも閉じられて破棄されるので、
OKでもキャンセルでも閉じられて破棄されるので、

OKでもキャンセルでも閉じられて破棄されるので、

その後、これが出てくる。
その後、これが出てくる。

その後、これが出てくる。

Sample/mfc/CWnd/OnDestroy/src/CWnd at master · bg1bgst333/Sample · GitHub

2022年の振り返り

2022年はお世話になりました。
2023年もよろしくお願いいたします。

オリンピック

野球のほうは無観客になってしまったので、富士スピードウェイ自転車競技だけ見ましたが、圧倒的迫力と臨場感でした。

埼玉西武ライオンズ

終盤まで優勝争いするも7連敗が響いて3位。
投手陣は良かったが、もっと打たないと。
そしてFAで森がオリックスに。
来年から奮起で大変だ。

つぼみ大革命

みどりこさんが年間5回も舞台に立ち、そのうち4つ見れたので満足。
THE Wやワンマンなどのコントでも大活躍。
ちーちゃんもSHAKESPEARでパックがハマリ役。
配信曲が多数増え、つぼみ大劇場のラッシュな1年。

Sample

最近WindowsAPIから少しずつ。今はエディットボックスのEM_系メッセージの辺り。

Test

割と進めたけど、Pictureがひと段落のところで今はSample待ち。

BFC

ようやく着手でPictureのところまで。
VizCommandの再開はまだ・・・。

YouTube

西武の優勝争いのとこまでは毎日投稿できたんだけど、優勝が厳しくなってからもう飽きたというか・・・。
来年はほのぼのやっていこう・・・。

最後に

あらためて、2023年もよろしくお願いいたします。

CWnd::GetWindowText(rString)

CWnd::GetWindowTextは、CStringの参照を引数にとるオーバーロードメンバ関数があるので、TCHARバッファを用意しなくてもいい。

CWnd クラス | Microsoft Docs

CWndDlg.cppで、

こう書く。

Button1押すと、
Button1押すと、

Button1押すと、

こっちでも取れる
こっちでも取れる

こっちでも取れる。

Sample/mfc/CWnd/GetWindowText_rString/src/CWnd at master · bg1bgst333/Sample · GitHub

CWnd::GetWindowText

CWnd::GetWindowTextで、テキストを取得する。

CWnd クラス | Microsoft Docs

CWndDlg.cppで、

こう書く。

これでButton1を押すと、
これでButton1を押すと、

これでButton1を押すと、

こうなる。
こうなる。

こうなる。

Sample/mfc/CWnd/GetWindowText/src/CWnd at master · bg1bgst333/Sample · GitHub