ウィンドウ(Microsoft Windowsウィンドウ...)のタイトルバーまたは最小化/最大化/閉じる場所の横に、プレーンテキスト以外のアイコン/ボタン/その他のものを(プログラムで)追加する方法があるかどうか疑問に思いました。ボタンはです。自分で描いて、ウィンドウの一部であるような錯覚を作り出すこともできますが、user32apiにそのような方法があるのではないかと思います。
これまでのところ、最小化/最大化/閉じるボタンを無効にする方法を見つけましたが、カスタムボタンを追加する方法はありませんでした。それは私には奇妙に思えます。
これが私が達成しようとしていることです:
gdi / gdi +を使用してすべてのウィンドウにボタンを描画し、それが別のウィンドウと重なっているかどうかを検出し、重なっていない部分だけを表示することは、ありそうもない解決策のように思えるので、ここでどのように行われるのか疑問に思っています。おそらく、ボタンはウィンドウクラスに登録されているため、すべてのウィンドウにこのボタンがあります。何をすべきかポインタはありますか?
さらに、Unicodeが有効になっていないと仮定して、ボタンを作成するにはどうすればよいですか。次に、次のコードで:
HWND hwndCommandLink = CreateWindow(
L"BUTTON", // Class; Unicode assumed.
L"", // Text will be defined later.
WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_COMMANDLINK, // Styles.
10, // x position.
10, // y position.
100, // Button width.
100, // Button height.
hDlg, // Parent window.
NULL, // No menu.
(HINSTANCE)GetWindowLong(hDlg, GWL_HINSTANCE),
NULL); // Pointer not needed.
SendMessage(clHwnd, WM_SETTEXT, 0, (LPARAM)L"Command link");
SendMessage(clHwnd, BCM_SETNOTE, 0, (LPARAM)L"with note");
私はすべての素晴らしいWindows定数をそれらの長い同等のもので置き換える必要があります....しかし、私がそれらを検索すると、私が得るのはこれだけです:http: //msdn.microsoft.com/en-us/library/bb775951 (v = VS.85).aspx
ポインタはありますか?