Einzelnen Beitrag anzeigen

Fuchtel

Registriert seit: 9. Nov 2005
Ort: Bamberg
55 Beiträge
 
Delphi 2005 Personal
 
#1

Von TEdit den Focus wechseln, wenn die Eingabe noch aktiv ist.

  Alt 21. Jul 2011, 16:49
Hallo,

ich habe zur Zeit folgendes Problem:

Vorauszuschicken ist, daß alle VCL-Objecte im Programm zur Laufzeit scriptgesteuert erzeugt werden und in einer TComponentList verwaltet werden.

Wenn ein TEdit den Focus besitzt ist ja auch dessen "InplaceEditor" aktiv.
Nun soll aber der Focus auf z.B.: einen TButton gesetzt werden.

Geschieht das durch Mausclick auf einen anderen Button langt bekanntlich:

Delphi-Quellcode:

TButton(lOBJ.Items[iY]).SetFocus

Kommt dies aber durch ein Ereignis (bei mir durch ein COM-Schnittstellenevent), passiert mit obigen garnichts.

Mit:

Delphi-Quellcode:

TButton(lOBJ.Items[iY]).Perform(WM_SetFocus, scr_Main.Handle, 0)

wird zwar der Focusrahmen auf dem Button gezeichnet. Der Eingabefocus liegt aber immer noch im TEdit.

Sitzt der Focus aber nicht auf einem TEdit, so funzt das ganze.

Ich suche jetzt also eine eine Möglichkeit, den InplaceEditor des TMyEdit zu beenden.

Danke im vorraus,

Fuchtel
  Mit Zitat antworten Zitat