InitCommonControls

InitCommonControlsで、コモンコントロールの初期化をする。

InitCommonControls 関数 (commctrl.h) - Win32 apps | Microsoft Learn

今回は、ウィンドウの上にリストビューを載せてみる。
InitCommonControls.cppで、

InitCommonControlsの後で、リストビューの作成や、カラム挿入する。アイテムは無いけど。

comctl32.libのリンクが必要
comctl32.libのリンクが必要

comctl32.libのリンクが必要。

リストビュー表示された。
リストビュー表示された。

リストビュー表示された。
アイテム無いけど。
InitCommonControlsをコメントアウトしても表示できるので、意味あるのかわからんけど。

Sample/winapi/InitCommonControls/InitCommonControls/src/InitCommonControls at master · bg1bgst333/Sample · GitHub

WM_SYSCOMMAND

WM_SYSCOMMANDは、システムメニュー項目が選択された時に発生。

WM_SYSCOMMAND メッセージ (Winuser.h) - Win32 apps | Microsoft Learn

WM_SYSCOMMAND.cppで、

とする。

SystemMenuItem1を選択

SystemMenuItem1を選択。

メッセージボックス出る。
メッセージボックス出る。

メッセージボックス出る。

Sample/winapi/WM_SYSCOMMAND/WM_SYSCOMMAND/src/WM_SYSCOMMAND at master · bg1bgst333/Sample · GitHub

GetSystemMenu

GetSystemMenuで、システムメニューハンドルを取得する。

GetSystemMenu 関数 (winuser.h) - Win32 apps | Microsoft Learn

GetSystemMenu.cppで、

今回はメニューリソースIDは1個でいいので、ここに。

WM_CREATEで、システムメニューにアイテム追加。

タイトルバー右クリックでシステムメニュー表示
タイトルバー右クリックでシステムメニュー表示

タイトルバー右クリックでシステムメニュー表示。
アイテム追加されてる。

Sample/winapi/GetSystemMenu/GetSystemMenu/src/GetSystemMenu at master · bg1bgst333/Sample · GitHub

TrackPopupMenu

TrackPopupMenuは、指定の位置にコンテキストメニューを表示する。

TrackPopupMenu 関数 (winuser.h) - Win32 apps | Microsoft Learn

TrackPopupMenu.rcで、

メニューリソースをこうする。
TrackPopupMenu.cppでは、

メインメニューは無し。

WM_CREATEで、右クリックメニューハンドルを取得。

TrackPopupMenuで右クリックメニュー表示。

右クリックでメニュー表示された
右クリックでメニュー表示された

右クリックでメニュー表示された。

Sample/winapi/TrackPopupMenu/TrackPopupMenu/src/TrackPopupMenu at master · bg1bgst333/Sample · GitHub

WM_RBUTTONUP

WM_RBUTTONUPは、マウス右ボタンが離された時に発生する。

WM_RBUTTONUP メッセージ (Winuser.h) - Win32 apps | Microsoft Learn

WM_RBUTTONUP.cppで、

こう書く。

マウス右ボタン離したらこうなる。
マウス右ボタン離したらこうなる。

マウス右ボタン離したらこうなる。
ただ、タッチパッドだと2本指タッチで押したままにして数秒後離しても反応しない。

Sample/winapi/WM_RBUTTONUP/WM_RBUTTONUP/src/WM_RBUTTONUP at master · bg1bgst333/Sample · GitHub

WM_RBUTTONDOWN

WM_RBUTTONDOWNは、マウス右ボタンが押された時に発生する。

WM_RBUTTONDOWN メッセージ (Winuser.h) - Win32 apps | Microsoft Learn

WM_RBUTTONDOWN.cppで、

こう書く。

カーソル見えないけど、右クリックで左上の座標変化。
カーソル見えないけど、右クリックで左上の座標変化。

カーソル見えないけど、右クリックで左上の座標変化。
タッチパッドの場合、2本指タッチで右クリック扱いになる。

Sample/winapi/WM_RBUTTONDOWN/WM_RBUTTONDOWN/src/WM_RBUTTONDOWN at master · bg1bgst333/Sample · GitHub

WM_LBUTTONUP

WM_LBUTTONUPは、マウス左ボタンが離された時に発生する。

WM_LBUTTONUP メッセージ (Winuser.h) - Win32 apps | Microsoft Learn

WM_LBUTTONUP.cppで、

こう書く。

マウス左ボタンを押して離すと座標が出る。
マウス左ボタンを押して離すと座標が出る。

左クリック動作で押して離すと座標が出る。
ただ手元にマウスがなくタッチパッドだと押してすぐ離す場合は反応するが、押したまましばらくしてから離しても反応しない。

Sample/winapi/WM_LBUTTONUP/WM_LBUTTONUP/src/WM_LBUTTONUP at master · bg1bgst333/Sample · GitHub