Modeless ที่กำหนดโดยระบบสร้างฟังก์ชันFindTextจะพบกล่องโต้ตอบที่ยอมให้ผู้ใช้ระบุสายอักขระการค้นหาและเลือกที่จะใช้เมื่อทำการค้นหาข้อความในเอกสาร.
(HWND FindText LPFINDREPLACE lpfr / / ชี้ไปยังโครงสร้างมีการเตรียมใช้งาน / / ข้อมูล);
ถ้าฟังก์ชันสำเร็จ ค่าส่งกลับเป็นหมายเลขอ้างอิงของหน้าต่างกล่องโต้ตอบ คุณสามารถใช้หมายเลขอ้างอิงหน้าต่าง การสื่อสารด้วย หรือเมื่อต้อง การปิดกล่องโต้ตอบ.
ถ้าฟังก์ชันล้มเหลว ส่งคืนค่าเป็น NULL การรับข้อมูลความผิดพลาดแบบขยาย เรียกใช้ฟังก์ชันCommDlgExtendedError CommDlgExtendedErrorอาจส่งกลับรหัสข้อผิดพลาดต่อไปนี้อย่างใดอย่างหนึ่ง:
| CDERR_FINDRESFAILURE | CDERR_MEMLOCKFAILURE |
| CDERR_INITIALIZATION | CDERR_NOHINSTANCE |
| CDERR_LOCKRESFAILURE | CDERR_NOHOOK |
| CDERR_LOADRESFAILURE | CDERR_NOTEMPLATE |
| CDERR_LOADSTRFAILURE | CDERR_STRUCTSIZE |
| CDERR_MEMALLOCFAILURE | FRERR_BUFFERLENGTHZERO |
ฟังก์ชันFindTextจะทำการดำเนินการค้นหา แทน กล่องโต้ตอบส่งข้อความFINDMSGSTRINGลงทะเบียนลงในกระบวนงานของหน้าต่างของหน้าต่างเจ้าของกล่องโต้ตอบ เมื่อคุณสร้างกล่องโต้ตอบ สมาชิกที่hwndOwnerของโครงสร้างFINDREPLACEระบุเจ้าของหน้าต่าง.
ก่อนที่จะเรียกFindTextคุณต้องเรียกใช้ฟังก์ชันRegisterWindowMessageเพื่อรับรหัสสำหรับข้อความ FINDMSGSTRING ขั้นตอนในกล่องโต้ตอบใช้ตัวระบุนี้เพื่อส่งข้อความ เมื่อผู้ใช้คลิกปุ่มถัดไปค้นหาหรือปิดกล่องโต้ตอบ พารามิเตอร์lParam FINDMSGSTRING ข้อความประกอบด้วยตัวชี้ไปยังโครงสร้างแบบFINDREPLACE สมาชิกสถานะของโครงสร้างนี้บ่งชี้ว่า เหตุการณ์ที่เกิดจากข้อความ สมาชิกคนอื่น ๆ ของโครงสร้างการป้อนข้อมูลของผู้ใช้ที่ระบุว่า .
ถ้าคุณสร้างกล่องโต้ตอบการค้นหาคุณต้องยังใช้ฟังก์ชันIsDialogMessageในการวนรอบข้อความหลักของโปรแกรมประยุกต์ของคุณเพื่อให้แน่ใจว่า กล่องโต้ตอบการกระบวนแป้นพิมพ์ป้อน เช่นปุ่มแท็บและ esc อย่างถูกต้อง IsDialogMessageส่งกลับค่าที่บ่งชี้ว่า กล่องโต้ตอบการค้นหาถูกประมวลผลข้อความ.
คุณสามารถจัดเป็นขั้นตอนของ hook FRHookProcสำหรับกล่องโต้ตอบการค้นหา ขั้นตอนของ hook สามารถประมวลผลข้อความที่ส่งไปยังกล่องโต้ตอบ เมื่อต้องการเปิดการใช้งานในขั้นตอนของ hook ตั้งค่าสถานะ FR_ENABLEHOOK ในสถานะสมาชิกของโครงสร้างFINDREPLACEและระบุอยู่ของขั้นตอนของ hook ในสมาชิกlpfnHook.
nbsp Windows &NT:ต้องการเวอร์ชัน 3.1 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ไม่สนับสนุน
หัวข้อ:ประกาศใน commdlg.h
ไลบรารีที่นำเข้า:ใช้ comdlg32.lib
Unicode:นำมาใช้เป็น Unicode และ ANSI รุ่นบน Windows NT.
ภาพรวมไลบรารีของกล่องโต้ตอบทั่วไปฟังก์ชันกล่องโต้ตอบทั่วไป CommDlgExtendedError, FINDMSGSTRING, FINDREPLACE, FRHookProc, IsDialogMessage, RegisterWindowMessage, ReplaceText