BOOL สร้าง ( BOOL bFindDialogOnly, LPCTSTR lpszFindWhat, LPCTSTR lpszReplaceWith = NULL, DWORD dwFlags = FR_DOWN CWnd * pParentWnd = NULL );
ส่งกลับค่า
ไม่ใช่ศูนย์ถ้ากล่องโต้ตอบวัตถุถูกสร้างเรียบร้อยแล้ว 0 อื่น?
พารามิเตอร์
bFindDialogOnly
กำหนดพารามิเตอร์นี้เป็นจริงเพื่อแสดงการค้นหาของ Windows กล่องโต้ตอบมาตรฐาน ตั้งค่าเป็นเท็จเพื่อแสดงกล่องโต้ตอบ Windows ค้นหา/แทน?
lpszFindWhat
สายอักขระการค้นหาที่ระบุ?
lpszReplaceWith
เริ่มต้นสายอักขระการแทนสตริงการค้นหาที่ระบุ?
dwFlags
อย่าง น้อยหนึ่งแต่คุณสามารถใช้เพื่อปรับแต่งการตั้งค่าของกล่องโต้ตอบการ รวมใช้ตัวดำเนินการ OR ระดับบิต ค่าเริ่มต้นคือFR_DOWNซึ่งระบุว่า การค้นหาคือการ ดำเนินการต่อไปในทิศทางที่ลง ดู FINDREPLACEโครงสร้างในเอกสาร Win32 SDK สำหรับข้อมูลเพิ่มเติมเกี่ยวกับค่าสถานะเหล่านี้?
pParentWnd
ชี้ไปกล่องโต้ตอบแม่หรือเจ้าของหน้าต่าง นี่คือหน้าต่างที่จะได้รับข้อความพิเศษที่บ่งชี้ว่า มีการร้องขอการดำเนินการค้นหา/แทนที่ ถ้าค่า NULLโปรแกรมประยุกต์หลักของ หน้าต่างถูกใช้?
หมายเหตุ
สร้าง และแสดงการค้นหาหรือค้นหา/แทนโต้ตอบกล่องวัตถุ ขึ้นอยู่กับค่าของbFindDialogOnly?
ในใบสั่งสำหรับหน้าต่างหลักเพื่อรับการแจ้งเตือนของการร้องขอการค้นหา/แทน คุณต้องใช้ Windows RegisterWindowMessageฟังก์ชันส่งกลับค่าเป็นตัวเลขข้อความเฉพาะอินสแตนซ์ของโปรแกรมประยุกต์ หน้าต่างเฟรมของคุณควรมีรายการแผนที่ข้อความที่ประกาศฟังก์ชันการเรียกกลับ (OnFindReplaceในตัวอย่างที่เป็นไปตาม) ที่จัดการกับข้อความนี้จดทะเบียน ส่วนรหัสต่อไปนี้เป็นตัวอย่างของวิธีการนี้สำหรับคลาสหน้าต่างเฟรมที่ชื่อCMyFrameWnd
nbsp คลา CMyFrameWnd: CFrameWnd สาธารณะ
{
ได้รับการป้องกัน:
afx_msg LONG OnFindReplace (WPARAM wParam, LPARAM lParam);
DECLARE_MESSAGE_MAP()
};
คง UINT WM_FINDREPLACE =:: RegisterWindowMessage(FINDMSGSTRING)
BEGIN_MESSAGE_MAP (CMyFrameWnd, CFrameWnd)
//Normal ข้อความแผนผังรายการได้ที่นี่
ON_REGISTERED_MESSAGE (WM_FINDREPLACE, OnFindReplace)
END_MESSAGE_MAP(&N)
ภายในฟังก์ชันของคุณOnFindReplaceคุณตีความความตั้งใจของผู้ใช้ และสร้างรหัสสำหรับการดำเนินงาน/ค้นหาแทนที่?
ภาพรวม CFindReplaceDialog |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)
ดูเพิ่มเติมnbspCFindReplaceDialog::CFindReplaceDialog(&N)