*.ini -> Wert in Textfeld ausgeben, geht nicht :(
-
Mahlzeit leuts!
hab folgendes Problem:
ich hol mir aus meiner config.ini meine Einstellungen für mein Programm. Unter anderem einen Pfad, den ich in einem Textfeld ausgeben will.
Die Einstellungen für die Checkboxen "m_cSave" und "m_cShow" übernimmt er mir die Werte (TRUE oder FALSE) richtig. Im Debugger kann ich feststellen, dass er mir den richtigen Pfad ausliest und die Variable m_strFilePath auch den richtigen Wert bekommt. Allerdings zeigt er mir im Textfeld dann eben nix an und das Textfeld bleibt leer
//show -- save ganz analog char *pBuf2 = new char[300]; GetPrivateProfileString("allgemein","show","1",pBuf2,300,m_exePfad+"config.ini"); wertstr.Format("%s",pBuf2); delete []pBuf2; dlg_Config.m_cShow = atoi(wertstr); //pfad char Buf3[300]; GetPrivateProfileString("allgemein","pfad", m_exePfad, Buf3, 300, m_exePfad+"config.ini"); wertstr.Format("%s",Buf3); dlg_Config.m_strFilePath = wertstr; //so schmiert CWnd* pWnd = GetDlgItem(IDC_FILEPATH); //er mir ab pWnd->SetWindowText(_T(wertstr));hab keine Ahnung was ich machen muss

Ich bitte um Hilfe und bedanke mich im Voraus
-
Ist dlg_Config zufällig ein anderer/neuer (Konfigurations-) Dialog und ist m_strFilePath eine Membervariable von diesem anderer/neuer (Konfigurations-) Dialog und hat dieser anderer/neuer (Konfigurations-) Dialog eine eigene OnInitDialog() ?
-
so ist es (falls ich mich mit der aussage jetzt zum affen mach, ich arbeite erst seit 2 wochen mit c++/mfc)
muss fast über die Funktion
void CProtokollierungDlg::OnConfig()machen, weil er mir sonst bei klick auf abbrechen, die falschen werte übernimmt und beim erneuten aufrufen anzeigt (warum auch immer)
-
Öhm, den zweiten Teil habe ich jetzt nicht ganz kapiert, aber wenn du deinen Kram in einem neuen Dialog anzeigen lässt geht das hier nicht an dieser Stelle wo du es hattest:
CWnd* pWnd = GetDlgItem(IDC_FILEPATH);
pWnd->SetWindowText(_T(wertstr));
weil es da das Edit-Feld noch gar nicht gibt. Vielleicht funktioniert ja ein
GetDlgItem(IDC_FILEPATH)->SetWindowText(m_strFilePath);
am Ende von OnInitDialog() (vor return TRUE;) von deinem anderern/neuen (Konfigurations-) Dialog.
-
denk dir nix, weis selber nicht mehr was ich da eigentlich gemeint hab und verstehs auch selber nicht mehr

GetDlgItem(IDC_FILEPATH)->SetWindowText(m_strFilePath);geht leider nicht
*EDIT*
geht doch, hatte UpdateData vergessen!
Danke isabeau!!

-
Geht leider nicht statt
CWnd* pWnd = GetDlgItem(IDC_FILEPATH);
pWnd->SetWindowText(_T(wertstr));an der Stelle wo er vorher abgeschmiert ist
oder
geht leider nicht am Ende von OnInitDialog() vom anderen Dialog ?
[edit] OK, zu spät das editierte gesehen. Dann ist ja alle gut... [/edit]
[edit2] Mmmmmhhhh, merkwürdig, UpdateData(...) dürfte doch eigentlich gar keinen Zusammenhang mit der neuen Zeile haben... *kopfkratz*
[/edit2][edit3]...ausser vielleicht, wenn m_strFilePath keine Membervariable vom Dialog selbst ist, sondern ein Member von dem Edit-Feld... [/edit3]
-
und genau das ist sie

grüßle