AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TEdit-Komponenten mit dynamischen SetFocus versehen
Thema durchsuchen
Ansicht
Themen-Optionen

TEdit-Komponenten mit dynamischen SetFocus versehen

Ein Thema von Barret · begonnen am 14. Okt 2004 · letzter Beitrag vom 14. Okt 2004
Antwort Antwort
Benutzerbild von Barret
Barret

Registriert seit: 27. Mai 2004
53 Beiträge
 
#1

TEdit-Komponenten mit dynamischen SetFocus versehen

  Alt 14. Okt 2004, 13:46
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:
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;
Funktioniert aber auch nicht.
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.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: TEdit-Komponenten mit dynamischen SetFocus versehen

  Alt 14. Okt 2004, 13:56
Das müßte mit der Taborder gehen. Aber wie genau ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#3

Re: TEdit-Komponenten mit dynamischen SetFocus versehen

  Alt 14. Okt 2004, 13:56
das Perform muß du dem Formular geben !

und eventuell im KeyDown auf VK_DOWN abprüfen
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#4

Re: TEdit-Komponenten mit dynamischen SetFocus versehen

  Alt 14. Okt 2004, 13:56
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;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Barret
Barret

Registriert seit: 27. Mai 2004
53 Beiträge
 
#5

Re: TEdit-Komponenten mit dynamischen SetFocus versehen

  Alt 14. Okt 2004, 13:59
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.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

Re: TEdit-Komponenten mit dynamischen SetFocus versehen

  Alt 14. Okt 2004, 14:22
Zitat von Barret:
..Ich wollte das aber noch mit den Pfeil-Tasten machen ....
Was gefällt Dir denn an meiner Lösung nicht?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Barret
Barret

Registriert seit: 27. Mai 2004
53 Beiträge
 
#7

Re: TEdit-Komponenten mit dynamischen SetFocus versehen

  Alt 14. Okt 2004, 14:29
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
  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 22:22 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