FindTextA 函数 (commdlg.h)

创建系统定义的无模式 查找 对话框,该对话框允许用户指定要搜索的字符串,以及搜索文档中的文本时要使用的选项。

语法

HWND FindTextA(
  [in] LPFINDREPLACEA unnamedParam1
);

参数

[in] unnamedParam1

类型: LPFINDREPLACE

指向 FINDREPLACE 结构的指针,该结构包含用于初始化对话框的信息。 对话框使用此结构将有关用户输入的信息发送到应用程序。 有关更多信息,请参见下面的“备注”部分。

返回值

类型:HWND

如果函数成功,则返回值是对话框的窗口句柄。 可以使用窗口句柄与 对话框通信或关闭对话框。

如果函数失败,则返回值为 NULL。 若要获取扩展的错误信息,请调用 CommDlgExtendedError 函数。 CommDlgExtendedError 可能会返回以下错误代码之一:

注解

FindText 函数不执行搜索操作。 相反,对话框会将 FINDMSGSTRING 注册的消息发送到对话框所有者窗口的窗口过程。 创建对话框时,FINDREPLACE 结构的 hwndOwner 成员是所有者窗口的句柄。

在调用 FindText 之前,必须调用 RegisterWindowMessage 函数以获取 FINDMSGSTRING 消息的标识符。 对话框过程使用此标识符在用户单击“ 查找下一个 ”按钮或对话框关闭时发送消息。 FINDMSGSTRING 消息的 lParam 参数包含指向 FINDREPLACE 结构的指针。 此结构的 Flags 成员指示导致消息的事件。 结构的其他成员指示用户的输入。

如果创建“查找”对话框,还必须在应用程序的main消息循环中使用 IsDialogMessage 函数,以确保对话框正确处理键盘输入,如 TAB 和 ESC 键。 IsDialogMessage 返回一个值,该值指示 “查找 ”对话框是否处理了消息。

可以为“查找”对话框提供 FRHookProc 挂钩过程。 挂钩过程可以处理发送到对话框的消息。 若要启用挂钩过程,请在 FINDREPLACE 结构的 Flags 成员中设置FR_ENABLEHOOK标志,并在 lpfnHook 成员中指定挂钩过程的地址。

示例

有关示例,请参阅 查找文本

注意

commdlg.h 标头将 FindText 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 commdlg.h (包括 Windows.h)
Library Comdlg32.lib
DLL Comdlg32.dll
API 集 ext-ms-win-shell-comdlg32-l1-1-1 (在 Windows 10 版本 10.0.14393 中引入)

另请参阅

CommDlgExtendedError

通用对话框库

概念性

FINDMSGSTRING

FINDREPLACE

FRHookProc

IsDialogMessage

引用

RegisterWindowMessage

ReplaceText