דוגמא ל combo box ב windows API

  • פותח הנושא ke
  • פורסם בתאריך

ke

New member
דוגמא ל combo box ב windows API

שלום. משום מה אני לא מצליח לייצר combo box פשוט, כך שכאשר לוחצים על החץ נפתחת רשימה. זה קורה למרות שעשיתי include ל commctrl ולינק עם ה comctl32.lib. אולי יש למישהו דוגמא פשוטה שעובדת (עם windows API לא MFC). תודה.
 

voguemaster

New member
שאלה

אתחלת את הספריה ? עד כמה שזכור לי (מעורפל לי..
) לא רק שצריך להוסיף את הספריה לפרויקט למטרה LINK, אלא גם צריך לאתחל אותה. בקיצור לקרוא לפונקציה InitCommonControls() או משהו כזה.... לא אמרת מה בדיוק הבעיה כך שאני לא יודע להתייחס נקודתית. יעזור אם תגדיר מה בדיוק ´לא עובד´. אלי
 

ke

New member
combo box

כן. אתחלתי אותה ע"י שימוש ב InitCommonControlsEx. הבעיה היא כזו. יש לי רשימה של מחרוזות שאני רוצה שיוצגו עם הלחיצה על הרשימה (drop-down). ה combo-box היא חלק מ דיאלוג. באתחול של הדיאלוג הוספתי את המחרוזות ע"י משלוח של ההודעה CB_ADDSTRING. הבעיה שאני לא יודע איך להמשיך מכאן. אפשר לראות את הרשימה ע"י שימוש בחצים אבל לא ע"י drop-down, ניסיתי לשלוח הודעה של CB_SHOWDROPDOWN אבל זה לא עזר, ניסיתי גם לטפל בהודעה המתקבלת כאשר המתשתמש לוחץ על המשולש ועם זה גם לא הצלחתי. נראה לי שאני מפספס משהו בסיסי, אבל לא הצלחתי למצוא הסבר ב msdn. תודה
 

jgut

New member
אפשרות

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

ke

New member
מצאתי את הבעיה

הבעיה היתה פשוט בהגדרת הגודל של ה combobox. היה צריך להגדיל אותו כדי שיהיה מקום לקשימה להפתח. בכל מקרה תודה.
 

ke

New member
דוגמא לא עובדת. אם מישהו יכול לעזור

מצורפת כאן דוגמא לפרויקט פשוט (יש לשנות את הסיומות ל zip). עם הלחיצה בתפריט על Dialog - Run מופעל dialog עם combo - box. באתחול של הדיאלוג נשלחות ל combo box הודעות. אבל כשלוחצים על המשולש שום דבר לא קורה, ואפשר לראות את הרשימה רק עם החיצים (המקשים). מישהו יודע מה צריך לשנות כדי שעם הלחיצה על המשולש תגלל הרשימה. תודה.
 
למעלה