פקדים מותאמים אישית

יישומים ליצור פקדים מותאמים אישית כדי לבצע משימות אינה נתמכת על-ידי פקדים מוגדרים מראש. ה-API של Win32 מספק את הדרכים הבאות כדי ליצור פקדים מותאמים אישית:

שימוש בפקדים שצוירו על-ידי הבעלים

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

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

Subclassing מחלקת חלון של פקד קיים

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

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

יישום של מחלקת חלון מוגדר על-ידי יישום

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

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

Index