AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fokuswechsel zwischen zwei Komponenten

Ein Thema von barnti · begonnen am 15. Jun 2004 · letzter Beitrag vom 15. Jun 2004
Antwort Antwort
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#1

Fokuswechsel zwischen zwei Komponenten

  Alt 15. Jun 2004, 12:55
Hallo,

ich habe ein DBGrid über dem eine Lookupbox 'schwebt'. Navigiert man im Grid in ein Feld, welches ein Lookupfeld ist, so wird die Box sichtbar gemacht und der entsprechende Wert in der Box angezeigt.
Für das OnKeyPress-Ereignis des Grid habe ich das folgende implementiert:
Delphi-Quellcode:
procedure TForm_Main.DBGrid_DetailKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['a'..'z','A'..'Z','0'..'9'] )then exit;

  if (Grid.SelectedField.KeyFields = LookupBox.KeyField) then
    begin
      LookupBox.SetFocus;
      SendMessage(LookupBox.Handle, WM_Char, word(Key), 0);
    end;
end;
So wird die Box fokussiert sobald man eine Taste drückt.

Für das Ereignis LookupBox_OnKeyDown:
Delphi-Quellcode:
procedure TForm_Main.DBLookupBox_GridMasterKeyDown(Sender: TObject;
          var Key: Word; Shift: TShiftState);
var Index: Integer;
begin
  if char(key)=char(VK_RETURN) then
    begin
      DBGrid_Master.SelectedIndex:= DBGrid_Master.SelectedIndex+1;
      DBGrid_Master.SetFocus;
      showmessage(IntToStr(DBGrid_Master.SelectedIndex));
    end;
end;
So soll bei 'OnKeyDown' der Box, wenn Return, der Fokus an das Grid zurückgegeben werden und das nächste Feld den Fokus erhalten.
Leider funktioniert das nur für das erste Feld. Für alle folgenden Felder wird der Fokus nicht gesetzt. Gebe ich den SelectedIndex aus, wird dieser korrekt inkrementiert.
Wo ist mein Fehler?
Gruß,

Barnti
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#2

Re: Fokuswechsel zwischen zwei Komponenten

  Alt 15. Jun 2004, 13:10
könnte es ein, daß das die box solange den focus hat, bis keyup abgearbeitet wurde?
gruß rené
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Fokuswechsel zwischen zwei Komponenten

  Alt 15. Jun 2004, 13:14
Hi,
dann sollte es aber gar nicht funktionieren. Es geht aber in der ersten Spalte des Grids...

Weitere Ideen?
Gruß,

Barnti
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz