hey danke
und ich wußte doch, daß ich vor kurzem irgendwie sowas schonmal gelesen hatte ... nur fand vorhin nix
(OK, hab auch nicht nach "Enter" gesucht und war suchend auf die Pfeiltasten fixiert)
dann in der
DP nach
CM_DIALOGKEY gesucht und nochmals in Delphi nach den Definitionen und schon kam was Funktionierendes raus, wozu ich mal nicht halb Delphi
verbiegenverschaneln muß
Delphi-Quellcode:
Procedure TOptionsSelectForm.CMDialogKey(Var Msg: TCMDialogKey);
Var i, i2: Integer;
Begin
Case Msg.CharCode of
VK_DOWN, VK_RIGHT: Begin
i2 := -1;
For i := ScrollBox1.ControlCount - 1 downto 0 do
If TSpeedButton(ScrollBox1.Controls[i]).Down Then Begin
i2 := i;
Break;
End;
i2 := (i2 + 1) mod ScrollBox1.ControlCount;
TSpeedButton(ScrollBox1.Controls[i2]).Down := True;
ButtonClick(nil);
ScrollBox1.ScrollInView(ScrollBox1.Controls[i2]);
End;
VK_UP, VK_LEFT: Begin
i2 := 0;
For i := ScrollBox1.ControlCount - 1 downto 0 do
If TSpeedButton(ScrollBox1.Controls[i]).Down Then Begin
i2 := i;
Break;
End;
i2 := (i2 - 1 + ScrollBox1.ControlCount) mod ScrollBox1.ControlCount;
TSpeedButton(ScrollBox1.Controls[i2]).Down := True;
ButtonClick(nil);
ScrollBox1.ScrollInView(ScrollBox1.Controls[i2]);
End
Else Inherited;
End;
End;
[add]
mit CM_DIALOGKEY funktioniert's ... es kommt vom Code her auch etwa auf's Selbe wie CM_WANTSPECIALKEY hinaus