AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit der Tastensteuerung

Ein Thema von AlexII · begonnen am 22. Mär 2009 · letzter Beitrag vom 22. Mär 2009
Antwort Antwort
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#1

Problem mit der Tastensteuerung

  Alt 22. Mär 2009, 10:26
Hallo,

hab folgendes Problem: hab auf einer Form eine TrackBar und ComboBox. Die muss ich mit den Richtungstasten steuern, und zwar wie folgt:
Links- u. Rechtstaste verschieben den Slider der TrackBar nach links und rechts.
Hoch- u. Runtertaste zeigen den nächsten bzw. letzten String auf einer Label.
Hab schon stundenlang daran "geschraubt" und folgenden Code zusammen gebastelt.... aber irgendwie funktioniert das nicht. Das Problem liegt irgendwo in der Selektierung. Möchte es aber so haben, dass man kein Objekt extra selektieren muss, die Tasten müssen ihre Funktion sofort erledigen. Also wie gesagt, kriege es nicht hin.
Das Projekt liegt bei.

Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var l, h: Integer;
begin
if (Key=VK_Left) then
begin
l:=TrackBar1.Position;
Dec(l);
TrackBar1.Position:=l;
end else if (Key=VK_Right) then
         begin
         l:=TrackBar1.Position;
         Inc(l);
         TrackBar1.Position:=l;
         end else if (Key=VK_Up) then
                  begin
                  h:=ComboBox1.ItemIndex;
                  Dec(h);
                  ComboBox1.ItemIndex:=h;
                  ComboBox1Click(Sender);
                  end else if (Key=VK_Down) then
                           begin
                           h:=ComboBox1.ItemIndex;
                           Inc(h);
                           ComboBox1.ItemIndex:=h;
                           ComboBox1Click(Sender);
                           end;
end;
Angehängte Dateien
Dateityp: zip dasproject_107.zip (204,4 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Problem mit der Tastensteuerung

  Alt 22. Mär 2009, 13:12
Kann mir denn keiner helfen?
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Problem mit der Tastensteuerung

  Alt 22. Mär 2009, 13:20
Pushen ist erst nach 24 Stunden erlaubt.
Blackheart
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Problem mit der Tastensteuerung

  Alt 22. Mär 2009, 13:39
Ich verstehe nicht so wirklich was du erreichen willst.
Aber wenn du auf Änderungen in einer TComboBox reagieren willst, benutze das OnChane-Ereignis.

Und hier hab ich den Code im FormKeyDown() mal aufgeräumt, bestimmt kommst du so schneller drauf.
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin

  case Key of
    VK_Left: TrackBar1.Position := TrackBar1.Position - 1;
    VK_Right: TrackBar1.Position := TrackBar1.Position + 1;
    VK_Up:
    begin
      ComboBox1.ItemIndex := ComboBox1.ItemIndex - 1;
      ComboBox1Change(Sender);
    end;
    VK_Down:
    begin
      ComboBox1.ItemIndex := ComboBox1.ItemIndex + 1;
      ComboBox1Change(Sender);
    end;
  end;

end;
Um ein TWinControl nicht anwählbar zu machen musst du die Eigenschaft TabStop auf false setzen.
  Mit Zitat antworten Zitat
Benutzerbild von Pichel
Pichel

Registriert seit: 25. Feb 2005
Ort: Kassel
65 Beiträge
 
Delphi 7 Professional
 
#5

Re: Problem mit der Tastensteuerung

  Alt 22. Mär 2009, 13:40
Also, ich verstehe das Problem noch nicht ganz.
Probleme kann es jedoch geben wenn du die beiden Komponenten im onChange Event verknüpfst.

Die Formatierung mit vielen If Then finde ich auch sehr unübersichtlich, besser fände ich dabei schonmal
Delphi-Quellcode:
case Key of
 VK_Right : begin end;
 VK_Up : begin end;
 VK_Down : begin end;
end;
Grüße aus Kassel.

Konfuzius sprach: Etwas lernen und sich immer wieder darin üben - schafft das nicht auch Befriedigung?
  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 04:08 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