כדי לבצע התאמה אישית של תיבת הדו-שיח חיפוש או החלפה של , באפשרותך להשתמש בכל אחת מהשיטות הבאות:
בעת יצירת תיבת הדו-שיח חיפוש או החלפה , באפשרותך להגדיר דגלים חבר בדגלים של מבנה FINDREPLACE כדי להסתיר או לבטל כל אחד מהפקדים באפשרות החיפוש. לדוגמה, באפשרותך להגדיר את הדגל FR_NOMATCHCASE כדי להפוך את תיבת הסימון הבחן בין אותיות רישיות או להגדיר את הדגל FR_HIDEMATCHCASE כדי להסתיר אותה.
באפשרותך לספק תבנית מותאמת אישית עבור תיבת הדו-שיח חיפוש או החלפה , לדוגמה, אם ברצונך לכלול פקדים נוספים ייחודיות ליישום שלך. FindText ולהשתמש בפונקציות החלפת טקסט תחת התבנית המותאמת אישית שלך במקום תבנית ברירת המחדל.
כדי לספק תבנית מותאמת אישית עבור תיבת הדו-שיח חיפוש או החלפה- או -
באפשרותך לספק פרוצדורת hook FRHookProc של תיבת הדו-שיח חיפוש או החלפה . ההליך הוו ניתן לעבד הודעות שנשלחו אל תיבת הדו-שיח. אם אתה משתמש בתבנית מותאמת אישית כדי להגדיר פקדים נוספים, עליך לספק שגרה הוו לעבד קלט עבור הפקדים.
כדי לאפשר שגרה hook של תיבת הדו-שיח חיפוש או החלפהלאחר עיבוד הודעה WM_INITDIALOG שלה, הפרוצדורה של תיבת הדו-שיח שולחת הודעה WM_INITDIALOG להליך הוו. הפרמטר lParam של הודעה זו הוא מצביע למבנה FINDREPLACE המשמש לאתחול בתיבת הדו-שיח.
אם ההליך הוו מחזירה FALSE בתגובה להודעת WM_INITDIALOG, תיבת הדו-שיח לא תוצג אלא אם ההליך הוק מציג אותה. כדי לעשות זאת, תחילה לבצע פעולות צביעה אחרות ולאחר מכן להתקשר מסוג ShowWindow ו UpdateWindow פונקציות. הקוד הבא מספק דוגמה
/ / כבר חזרנו FALSE בתגובה WM_INITDIALOG.
/ / אנחנו כבר לבצע את כל פעולות אחרות של ' צייר '.
/ / כעת נוכל להציג את תיבת הדו-שיח.
מסוג ShowWindow (hDlg, SW_SHOWNORMAL);
UpdateWindow(hDlg)