3

我想知道是否有一种方法可以(当然以编程方式)将图标/按钮/除了纯文本添加到窗口(Microsoft Windows 窗口...)的标题栏或最小化/最大化/关闭位置旁边按钮是。我可以自己画它并创建一个错觉,它是窗口的一部分,但我想知道在 user32 api 中是否有这样的方法。

到目前为止,我找到了一种禁用最小化/最大化/关闭按钮的方法,但没有找到一种向它们添加自定义按钮的方法。我觉得很奇怪。

这是我想要实现的目标: 替代文字

我一直想知道它是如何在这里完成的,因为使用 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