【发布时间】:2012-06-09 21:11:26
【问题描述】:
我正在编写一个小 Windows 应用程序,它有两个列表视图控件。我已经对其进行了设置,以便用户可以在两者之间进行制表符(焦点),但我需要一种直观地指示哪个是活动控件的方法。我不想麻烦自己绘制的控件,所以我尝试了一些不同的窗口样式,如 border 和 client edge,但没有看起来不错。我决定切换 disabled 属性,因为它看起来最好并且易于使用。
现在的问题是我已经设置了控件,因此每当用户单击其中一个时,它都会抓住焦点(调用SetFocus(),为其自身设置句柄等)但当然,禁用的控件不会' 不会收到像鼠标点击这样的事件通知。
是否有人对我如何保留活动控件的视觉区别以及如何用鼠标切换活动窗口有什么建议?
【问题讨论】:
-
列表框已经知道如何指示焦点。它有一个焦点矩形,并使选定的项目变成蓝底白字。不要帮忙。如果你真的需要这个,那么在父级中为 WM_CTLCOLORLISTBOX 实现一个消息处理程序,例如,给它一个不同的背景颜色。
-
这不是一个列表框,它是一个列表控件/视图,我不是要在列表控件中指示选定的项目,我是在尝试指示两个列表控件中的哪一个当前具有键盘。
标签: windows mfc focus indicator