Einzelnen Beitrag anzeigen

traudl

Registriert seit: 22. Jun 2004
Ort: Lauterach
37 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: KeepFocus mit Btnclick verlassen

  Alt 8. Mai 2006, 09:12
Hallo DPler,

erstmal Danke für Eure Vorschläge, hab mir die Antworten alle durchgelesen. Mein Problem ist das nicht in jedem Editfeld das gleiche drinstehen kann. z.B. ein Feld beinhaltet Werte von ... bis, ein anderes 100, 135, 155, usw..., Das nächste wieder eine Int64. Kann man das ganze mit einem Handle abfangen ??

Hab einen geschrieben, aber der bleibt immer stehen mit dem Fehler Listenindex überschreitet maximum (-1)

Delphi-Quellcode:
function FocusIsBtn(RootControl: TWinControl): boolean;
var
  iHandle,
  iCnt : integer;
  conControl : TControl;
begin
  result := false;
  iHandle := GetFocus;
  iCnt := -1;
  while (iCnt < RootControl.ControlCount) do
  begin
    inc(iCnt);
    if not (RootControl.Controls[iCnt] is TWinControl) then //Hier kommt der Fehler, Root Control liefert immer den Wert 1
      continue;
    if Integer((RootControl.Controls[iCnt] as TWinControl).Handle) = iHandle then
      break;
  end;
  if not (RootControl.Controls[iCnt] is TWinControl) or
     (Integer((RootControl.Controls[iCnt] as TWinControl).Handle) <> iHandle) then
    exit;
  conControl := RootControl.Controls[iCnt] as TWinControl;
  if (conControl is TButton) then
    result := true;
end;

Danke

Udo Kinscherf
Ich versuche mein Bestes, aber im Moment reichts noch nicht.
  Mit Zitat antworten Zitat