![]() |
TEdit-Komponenten mit dynamischen SetFocus versehen
Hi!
Ich hab in meinem projekt mehrere Edit-Felder die untereinander stehen. Jetzt will ich das, wenn ich die Pfeil hoch btw. runter Taste betätige der Focus ein Edit runter bzw. hoch springt. Ich hatte aber keine Lust in jedem Edit eine "Key"-Abfrage beim KeyDown zu machen und dan den Focus zuweisen. Sprich ich will das nur einmal schreiben und dann lass ich die Edits das "KeyDown"-Event von dem geschriebennen holen. Ich hab das schon über den "ComponentCount" versucht hab da aber nix rausbekommen. Dan hab ich noch das Probiert:
Code:
Funktioniert aber auch nicht.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if (Key = PChar(VK_Down)) then begin (Sender as TCustomEdit).Perform(WM_NEXTDLGCTL, 0, 0); //Zum nächsten Element wechseln Key := #0; //Gedrückte Taste unwirksam machen end; end; Hat jemand von euch noch eine Lösung. Ach so mit der angezeigten procedure kann ich ja nur weiter springen. Und wenn da jemand noch was im Angebot hätte wie ich zurückspringen kann wär ich auch dankbar. |
Re: TEdit-Komponenten mit dynamischen SetFocus versehen
Das müßte mit der Taborder gehen. Aber wie genau ? :gruebel:
|
Re: TEdit-Komponenten mit dynamischen SetFocus versehen
das Perform muß du dem Formular geben !
und eventuell im KeyDown auf VK_DOWN abprüfen |
Re: TEdit-Komponenten mit dynamischen SetFocus versehen
Hai Barret,
ich würde das im OnKeyDown der Form machen (KeyPreview auf True setzen)
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if (Key = VK_Down) then begin self.Perform(WM_NEXTDLGCTL, 0, 0); //Zum nächsten Element wechseln end; if (Key = VK_Up) then begin self.Perform(WM_NEXTDLGCTL, 1, 0); //Zum vorherigen Element wechseln end; end; |
Re: TEdit-Komponenten mit dynamischen SetFocus versehen
Das mit der TabOrder weis ich ja ..... So hab ich das ja schon. Ich wollte das aber noch mit den Pfeil-Tasten machen damit man nicht immer Tab & Umschlt + Tab drücken muss. Sozusagen für DAUs.
|
Re: TEdit-Komponenten mit dynamischen SetFocus versehen
Zitat:
|
Re: TEdit-Komponenten mit dynamischen SetFocus versehen
Deine Antwort kam vor meiner rein. Meins bezog sich auf den Text von Hansa. Ich habs mit deinem probiert ,Sharky, und ich muss sagen, dass gefällt mir recht gut. Noch eine kleine Modifikation und die Sache steht.
Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz