Hallo, Wie kann ich den Caption eines Buttons während der Laufzeit der Anwendung ändern? Codesnipe den ich gefunden hab: // Text setzen: m_MeinButton.SetWindowText( "Okay" ); // Text lesen: CString strTemp; m_MeinButton.GetWindowText( strTemp ); Das hab ich bereits versucht, ich habe dem Button eine Controlvariable zugewiesen dann m_MeinButton.SetWindowText( "Okay" );. Kompilieren lässt sich das ganze fehlerfrei, allerdings erhalte ich beim Ausführen folgenden Fehler: Unhandled exception at 0x7c937927 in uCom.net.exe: 0xC0000005: Access violation writing location 0x00030ff4. Danke für euer Tipps! mfg bulb
Da muesste sich was mit der Klassenliste machen lassen, die variablen heissen be der gesammten klasse gleich.
Ich weiss jetzt nicht genau was du mir sagen willst, bzw. wie das gehen sollte?!
> Wie kann ich den Caption eines Buttons während der Laufzeit der > Anwendung ändern? Denkst du, dass man diese Frage ohne Kenntnis von Programmiersprache, Klassenbibliothek/Framework und ggf. Plattform beantworten kann?
Ich würde es jetzt über WinAPI mal versuchen
1 | SetWindowText(hwnd, TEXT("Neuer Text")); |
Wobei hwnd das Handle des Buttons ist. Zumindest habe ich damit schonmal den Buttontext in fremden Anwendungen geändert.
Sorry, ich habe ganz vergessen zu schreiben, dass ich in MFC porgrammiere.
>Sorry, ich habe ganz vergessen zu schreiben, dass ich in MFC >porgrammiere. Das hindert dich ja nicht daran direkt die WinAPI zu verwenden
S!mply Red wrote: > Sorry, ich habe ganz vergessen zu schreiben, dass ich in MFC > porgrammiere. Dann kommt es auch darauf an, wo du die Caption setzt. Wenn du versuchst sie zu früh zu setzen, dann ist die Control Variable noch nicht mit dem Control verbunden worden. In zb. einem Dialog ist der früheste Zeitpunkt an dem du das machen darfst die OnInitDialog(). Trotzdem: Normalerweise gibt es da eine Assertion und keine Access Violation. Eine Access Violation weist auf ein schwer- wiegenderes Problem hin, als das man das mit nur einer Zeile Code erraten könnte.
Ich hab heute einen neuen Versuch gestartet und o Wunder, es funktioniert. Ich erhalte keine Fehlermeldung mehr, ich habe zwar nix am Code geändert und es lag auch nicht daran,dass ich das Projekt letze Woch nicht mehrmals neu erstellt hätte. Keine Ahnung wo der Fehler lag aber es funktioniert nun ;) Mfg bulb
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.