MFC עוד אחת...

yair24

Member
MFC עוד אחת...

אוקיי בתיבת הדיאלוג שלי שמתי גם EDITBOX (תיבת טקסט) אני רוצה לרשום בה מספרים עוד לפני שפותחים את אותה וכשפותחים אותה אז אני רוצה שהיא תופיע עם המספרים האלה איך אני עושה את זה? יאיר
 

yair24

Member
מצאתי שם משהו...

קוראים לזה IDC_EDIT1 לקחתי את זה והוספתי ואז הופיעה לי פונקציה ()ONCHANGEEDIT1 מכאן אני יכול להכניס טקסט לתיבה? (בVB אני יודע שזה אפשרי כי עשיתי את זה כבר) אני מצרף תמונה של התיבת טקסט. יאיר
 

gilad_no

New member
OnInitDialog או בבנאי

אם הגדרת את התיבה כ-CString למשל. אז אתה יוצר את האובייקט:
CMyDialog Dlg; Dlg.m_szEdit=_T("Hello"); Dlg.DoModal();​
או שאתה שם אותה בפונקציה:
BOOL CMyDialog::OnInitDialog() { CDialog::OnInitDialog(); m_szEdit=_T("Hello"); UpdateData(FALSE); return TRUE; }​
 

yair24

Member
מעניין...

אצלי אין משתנה שנקרא M_SZEDIT אני מניח שזה HANDLE לתיבת הEDIT נכון? אני מצרף פה את המחלקה של תיבת הדיאלוג שלי כדי שתראה:
class CResultDlg : public CDialog { // Construction public: CResultDlg(CWnd* pParent = NULL); // standard constructor // Dialog Data //{{AFX_DATA(CResultDlg) enum { IDD = IDD_DIALOG1 }; // NOTE: the ClassWizard will add data members here //}}AFX_DATA // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CResultDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: // Generated message map functions //{{AFX_MSG(CResultDlg) afx_msg void OnChangeEdit1(); afx_msg void OnButton1(); //}}AFX_MSG DECLARE_MESSAGE_MAP() };​
איך זה שאין לי את המשתנה הזה? אני צריך להגדיר אותו ידנית? הוא לא אמור להיווצר באופן אוטומטי כשמוסיפים תיבת EDITBOX? יאיר
 

yair24

Member
מצאתי מצאתי!!!

הנה הגדרתי ועכשיו יש לי משתנה שיטפל בEDITBOX
class CResultDlg : public CDialog { // Construction public: CResultDlg(CWnd* pParent = NULL); // standard constructor // Dialog Data //{{AFX_DATA(CResultDlg) enum { IDD = IDD_DIALOG1 }; CString m_edit1; //}}AFX_DATA // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CResultDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: // Generated message map functions //{{AFX_MSG(CResultDlg) afx_msg void OnChangeEdit1(); afx_msg void OnButton1(); //}}AFX_MSG DECLARE_MESSAGE_MAP() };​
תודה רבה יאיר
 

yair24

Member
בקשר לONINITDIALOG

יש דרך בעזרת הWIZARD לידרוס את הפונקציה הזו? כי אני לא מוצא אותה בשום מקום שם... או שאני חייב ידנית להכניס אותה למחלקה? יאיר
 
למעלה