有没有一种函数(C ++,MFC)可以获取窗口的背景颜色?
Windows有一个默认的背景颜色,可以使用GetSysColor(COLOR_WINDOW)来获取。但最终窗口决定什么是“背景”和什么是“前景”。这受到WNDCLASS.hbrBackground以及窗口的WM_ERASEBKGND和WM_PAINT消息处理程序的影响。任何事情都有可能发生。
hbrBackground
。它不一定被设置,但在这种情况下,您必须想知道是否存在背景颜色。(例如透明窗口等) - MSaltersCDC* pDc= GetDC();
COLORREF crBkgnd = pDc->GetBkColor();