词条 | CFindReplaceDialog |
释义 | CFindReplaceDialog类在应用中实现标准字符串查找/替换对话框。不像其它普通的Windows对话框,CFindReplaceDialog对象是非模态的,允许用户与屏幕上的窗口进行交互。有两种CFindReplaceDialog对象:查找对话框和查找/替换对话框。尽管对话框允许用户输入查找/替换对话框,它们并不进行查找或替换,必须在应用中添加。 要构造一个CFindReplaceDialog,可调用提供的构造函数(无参的),因为它是非模态的,用new操作符把它放于堆顶而不放于栈中。 当一个CFindReplaceDialog被构造后,必须调用Create成员函数构造并显示一个对话框。 调用Create之前,用m_fr结构初始化对话框。m_fr的类型为FINDREPLACE。要了解有关此结构的更多信息,可参阅联机文档“Win32 SDK”。 为使父窗口被通知查找/替换请求,必须在框架窗口使用WindowsRegister-WindowMessage 函数并使用ON_REGISTERED_MESSAGE消息映射宏处理登记消息。你可以从框架窗口的回调函数中调用CFindReplaceDialog类成员表中列出的任何成员函数。 可以使用IsTerminating判断用户是否是决定终止对话框。 CFindReplaceDialog依赖Windows3.1以上版本的文件COMMDLG.DLL。 要定制对话框,可从CFindReplaceDialog派生出一个类,提供一个定制对话框模板,加入一个消息映射,从扩展控件中获取通知消息。其它未处理的消息应被传递给基类。 无须定制钩子函数。 #include <afxdlgs.h> CFindReplaceDialog类的成员 数据成员 m_fr定制CFindReplaceDialog对象的结构 构造函数 CFindReplaceDialog构造一个CFindReplaceDialog对象Create创建并显示一个CFindReplaceDialog对话框 操作 FindNext调用此成员函数决定用户是否想继续查找下一字符串GetNotifier调用此成员函数在登记消息句柄中获得FINDREPLACE结构GetFindString调用此成员函数获得当前找到的字符串GetReplaceString调用此成员函数获得当前替换字符串IsTerminating调用此成员函数决定对话框是否终止MatchCase调用此成员函数决定用户是否想查找完全匹配的字符串MatchWholeWord调用此成员函数决定用户是否只想查找与整个字相匹配的串ReplaceAll调用此成员函数决定用户是否替换所有串ReplaceCurrent调用此成员函数决定用户是否替换当前串SearchDown调用此成员函数决定是否向下查找 CFindReplaceDialog类:封装了标准查找/替换对话框 CFindReplaceDialog::Create 创建一个Find或Find/Replace对话框对象 BOOL Create(BOOL bFindDialogOnly,LPCTSTR lpszFindWhat,LPCTSTR lpszReplaceWhat=NULL,DWORD dwFlag=FR_DOWN,CWnd* pParentWnd=NULL); 参数:bFindDialogOnly 为TRUE时,显示查找对话框,为FALSE时,显示查找/替换对话框; lpszFindWhat 指定要查找的串的缺省值; lpszReplaceWhat 指定替换串的缺省值; dwFlag为标志位,用来定制对话框,它可以是一个或多个标志的组合,主要取值如下: FR_DOWN 如果设置,对话框中的“向下查找”单选按钮被选中,如果没有设置,“向上查找”单选按钮被选中; FR_HIDEUPDOWN 不显示查找方向单选按钮; FR_HIDEMATCHCASE 不显示区分大小写复选按钮; FR_HIDEWHOLEWORD 不显示全字匹配复选按钮; FR_MATCHCASE 使区分大小写复选按钮处于选中状态; FR_WHOLEWORD 使全字匹配复选按钮处于选中状态; FR_NOMATCHCASE 使区分大小写复选按钮处于禁止(变灰)状态; FR_NOUPDOWN 使查找方向单选按钮处于禁止(变灰)状态; FR_NOWHOLEWORD 使全字匹配复选按钮处于禁止(变灰)状态; FR_SHOWHELP 在对话框中显示一个帮助按钮。 pParentWnd 指向父窗口或属主窗口的指针。 返回值:若创建成功,返回非0值,否则返回0。 CFindReplaceDialog::FindNext 确定用户是否要查找串的下一个出现处 BOOL FindNext()const; 返回值:若用户单击查找“下一个”按钮,则返回非0值,否则返回0。 CFindReplaceDialog::GetFindString 检取对话框中的查找字符串 CString GetFindString()const; 返回值:对话框中的查找字符串 CFindReplaceDialog::GetNotifier 检取当前查找/替换对话框的指针 static CFindReplaceDialog* PASCAL GetNotifier(LPARAM lParam); 参数:lParam 传递给回调函数OnFindReplace()的lParam值 返回值:指向当前查找/替换对话框的指针 CFindReplaceDialog::GetReplaceString 检取对话框中的替换字符串 CString GetReplaceString()const; 返回值:对话框中的替换字符串 CFindReplaceDialog::IsTerminating 检取对话框是否终止 BOOL IsTerminating()const; 返回值:若用户终止对话框,返回非0值,否则返回0 CFindReplaceDialog::MatchCase 检取区分大小写复选按钮状态 BOOL MatchCase()const; 返回值:如果区分大小写复选按钮被选择,返回非0值,否则返回0 CFindReplaceDialog::MatchWholeWord 检取全字匹配复选按钮状态 BOOL MatchWholeWord()const; 返回值:如果全字匹配复选按钮被选择,返回非0值,否则返回0 CFindReplaceDialog::ReplaceAll 确定用户是否要求全部替换 BOOL ReplaceAll()const; 返回值:如果用户要求全部替换,返回非0值,否则返回0 CFindReplaceDialog::ReplaceCurrent 确定用户是否要求替换当前选择串 BOOL ReplaceCurrent()const; 返回值:如果用户要求替换当前选择串,返回非0值,否则返回0 CFindReplaceDialog::SearchDown 检取查找方向 BOOL SearchDown()const; 返回值:如果为向下查找,返回非0值;若为向上查找,返回0 |
随便看 |
|
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。