打开一个文本编辑器,按下Ctrl + F 出现左边图样的对话框--查找对话框,按下Ctrl + H 出现右边图样的对话框--替换替换对话框,在Windows中定义了两个结构体和两个函数,让我们在编程的时候能够很方便的创建这两个对话框。
这两个对话框不像系统中其他的对话框那样,这是非模态的对话框,允许用户在主窗口和这两个窗口之间来回切换。
在创建对话框之前,必须先调用 RegisterWindowMessage注册一个FINDMSGSTRING类型的消息,获得消息的ID号。
FINDREPLACE结构体:
lStructSize 结构体的大小,用sizeof(FINDREPLACE)初始化。
hwndOwner 创建查找替换对话框的窗口的句柄,也是接收之前注册的消息的对话框的句柄。
lpstrFindWhat 查找的字符串,使用动态分配的全局或者静态字符数组。
lpstrReplaceWith 替换成的字符串。
wFindWhatLen 查找字符串的长度
wReplaceWithLen 替换成的字符串的长度
/*
hInstance、lCustData、lpfnHook、lpTemplateName 如果不使用复杂的钩子,则可以忽略这四个参数。
*/
如果Flages设置了FR_DOWN位,则DOWN单选按钮被选中;
如果用户点击了对话框中的查找下一个按钮,在发送消息通知创建窗口之前,会设置Flages位,在消息处理函数中可以通过这个为来判断是否点击了“查找下一个按钮”。
配置了结构体以后,调用 FindText 或者ReplaceText函数创建对话框。