1

我想在 WinAPI 中创建一个控件,它的工作方式类似于某些工具栏按钮:您可以单击该按钮,但无法获得焦点;焦点停留在拥有它的控件上。我该怎么做?

4

1 回答 1

0

这不是一个完整的答案,因为我最终放弃了这项任务,但我发现实际上,控件必须SetFocus(Self)手动进行,而且它们通常在WM_LMOUSEDOWN处理程序中执行此操作。

因此,要像工具栏按钮那样处理点击,不这样做就足够了。

问题是,标准控件和通用框架通常会在其内部深处自动执行此操作。使用 MFC 或 VCL 等框架可能会以某种方式破解此问题,WM_LMOUSEDOWNBUTTON 控件的标准处理程序似乎执行 SetFocus,并且不能简单地跳过它,因为它也执行单击处理。

于 2013-04-24T07:34:25.557 回答