WindowsAPI

InitCommonControls

InitCommonControlsで、コモンコントロールの初期化をする。InitCommonControls 関数 (commctrl.h) - Win32 apps | Microsoft Learn今回は、ウィンドウの上にリストビューを載せてみる。 InitCommonControls.cppで、InitCommonControlsの後で、リストビュー…

WM_SYSCOMMAND

WM_SYSCOMMANDは、システムメニュー項目が選択された時に発生。WM_SYSCOMMAND メッセージ (Winuser.h) - Win32 apps | Microsoft LearnWM_SYSCOMMAND.cppで、とする。 SystemMenuItem1を選択SystemMenuItem1を選択。 メッセージボックス出る。メッセージボッ…

GetSystemMenu

GetSystemMenuで、システムメニューハンドルを取得する。GetSystemMenu 関数 (winuser.h) - Win32 apps | Microsoft LearnGetSystemMenu.cppで、今回はメニューリソースIDは1個でいいので、ここに。WM_CREATEで、システムメニューにアイテム追加。 タイトル…

TrackPopupMenu

TrackPopupMenuは、指定の位置にコンテキストメニューを表示する。TrackPopupMenu 関数 (winuser.h) - Win32 apps | Microsoft LearnTrackPopupMenu.rcで、メニューリソースをこうする。 TrackPopupMenu.cppでは、メインメニューは無し。WM_CREATEで、右クリ…

WM_RBUTTONUP

WM_RBUTTONUPは、マウス右ボタンが離された時に発生する。WM_RBUTTONUP メッセージ (Winuser.h) - Win32 apps | Microsoft LearnWM_RBUTTONUP.cppで、こう書く。 マウス右ボタン離したらこうなる。マウス右ボタン離したらこうなる。 ただ、タッチパッドだと2…

WM_RBUTTONDOWN

WM_RBUTTONDOWNは、マウス右ボタンが押された時に発生する。WM_RBUTTONDOWN メッセージ (Winuser.h) - Win32 apps | Microsoft LearnWM_RBUTTONDOWN.cppで、こう書く。 カーソル見えないけど、右クリックで左上の座標変化。カーソル見えないけど、右クリック…

WM_LBUTTONUP

WM_LBUTTONUPは、マウス左ボタンが離された時に発生する。WM_LBUTTONUP メッセージ (Winuser.h) - Win32 apps | Microsoft LearnWM_LBUTTONUP.cppで、こう書く。 マウス左ボタンを押して離すと座標が出る。左クリック動作で押して離すと座標が出る。 ただ手…

GetMenu

GetMenuで、指定のウィンドウのメニューハンドルを取得する。GetMenu 関数 (winuser.h) - Win32 apps | Microsoft LearnGetMenu.cppで、メニューリソースIDは、再びウィンドウクラスのwc.lpszMenuNameで指定するように戻した。GetMenuでhwndのメニューハンド…

LoadMenu

LoadMenuで、メニューリソースをロードする。LoadMenuW 関数 (winuser.h) - Win32 apps | Microsoft LearnLoadMenu.cppで、ここでロード。LoadMenuの場合は、DestroyMenuもいるのかな。 表示できた。表示できた。 破棄も成功するからこのタイミングでいいの…

GetMenuItemID

GetMenuItemIDで、指定の位置のメニューアイテムのIDを取得する。GetMenuItemID 関数 (winuser.h) - Win32 apps | Microsoft LearnGetMenuItemID.cppで、とする。 Item1-1を選択で、Item1-1を選択で、 こうなる。こうなる。Sample/winapi/GetMenuItemID/GetM…

GetSubMenu

GetSubMenuで、指定位置のサブメニューハンドルを取得する。GetSubMenu 関数 (winuser.h) - Win32 apps | Microsoft LearnGetSubMenu.cppで、こうしてみる。 スタティック変数のhPopupMenu1などを使わずに、GetSubMenuでサブメニューハンドルを取得し、hPopu…

RemoveMenu

RemoveMenuは、指定のメニューアイテムを削除するのだが、そこがサブメニューの場合でもハンドルは破棄しない。RemoveMenu 関数 (winuser.h) - Win32 apps | Microsoft LearnRemoveMenu.cppで、こうすると、 Item1-1選択でItem1-1選択で、 DestroyMenu成功と…

DestroyMenu

DestroyMenuで、指定のメニューハンドルを破棄する。DestroyMenu 関数 (winuser.h) - Win32 apps | Microsoft LearnDeleteMenuで指定されたメニュー項目がサブメニューを持っている場合、サブメニューのハンドルを破棄する。 サブメニューハンドルが破棄され…

MF_BYPOSITION

位置を指定する場合は、MF_BYPOSITIONを使う。DeleteMenu 関数 (winuser.h) - Win32 apps | Microsoft LearnMF_BYPOSITION.cppで、こうしてみる。 この状態からこの状態から、 Item1-1を選択Item1-1を選択、 0番目のItem3-1が消える。0番目のItem3-1が消える…

MF_BYCOMMAND

DeleteMenuの第3引数としてMF_BYCOMMANDを指定すると、第2引数に指定したコマンドIDのメニューアイテムを削除する。DeleteMenu 関数 (winuser.h) - Win32 apps | Microsoft LearnMF_BYCOMMAND.cppで、こうしてみる。 Item3がこうなっているとして、Item3がこ…

MENUITEMINFO

MENUITEMINFO構造体の内容を変えれば、メニュー項目の様々な設定や取得が出来る。MENUITEMINFOW (winuser.h) - Win32 apps | Microsoft LearnMENUITEMINFO.cppで、選択したメニュー項目がグレーアウトする。 これをクリックしたらこれをクリックしたら、 グ…

SetMenuItemInfo

SetMenuItemInfoで、メニューアイテムの情報を設定する。SetMenuItemInfoW 関数 (winuser.h) - Win32 apps | Microsoft LearnSetMenuItemInfo.cppで、選択されたアイテムのメニュー項目名を変更。 ここをクリックするとここをクリックすると、 こうなる。こ…

GetMenuItemInfo

GetMenuItemInfoで、メニューアイテムの情報を取得する。GetMenuItemInfoW 関数 (winuser.h) - Win32 apps | Microsoft LearnGetMenuItemInfo.cppで、選択されたアイテムの情報を取得し、メッセージボックスでメニュー項目名を表示。 ここなら、ここなら、 …

DrawMenuBar

DrawMenuBarで、メニューの再描画をする。DrawMenuBar 関数 (winuser.h) - Win32 apps | Microsoft LearnDrawMenuBar.cppで、 // どのメニュー項目が選択されたかを判定する. switch (LOWORD(wParam)){ // LOWORD(wParam)で選択されたメニュー項目のIDが取得…

GetMenuItemCount

GetMenuItemCountで、メニュー項目の項目数を取得する。GetMenuItemCount 関数 (winuser.h) - Win32 apps | Microsoft LearnGetMenuItemCount.cppで、メニューのリソースIDはこうする。 WM_CREATEでは、2つのポップアップメニューを作成。Item2-1が選ばれた…

DeleteMenu

DeleteMenuで、指定のメニューアイテムを削除する。DeleteMenu 関数 (winuser.h) - Win32 apps | Microsoft LearnDeleteMenu.cppで、ウィンドウ生成時に、3つのアイテムを追加した後、ID_ITEM_1_2だけはすぐ削除。ウィンドウ破棄時は、残った2つを削除。 起…

SetMenu

SetMenuで、ウィンドウにメニューをセットする。SetMenu 関数 (winuser.h) - Win32 apps | Microsoft Learnメニューリソースをウィンドウクラスにセットしたり、メニューハンドルをCreateWindowにセットしたりではなく、ウィンドウを作成してからメニューハ…

WideCharToMultiByte(CP_UTF8)

WideCharToMultiByteにCP_UTF8を指定すると、ワイド文字をUTF-8に変換出来る。WideCharToMultiByte function (stringapiset.h) - Win32 apps | Microsoft LearnWideCharToMultiByte.cppで、として、 こうしてこうして、 Saveを押すと、Saveを押すと、 UTF-8(…

MultiByteToWideChar(CP_UTF8)

MultiByteToWideCharにCP_UTF8を指定すると、UTF-8をワイド文字に変換出来る。MultiByteToWideChar function (stringapiset.h) - Win32 apps | Microsoft LearnMultiByteToWideChar.cppで、として、 test.txtを文字コードUTF-8(BOM無し)にしておくと、test.t…

wsprintf

wsprintfは、指定されたバッファに指定された書式のデータを書き込む。wsprintfW 関数 (winuser.h) - Win32 apps | Microsoft LearnC標準関数っぽいが、れっきとしたWindowsAPI。 ただ、機能はほぼsprintf。 ただし、実数書式の"%f"などは使えないことに注意…

InterlockedDecrement

InterlockedDecrementは、指定された変数をデクリメントする。InterlockedDecrement 関数 (winnt.h) - Win32 apps | Microsoft Learn 第110章COMの参照カウンタを減らすのに使う。 InterlockedDecrement.cppで、 // ヘッダファイルのインクルード #includ…

InterlockedIncrement

InterlockedIncrementは、指定された変数をインクリメントする。InterlockedIncrement 関数 (winnt.h) - Win32 apps | Microsoft Learn 第110章COMの参照カウンタを増やすのに使うのだが、なぜこれが必要なのかというと、普通のインクリメント演算子"++"…

SetRectEmpty

SetRectEmptyで、指定のRECTを空にする。SetRectEmpty 関数 (winuser.h) - Win32 apps | Microsoft LearnSetRectEmpty.cppで、以前にやったRECTの回のコードをベースに。 GetWindowRectで取得したrcをいったんデバッグ出力。 最後にSetRectEmptyでrcを空にし…

SHCNE_MEDIAREMOVED

SDカードなど、メディアを取り出した時、SHCNE_MEDIAREMOVEDが来る。SHChangeNotifyRegister 関数 (shlobj_core.h) - Win32 apps | Microsoft Learn C#でリムーバブルメディアの着脱を検知する方法 その2 - ohyajapanの日記SHCNE_MEDIAREMOVED.cppで、SHCNE_…

SHCNE_MEDIAINSERTED

SDカードなど、メディアを挿入した時、SHCNE_MEDIAINSERTEDが来る。SHChangeNotifyRegister 関数 (shlobj_core.h) - Win32 apps | Microsoft Learn C#でリムーバブルメディアの着脱を検知する方法 その2 - ohyajapanの日記SHCNE_MEDIAINSERTED.cppで、SHCNE_…