【发布时间】:2012-02-15 00:10:20
【问题描述】:
是否有任何函数(C++、MFC)可以获取窗口的背景颜色?
【问题讨论】:
-
你是指任何窗口或windows桌面的背景颜色吗?
是否有任何函数(C++、MFC)可以获取窗口的背景颜色?
【问题讨论】:
windows 有默认的背景颜色,使用 GetSysColor(COLOR_WINDOW)。但最终,一个窗口会自行决定什么是“背景”,什么是“前景”。受 WNDCLASS.hbrBackground 和窗口的 WM_ERASEBKGND 和 WM_PAINT 消息处理程序的影响。一切皆有可能。
【讨论】:
hbrBackground。不一定要设置,但在这种情况下,您必须怀疑是否存在背景颜色。 (例如透明窗户等)
CDC* pDc= GetDC();
COLORREF crBkgnd = pDc->GetBkColor();
【讨论】: