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;