我想知道是否有一种方法可以(当然以编程方式)将图标/按钮/除了纯文本添加到窗口(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
任何指针?