ElBarto82
-
Gesamte Inhalte
3 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von ElBarto82
-
-
hi,
es ist richtig, dass die methode SetReadOnly kein element von String ist. die methode SetReadOnly ist aber ein bestandteil von CEdit. versuche doch mal die membervariable nicht vom typ String, sondern vom typ CEdit zu deklarieren. m_ctlEdit1 sollte dies nochmal unterstreichen. ctl = control.
-
hi.
na schön, du möchtest also, dass daten z.B. in einem eingabefeld nachträglich nicht mehr verändert werden dürfen.
sicherlich hast du schon einen dialog o.ä., worin sich ein eingabefeld befindet.
1.schritt:
lege für dieses eingabefeld (z.B. IDC_EDIT1) eine membervariable der kategorie control und des typs CEdit an. du kannst diese membervariable z.B. "m_ctlEdit1" nennen.
2.schritt:
du musst dem eingabefeld irgendwie mitteilen, ab wann es für veränderungen gesperrt werden soll. dies kannst du z.B. durch einen button realisieren, den der user nach der eingabe betätigt. es gibt auch andere möglichkeiten.
3.schritt:
füge eine funktion für den button hinzu.
in dieser funktion solltest realisieren, dass das feld auf read-only gesetzt wird.
m_ctlEdit1.SetReadOnly(TRUE); //eingabefeld auf read-only setzen
UpdateData(FALSE) //bildschirmausgabe aktualisieren
ich hoffe, das diese kleine ausführung dir bei deinen problem hilft.
VC++ Eingabefelder
in C++: Compiler, IDEs, APIs
Geschrieben
hi,
das mit SetReadOnly funktioniert. bist du auch sicher, dass du vor der anweisung "m_ctlEdit1.SetReadOnly(TRUE)" auch UpdateData(TRUE) gemacht hast?
natürlich funktioniert es auch mit "EnableWindow(FALSE)". du wirst jedoch einen kleinen schönheitsfehler entdecken. wenn du EnableWindow(FALSE) anwendest, ist das feld und die schrift grau.
wenn du jedoch SetReadOnly(TRUE) verwendest, ist das feld grau und die schrift schwarz.