我正在重写旧应用程序以在 Windows 7 中获得现代外观。GUI 元素是通过显式代码创建和移动的(没有特殊的布局管理器)。由于一些历史原因,GUI 事件没有以标准方式处理。他们被重定向了。跟踪它们相当困难,尤其是当我不知道应该关注什么时。
这是应该抛光的窗户的例子。它不是一个对话框。它是经典的、相当大的窗户,位于顶部。但是,它应该模仿对话框的外观。窗口使用WTL::CTabControlT<CControl>
whereCControl
是我基于 ATL::CWindow 的类——先看图片:
从图片中看不太清楚,但红色箭头的末端显示了静态文本的灰色背景。但是,选项卡本身的背景是白色的。
- 什么事件导致静态文本的灰色背景?是不是
WM_CTLCOLORSTATIC
。或者,问题出在哪里?选项卡的背景是白色还是灰色(标准行为)? - 是否建议(由视觉界面的设计者、用户体验)让选项卡中的列表框也具有相同的(白色)背景?
- 外部窗口已
COLOR_3DFACE
通过 ATL 宏定义DECLARE_WND_CLASS_EX
。什么事件负责在选项卡窗口周围绘制免费?
谢谢你的帮助,彼得