Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.088 Beiträge
 
Delphi 12 Athens
 
#4

Re: wie mit Cursortasten navigieren?

  Alt 1. Aug 2009, 18:32
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 Hier im Forum suchenCM_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
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat