התאמה אישית של חיפוש או תיבת הדו-שיח החלפה

כדי לבצע התאמה אישית של תיבת הדו-שיח חיפוש או החלפה של , באפשרותך להשתמש בכל אחת מהשיטות הבאות:

בעת יצירת תיבת הדו-שיח חיפוש או החלפה , באפשרותך להגדיר דגלים חבר בדגלים של מבנה FINDREPLACE כדי להסתיר או לבטל כל אחד מהפקדים באפשרות החיפוש. לדוגמה, באפשרותך להגדיר את הדגל FR_NOMATCHCASE כדי להפוך את תיבת הסימון הבחן בין אותיות רישיות או להגדיר את הדגל FR_HIDEMATCHCASE כדי להסתיר אותה.

באפשרותך לספק תבנית מותאמת אישית עבור תיבת הדו-שיח חיפוש או החלפה , לדוגמה, אם ברצונך לכלול פקדים נוספים ייחודיות ליישום שלך. FindText ולהשתמש בפונקציות החלפת טקסט תחת התבנית המותאמת אישית שלך במקום תבנית ברירת המחדל.

    כדי לספק תבנית מותאמת אישית עבור תיבת הדו-שיח חיפוש או החלפה
  1. צור תבנית מותאמת אישית על-ידי שינוי תבנית ברירת המחדל שצוין ב- FINDTEXT.קובץ צבע. מזהי פקד המשמש ברירת מחדל למצוא או להחליף תבנית הדו-שיח מוגדרים ב- DLGS.קובץ h.
  2. להשתמש במבנה FINDREPLACE כדי לאפשר את התבנית כדלקמן:

באפשרותך לספק פרוצדורת hook FRHookProc של תיבת הדו-שיח חיפוש או החלפה . ההליך הוו ניתן לעבד הודעות שנשלחו אל תיבת הדו-שיח. אם אתה משתמש בתבנית מותאמת אישית כדי להגדיר פקדים נוספים, עליך לספק שגרה הוו לעבד קלט עבור הפקדים.

    כדי לאפשר שגרה hook של תיבת הדו-שיח חיפוש או החלפה
  1. להגדיר את הדגל FR_ENABLEHOOK חבר בדגלים של מבנה FINDREPLACE.
  2. ציין את הכתובת של ההליך הוו חבר lpfnHook.

לאחר עיבוד הודעה WM_INITDIALOG שלה, הפרוצדורה של תיבת הדו-שיח שולחת הודעה WM_INITDIALOG להליך הוו. הפרמטר lParam של הודעה זו הוא מצביע למבנה FINDREPLACE המשמש לאתחול בתיבת הדו-שיח.

אם ההליך הוו מחזירה FALSE בתגובה להודעת WM_INITDIALOG, תיבת הדו-שיח לא תוצג אלא אם ההליך הוק מציג אותה. כדי לעשות זאת, תחילה לבצע פעולות צביעה אחרות ולאחר מכן להתקשר מסוג ShowWindow ו UpdateWindow פונקציות. הקוד הבא מספק דוגמה

/ / כבר חזרנו FALSE בתגובה WM_INITDIALOG. 
/ / אנחנו כבר לבצע את כל פעולות אחרות של ' צייר '. 
/ / כעת נוכל להציג את תיבת הדו-שיח. 
מסוג ShowWindow (hDlg, SW_SHOWNORMAL); 
UpdateWindow(hDlg) 

 

Index