MFC编程中,如何通过::SendMessage方式获得焦点
时间: 2024-02-01 13:13:19 浏览: 270
MFC SendMessage 使用方法举例
4星 · 用户满意度95%
在MFC编程中,可以使用`::SendMessage`函数来发送一个`WM_SETFOCUS`消息来设置控件焦点。具体的步骤如下:
1. 获取需要设置焦点的控件的句柄,可以使用`GetDlgItem`或`GetFocus`等函数来获取。
2. 调用`::SendMessage`函数,将`WM_SETFOCUS`消息发送给控件句柄即可。
示例代码如下:
```cpp
// 获取控件句柄
CWnd* pWnd = GetDlgItem(IDC_EDIT1);
// 发送 WM_SETFOCUS 消息
::SendMessage(pWnd->GetSafeHwnd(), WM_SETFOCUS, 0, 0);
```
注意,如果使用`::SendMessage`函数发送`WM_SETFOCUS`消息,需要保证控件已经创建并显示出来了。否则可能会导致无法设置焦点。如果控件还没有创建,可以在窗口创建完成后再执行设置焦点的操作。
阅读全文