如何聚焦或选择项目

How to focus or select an item?

本文关键字:选择 项目 聚焦 何聚焦      更新时间:2023-10-16

WinAPI 中选择按钮以使按钮或项具有虚线指示的输入焦点的正确方法是什么?如果我只是设置焦点,则不会选择它。举个例子:我通过CB_SETSEL在组合框中选择一个项目索引,如何选择完整的项目(虚线,蓝色背景)?

谢谢!!

在对话框中,应使用DM_SETDEFID消息将按钮设为默认值。简单地调用SetFocus将使焦点指向按钮("虚线"),但不会使其成为默认按钮(通过按 Return 键操作的按钮)。例如

SendMessage(hwndDlg, DM_SETDEFID, IDC_BUTTON, 0);

对于其他类型的控件,您只需要SetFocus,例如:

SetFocus(GetDlgItem(hwndDlg, IDC_COMBO));

"蓝色背景"表示单元格或列表项已选中。 "虚线"表示单元格或列表项具有焦点。 这是两种不同的东西,需要两种不同的方法调用或消息。 在您使用的样式中,您还必须发送CB_SETCURSEL消息。

http://www.jasinskionline.com/windowsapi/ref/c/cb_setcursel.html