什么是Windows的COLOR_WINDOW或COLOR_BACKGROUND的RGB颜色?

在Windows Api和GDI中,可以使用默认的窗口背景颜色来绘制button和东西(在Win98,WinXP +经典主题等上略显灰色)。

这是什么rgb值?

所以我可以使用al_map_rgb( r, g, b)在Allegro中模拟确切的颜色?

这取决于用户设置。

您应该使用GetSysColor函数检索DWORD值,然后使用GetRValueGetGValueGetBValue来检索红色,绿色和蓝色的组件值。

虽然Bobrovsky的回答(使用GetSysColor)可能是解决实际问题的正确方案,但如果您想知道默认的暖灰色而不管用户的设置如何,则R = 212,G = 208,B = 200。

(确定这一点的简单方法是截取一个窗口的截图,将其粘贴到Paint中,使用颜色选择器工具的默认灰色位,然后打开“编辑颜色”对话框来查看其中的RGB值。)