ボタンやエディットボックスなど、たいていのコントロールはウィンドウを元に作成されている・・・。
ボタンを動的に作成したい場合、CreateWindowでウィンドウクラス名に"BUTTON"または、マクロWC_BUTTONを指定したウィンドウをつくる・・・。
これがボタンコントロールとなる・・・。
WC_BUTTONの場合は、
commctrl.hが必要・・・。
resource.hには、リソースIDだけ、
を定義・・・。
リソースファイル(.rcファイル)には、何も追加しない・・・。
その代わりに、WindowProcで、
CreateWindowでWC_BUTTONなウィンドウ作成・・・。
WS_CHILDでメインのウィンドウの子ウィンドウであることを指定・・・。
WS_VISIBLEをつけないと表示されないので注意・・・。
CreateWindowの引数hMenuにリソースIDのID_BUTTON1をHMENUにキャストして渡す・・・。
ボタン処理は、WM_COMMANDの、
ID_BUTTON1の部分に定義しておく・・・。
実行するとウィンドウ上にボタンができるのでクリック・・・。
押されると、メッセージボックスで"Button1"と表示される・・・。
Sample/WC_BUTTON.cpp at master · bg1bgst333/Sample · GitHub
Sample/resource.h at master · bg1bgst333/Sample · GitHub
Sample/WC_BUTTON.rc at master · bg1bgst333/Sample · GitHub