3

ウィンドウ(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

ポインタはありますか?

4

0 に答える 0