[英]How to change the background color of the title bar color C++/SDL2
我認為僅使用 SDL2 是不可能的,但您可以獲得本機窗口並使用它。
查看您的屏幕截圖,我假設您使用的是 Windows。 您可以像這樣獲得HWND
(請參閱此答案):
SDL_SysWMinfo wmInfo;
SDL_VERSION(&wmInfo.version);
SDL_GetWindowWMInfo(window, &wmInfo);
HWND hwnd = wmInfo.info.win.window;
完成后,您需要同時設置邊框顏色和標題顏色(請參閱此答案):
#include <dwmapi.h>
COLORREF titlebar_color = 0x0015171E;
DwmSetWindowAttribute(
hwnd, DWMWINDOWATTRIBUTE::DWMWA_BORDER_COLOR,
&titlebar_color, sizeof(titlebar_color)
);
DwmSetWindowAttribute(
hwnd, DWMWINDOWATTRIBUTE::DWMWA_CAPTION_COLOR,
&titlebar_color, sizeof(titlebar_color))
);
當然,所有這些只適用於 Windows(我認為是 10 或更高版本),而且據我所知,甚至不能保證有效。 因此,您可能希望對所有內容進行錯誤檢查。
另一個不完全是你要求但完全在 SDL2 中完成的解決方案是創建一個無邊框窗口並繪制你自己的標題欄......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.