要構造一個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 | 調用此成員函式決定是否向下查找 |