עזרה דחוף דחוף בMFC

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

rmy

New member
עזרה דחוף דחוף בMFC

IDC_UPDATENAME יש לי דיאלוג שבו יש משתנה קומבו בוקס בשם של הדיאלוגclassעשיתי את הפונקציה הזאת בתוך ה void CManofUpdateWorker::OnDropdownUpdatename() { CComboBox* Update = new CComboBox; CComboBox Update=(CComboBox*)this->GetDlgIte(IDC_UPDATENAME); Update->InsertString(-1,"try"); } ולא קורה שום דבר למה???????
 

galh

New member
בתור התחלה...

תיישר את הקוד.
דבר שני, למה אתה מקצה זכרון חדש? זה מיותר. מה קורה אם אתה קורא ל- AddString ולא ל- InsertString?
 

rmy

New member
תשובה

מלכתחילה לא הקצתי זיכרון אבל חשבתי שלכן זה לא עובד! ניסיתי לשנות לaddstring אבל זה גם לא עובד
 

galh

New member
לא צריך להקצות זכרון שוב.

תבדקי האם IDC_UPDATENAME הוא ה- ID הנכון של ה- ComboBox. יכול להיות שאת פשוט לא רואה את המחרוזת? האם ה- GetCount עולה אחרי או לא?
 

rmy

New member
שאלה נוספת

כן זה השם של הקומבו בוקס ביטלתי את ההקצאה מחדש, מה הכוונה GetCount
 

galh

New member
פונקציה שמחזירה את מספר ה- Items.

וכמעט שכחתי, מה AddString או InsertString מחזירות? את קוראת לפונקציה שלך לפני או אחרי ה- OnInitDialog?
 

rmy

New member
תודה

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

galh

New member
מה הערך שהם מחזירות...

אני יודע מה הם מחזירות (קראתי ב- MSDN
), אני צריך לדעת מה הערך שהם החזירו. לידיעתך, הערך הוא המיקום ברשימה ולא רק "סוג של שגיאה". לגבי ה- OnInitDialog. השאלה היא האם יש סיכוי שאת קוראת לפונקציה שלך לפני שה- OnInitDialog רצה, כלומר לפני שהדיאלוג בעצם נוצר?
 
למעלה