Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Curser weg? Warum?
cugar - Mo 06.01.03 21:59
Titel: Curser weg? Warum?
Hallo Leute!
Habe eine Eingabemaske erstellt, sobald ein Editfeld den Focus erhält wird ein weiteres Fenster (fsStayOnTop) geöffnet und eine Tabelle angezeigt. Ich setze den Fokus auf mein Haupfenster, allerdings ist der Curser aus
meinem Editfeld weg..
Mit "SetFocus" hatte ich auch kein Erfolg.
Was mache ich da falsch??
Raphael O. - Mo 06.01.03 22:09
setze als allerletztes nochmal den Fokus auf dein edit-Feld!
Fiji-Fighter
cugar - Mo 06.01.03 22:21
Habe es versucht, geht auch nicht. Man kann in dieses Feld schreiben, die Buchstaben sind sichtbar, nur der Curser ist unsichtbar.
Der Ablauf ist so:
Im "LabelEdit3.OnEnter" wird das Zusatzfenster geöffnet mit "Form3.Show"
und "LabelEdit3.setfocus".
Christian S. - Mo 06.01.03 22:27
Könnte es sein, dass Du damit eine Endlosschleife von Ereignissen produzierst? Denn LabelEdit3.SetFocus löst doch wieder das LabelEdit3.OnEnter-Ereignis aus, oder?
Probier doch mal, die OnEnter-Aktion nur dann auszuführen, wenn Form3 noch nicht sichtbar ist. Dann hast Du zumindest nicht mehr die Schleife!
cugar - Mo 06.01.03 22:34
Daran habe ich auch schon gedacht. Es ist so:
Es sind 6 Edit-Felder, in einem wird "Sender" ausgewertet im "OnEnter".
Auszug:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| if (Form4.Visible)and(LabeledEdit3.Focused=False) then Form4.Visible:=False;
if Sender=LabeledEdit1 then begin LabeledEdit1.EditLabel.Font.Style:=labelstil; end else if Sender=LabeledEdit2 then begin LabeledEdit2.EditLabel.Font.Style:=labelstil; end else if Sender=LabeledEdit3 then begin LabeledEdit3.EditLabel.Font.Style:=labelstil; if not Form4.Visible then Form4.Visible:=True; LabeledEdit3.SetFocus; end; |
(07.01. 09:40 Tino) Code-Tags hinzugefügt.
cugar - Mo 06.01.03 22:47
Habbbbe die Lösung!
Die Zeile am Ende mit: "LabeledEdit3.SetFocus" funktioniert nicht da muss folgendes stehen:
Quelltext
1: 2:
| if Assigned(LabeledEdit3) then PostMessage(LabeledEdit3.Handle,WM_SETFOCUS,0,0); |
Der Curser wird dann wieder sichtbar!
Vielen Dank für Deine hilfe.
(07.01. 09:40 Tino) Code-Tags hinzugefügt.
Christian S. - Mo 06.01.03 22:55
Hast Du mal probiert, die Zeile vor dem End; durch
Quelltext
1:
| if not LabeledEdit3.Focused then LabeledEdit3.SetFocus; |
zu ersetzen?
Übrigens: Wenn Du in einer IF-Abfrage nur einen Befehl ausführen lässt, brauchst Du kein Begin und End drum zu machen. Könntest Du demnächst beim Posten die Code-Tags verwenden?
MfG,
Peter
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!