我有一个包含控件、一些 CButton 和一个 CScrollbar 的无模式 CDialog。CDialog 是我想要始终保持焦点的编辑框的父级。问题是,每当用户使用控件、单击按钮或滚动条时,控件都会从编辑框中窃取焦点,导致父窗口在没有焦点的情况下绘制(灰色标题栏),并导致控件接受所有的键盘输入。有没有办法让控件响应鼠标操作但不窃取焦点?
控件和对话框都是用 WS_CHILD 创建的。控件是对话框的父级,对话框是编辑框的父级。
我尝试在使用控件后重新设置焦点,但这会导致父窗口在丢失然后重新获得焦点时闪烁。基本上我想要一个像组合框一样工作的东西,可以点击或拖动滚动条,但键盘输入仍然进入对话框本身,而不仅仅是滚动条,整个事情永远不会失去焦点。