Kako u Visual C++ 6.0 da zadrzim vrednost promenljive, tj:
Napravio sam dijalog sa jednom Edit kontrolom koja ima svoju promenljivu CString (m_edit). Stalno kada pozivam taj dijalog - Edit kontrola mi je prazna iako sam prethodno u njoj upisao odredjenu vrednost. Pokusao sam da sacuvam vrednost sa UpdateData(TRUE) u funkciji OnOK(); ali izgleda da kontrola ima vrednost samo dok sam u toj funkciji, cim izadjem iz nje, opet se vrednost vraca na "" (tj. prazno) i preuzima verovatno ono sto joj pise u OnInitDialog().
Kako glasi kod koji ce menjati i stalno cuvati novu vrednost promenljive m_edit?
Nisam te bas najbolje shvatio, ti si dakle deklarisao odmah sadrzaj edit controle ili si tokom rada sa programom unosio neki sadrzaj i onda zelis svakim vracanjem na taj dijalog da ti stoji to to si napisao ?
Ako je to slucaj, potrebno je da u jedan string ili char da pamtis taj sadrzaj edita i da u InitDialog stavljas taj sadrzaj na edit preko funkcije SetDlgItemText();
Osim tog resenja (value variable) m_edit vezanom za kontrolu i poziva
UpdateData(TRUE), postoji i ovo resenje:
- deklarisi control variable m_editBox;
- deklarisi privatnu promenljivu CDialog klase. Neka to bude recimo
CString m_strText
- u event handler-u zoves m_editBox.GetWindowText(m_strText);
To bi resilo tvoj problem. Dokle god ti je instanca CDialog klase ziva,
vrednost promenljive se nece gubiti.