Dialogeigenschaften setzen

ArmerIrrer

Grünschnabel
Moin Leute,

Ich hab mal wieder eine frage, oder genauer gesagt drei...
- wie kann ich in einem dialog die eigenschaften eines testfeldes auf schreibgeschützt und
zurück ändern?
- wie kann ich in dem textfeld die position des tastaturcursors ändern?
- und wie kann ich das drücken der entertaste abfangen? ich möchte dem benutzer erlauben
eine eigabe zu machen und nachdem er enter drückt das testfeld wieder auf
schreibgeschützt stellen.
Danke schon mal für die hilfe...
 
Gleich drei Wünsche auf einmal...

- wie kann ich in einem dialog die eigenschaften eines testfeldes auf schreibgeschützt und
zurück ändern?

Mit ModifyStyle( 0, ES_READONLY ); setzt du ein Edit auf schreibgeschützt, mit ModifyStyle( ES_READONLY, 0 ) wird es wieder beschreibbar .


- wie kann ich in dem textfeld die position des tastaturcursors ändern?

Mit SetSel, wenn du beide Positionen gleich setzt, wird der Cursor dorthin gesetzt (bzw. der Cursor wird immer ans Ende einer Selektion gesetzt).

- und wie kann ich das drücken der entertaste abfangen? ich möchte dem benutzer erlauben
eine eigabe zu machen und nachdem er enter drückt das testfeld wieder auf
schreibgeschützt stellen.

Da musst du A) beim Edit ES_WANTRETURN als Style dranhaben (heisst auf dämlich "Eingabetaste erwartet") und dann B) in PreTranslateMessage auf ein WM_KEYDOWN von deiner Edit lauschen, und wenn da in wParam ein VK_RETURN steckt, deine Funktionen ausführen. Danach return TRUE!


-Danke schon mal für die hilfe...
schittebön
 
Das Schreibgeschütz bekommt man auch mit der Methode : CEdit::SetReadOnly( bReadonly = TRUE ) hin.

Z.B. so :

Code:
CEdit *pEdit = (CEdit*)GetDlgItem( IDC_MR_SUPER_CONTROL );
if (pEdit) pEdit->SetReadOnly( TRUE );
 
Zurück