`
hcmfys
  • 浏览: 356365 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

SetFocus

 
阅读更多

函数功能:该函数对指定的窗口设置键盘焦点。该窗口必须与调用线程的消息队列相关。

  函数原型:HWND SetFocus(HWND hWnd)。   参数:   hWnd:接收键盘输入的窗口指针。若该参数为NULL,则击键被忽略。   返回值:若函数调用成功,则返回原先拥有键盘焦点的窗口句柄。若hWnd参数无效或窗口未与调用线程的消息队列相关,则返回值为NULL。若要获得更多错误信息,可以调用GetLastError函数。   备注:SetFocus函数发送WM_KILLFOCUS消息到失去键盘焦点的窗口,并且发送WM_SETFOCUS消息到接受键盘焦点的窗口。它也激活接受键盘焦点的窗口或接受键盘焦点的窗口的父窗口。   若一个窗口是活动的,但没有键盘焦点,则任何按键将会产生WM_SYSCHAR,WM_SYSKEYDOWN或WM_SYSKEYUP消息。若VK_MENU键也被按下,则消息的IParam参数将设置第30位。否则,所产生的消息将不设置此位。   使用AttachThreadInput函数,一个线程可将输入处理连接到其他线程。这使得线程可以调用SetFocus函数为一个与其他线程的消息队列相关的窗口设置键盘焦点。   Windows CE:不使用SetFocus函数为一个与其他线程的消息队列相关的窗口设置键盘焦点。但有一个例外。若一个线程的窗口是另一线程的子窗口,或这些窗口是 具有同一父窗口的兄弟窗口,则与一个线程关联的窗口可以为其他窗口设置焦点,尽管该窗口属于一个不同的线程。在这种情况下,就不必先调用 AttachThreadlnpUt函数。   速查:Windows NT:3.1及以上版本;Windows:95及以上版本:Windows CE:1.0及以上版;头文件:winuser.h;库文件:user32.lib。

分享到:
评论

相关推荐

    matlab开发-setfocus

    在MATLAB开发环境中,`setfocus`是一个非常实用的功能,它允许程序员控制用户界面(UI)元素的焦点,使得用户可以无需使用鼠标点击就能与特定的对象进行交互。在这个主题下,我们将深入探讨`setfocus`函数的使用以及...

    VC++设置窗体文本框控件的焦点

    在实际开发中,你可能还会遇到多线程或多控件交互的情况,这时需要注意焦点的同步问题,确保在正确的线程和适当的时刻调用`SetFocus()`。 总的来说,VC++中设置文本框控件焦点的过程涉及到对MFC类库的理解,特别是...

    VC 改变 CEdit 编辑框背景颜色和文字颜色

    ON_WM_SETFOCUS() END_MESSAGE_MAP() ``` 4. **实现消息映射**:接着,在类的实现文件中,我们需要实现消息映射所声明的函数。 ```cpp CExEdit::CExEdit() { } CExEdit::~CExEdit() { } void CExEdit::...

    取焦点(c++builder)

    2. **获取焦点的方法**:在C++Builder中,`TComponent`类有一个`SetFocus`方法,用于让某个控件获取焦点。例如,如果你有一个名为`Edit1`的`TEdit`控件,你可以通过`Edit1->SetFocus();`来让它获得焦点。 3. **自动...

    vb学生成绩管理系统

    Text2.SetFocus '定位光标 Exit Sub End If '首先查询表中是否存在关键字相同的记录 strSQL = "select * from 学生情况表" strSQL = strSQL & " Where 学号='" + Text1.Text + " '" strSQL = strSQL & " and 姓名...

    物业管理系统

    ‘ ndialogtype=4+32 nanswer=messagebox(cmessagetext,ndialogtype,cmessagetitle) do case case nanswer=6 thisform.text1.value=‘‘ thisform.text1.setfocus &&文本框获得焦点 case nanswer=7 messagebox(...

    VB人事管理系统毕业设计及论文

    Txt(0).SetFocus Else 'OK If Txt(0).Text = "" Then MsgBox "不可以为空" Txt(0).SetFocus Exit Sub End If For i = 1 To 12 If Txt(i).Text = "" Then Txt(i).Text = 0 'DataA.Recordset.Fields(i)...

    Window 消息大全

    - **WM_SETFOCUS** ($0007): 应用程序窗口获得焦点。 - **WM_KILLFOCUS** ($0008): 应用程序窗口失去焦点。 - **WM_ENABLE** ($000A): 改变窗口的启用状态。 - **WM_SETREDRAW** ($000B): 设置窗口是否可以重绘。 - ...

    vfp 使用 OfficeControls.ocx 控件焦点控制示例2

    在VFP中,可以使用`SetFocus`函数来强制将焦点转移给特定的控件。但是,对于不完全遵循VFP焦点规则的第三方控件,可能需要更深入的编程技巧。例如,可能需要在事件处理程序中添加特定的逻辑,如`Click`事件或`...

    VFP 使用 NTKO OfficeControl.ocx 控件

    为了解决这个问题,可以尝试在适当的时间点调用控件的`SetFocus`方法,例如在打开文档后或关闭文档前: ```vfp oNTKO.SetFocus() ``` 如果上述方法仍然无效,可能需要检查VFP的事件顺序和控件的属性设置。例如,...

    手机管理系统

    txtuserid.SetFocus Exit Sub Else rs1.Open "select * from 密码 where 操作员编号= '" & Trim(txtuserid.Text) & "'", cnn, adOpenKeyset, adLockOptimistic If rs1.RecordCount > 0 Then txtusername.Text =...

    汽车维修企业管理系统

    Text4.SetFocus End If DTPicker2.SetFocus End If End Sub Private Sub Text6_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Combo1.SetFocus '按回车键Combo1获得焦点 End Sub...

    一个简单易用的登录窗体

    txt_用户名.SetFocus username = txt_用户名.Text If IsNull(username) Or IsNull(txt_密码.Value) Then MsgBox "用户名或密码不能为空,请重新输入!", vbOKOnly + vbInformation, "错误信息" Else If ...

    2021-2022计算机二级等级考试试题及答案No.1966.docx

    在 Windows 应用程序中,如果希望某个控件获得输入焦点,可以调用该控件的 SetFocus 方法。一旦控件获得了焦点,用户就可以通过键盘与该控件交互。SetFocus 方法是控件对象的一个常用方法,用于控制应用程序中用户...

    MFC设置对话框焦点的方法简述

    这里,`SetFocus()`函数用于设置控件的焦点,`return FALSE;`告诉MFC,焦点已经由应用程序手动设置,不需要系统再做处理。 以上就是MFC中设置对话框焦点的两种常见方法。在实际编程中,可能会根据需求选择更适合的...

    VB004-3抽奖管理器模拟源代码

    在描述中提到了`SetFocus`和`KeyDown`两个关键函数,它们在VB6.0编程中扮演着重要角色。 `SetFocus`是VB6.0中的一个内置方法,用于将键盘焦点设置到指定的控件上。当用户与界面交互时,拥有焦点的控件会接收键盘...

    二手房销售管理信息系统

    txt.SetFocus txt.BackColor = &HFF0000 Else TxtIsNull = False End If End Function ' ****************************************************************************** '函数名:IsOverStringLen '说 明:...

    VB控制文本框光标位置及全选功能.rar

     Text1.SetFocus  Label2.Caption = "光标被移动到文本的开头处。"  End Sub  Private Sub Option2_Click()  Text1.SelStart = 3  Text1.SetFocus  Label2.Caption = "光标被移动到文本的第三个字符后面。" ...

    类似于计算器的计算工具

    RzBitBtn3.SetFocus; end; procedure TForm1.RzGroupBox1Click(Sender: TObject); begin DanJia.SetFocus; end; procedure TForm1.DanJiaKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin ...

    PB常用函数.docx

    本文档将详细介绍 PB 中常用的函数,包括 MessageBox、SetFocus、TriggerEvent 等,旨在帮助开发者更好地理解和使用这些函数,提高开发效率和代码质量。 一、MessageBox 函数 MessageBox 函数用于弹出消息框,...

Global site tag (gtag.js) - Google Analytics