הפונקציה החלפת טקסט תחת ייצור תיבת הדו-שיח modeless המוגדרת על-ידי מערכת המאפשרת למשתמש לציין מחרוזת לחיפוש מחרוזת החלפה, כמו גם אפשרויות כדי לשלוט על החיפוש והחלפה של פעולות.
(HWND החלפת טקסט תחת LPFINDREPLACE lpfr / / מצביע למבנה עם אתחול / / נתונים);
אם הפונקציה מצליחה, הערך המוחזר הוא נקודת האחיזה חלון אל תיבת הדו-שיח. באפשרותך להשתמש מטפל בחלון כדי לתקשר עם תיבת הדו-שיח או לסגור אותה.
אם הפעולה תיכשל, הערך המוחזר הוא NULL. כדי לקבל מידע שגיאות מורחב, לבצע קריאה לפונקציה CommDlgExtendedError , אשר תחזיר אחד מקודי השגיאה הבאים:
CDERR_FINDRESFAILURE | CDERR_MEMLOCKFAILURE |
CDERR_INITIALIZATION | CDERR_NOHINSTANCE |
CDERR_LOADRESFAILURE | CDERR_NOHOOK |
CDERR_LOADSTRFAILURE | CDERR_NOTEMPLATE |
CDERR_LOCKRESFAILURE | CDERR_STRUCTSIZE |
CDERR_MEMALLOCFAILURE | FRERR_BUFFERLENGTHZERO |
הפונקציה החלפת טקסט תחת אינו מבצע פעולת החלפה טקסט. במקום זאת, תיבת הדו-שיח שולחת הודעות FINDMSGSTRING רשום ההליך חלון של חלון הבעלים של תיבת הדו-שיח. בעת יצירת תיבת הדו-שיח, חבר hwndOwner של מבנה FINDREPLACE מזהה את חלון הבעלים.
לפני הקריאה החלפת טקסט תחת, עליך לקרוא את הפונקציה RegisterWindowMessage כדי לקבל את המזהה עבור ההודעה FINDMSGSTRING. הפרוצדורה תיבת הדו-שיח משתמש במזהה זה לשליחת הודעות כאשר המשתמש לוחץ על לחצן חפש את הבא, החלף או החלף הכל, או בעת סגירת תיבת הדו-שיח. הפרמטר lParam הודעה FINDMSGSTRING מכיל מצביע למבנה FINDREPLACE . החבר בדגלים של מבנה זה מציין את האירוע שגרם את ההודעה. חברים אחרים של המבנה מציינים הקלט של המשתמש.
אם אתה יוצר תיבת דו-שיח להחליף , עליך להשתמש גם ב הפונקציה IsDialogMessage בלולאה המסר העיקרי של היישום שלך כדי להבטיח תיבת הדו-שיח מעבד כראוי קלט של לוח מקשים, כגון מקשי tab ו- esc. הפונקציה IsDialogMessage מחזירה ערך המציין אם בתיבת הדו-שיח החלפה לעבד את ההודעה.
באפשרותך לספק פרוצדורת hook FRHookProc של תיבת הדו-שיח החלפה . ההליך הוו ניתן לעבד הודעות שנשלחו אל תיבת הדו-שיח. כדי לאפשר שגרה הוו, הגדרת הדגל FR_ENABLEHOOK החבר בדגלים של מבנה FINDREPLACE , ציין את הכתובת של ההליך הוו חבר lpfnHook.
nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:לא נתמך.
כותרת עליונה:להצהיר על commdlg.h.
ייבוא ספריית:השתמש comdlg32.lib.
Unicode:מיושם על גירסאות Unicode ו- ANSI ב- Windows NT.
סקירה נפוצות על תיבת הדו-שיח ספריית, פונקציות נפוצות של תיבת הדו-שיח, CommDlgExtendedError, FINDREPLACE, FRHookProc, IsDialogMessage, RegisterWindowMessage, WM_CTLCOLORDLG