Forum Delphi.cz

Delphi => Obecné => Téma založeno: Stanislav Hruška 24-04-2019, 10:41:09

Název: Zrušenie ShortCut v ActionManager
Přispěvatel: Stanislav Hruška 24-04-2019, 10:41:09
Mám túto funkciu a teraz si nie som istý, či je správna. Či mi likviduje ShortCut.
Kód: Delphi [Vybrat]
  1. procedure TCustomNavigator.DestroyShortCut;
  2. var
  3.   I, K: Integer;
  4.   BarItem: TActionBarItem;
  5.   Client: TActionClientItem;
  6.   Action: TAction;
  7. begin
  8.   for I := 0 to FActManager.ActionBars.Count -1 do
  9.   begin
  10.     BarItem := FActManager.ActionBars.ActionBars[I];
  11.      if BarItem.ActionBar <> nil then
  12.     begin
  13.       for K := 0 to BarItem.Items.Count -1 do
  14.       begin
  15.         Client := BarItem.Items[K];
  16.          if Client.Action <> nil then
  17.         begin
  18.           Action := TAction(Client.Action);
  19.            if Action <> nil then
  20.             Client.ShortCut := TextToShortCut('');
  21.         end;      end;    end;  end;end;
Název: Re:Zrušenie ShortCut v ActionManager
Přispěvatel: Stanislav Hruška 24-04-2019, 11:01:10
A takto ich vytváram
Kód: Delphi [Vybrat]
  1. procedure TCustomNavigator.SetShortCut;
  2. begin
  3.   if FActToolBar.CanFocus then
  4.   begin
  5.     FActions[naFirst].ShortCut := ShortCut(Word('F'), [ssCtrl]);
  6.     FActions[naInsert].ShortCut := TextToShortCut('Ins');
  7. ...
  8.    end;
  9. end;
  10.  
Název: Re:Zrušenie ShortCut v ActionManager
Přispěvatel: Stanislav Hruška 24-04-2019, 11:06:45
Opäť klasika. Inšpirovaný priradením som to prerobil na
Kód: Delphi [Vybrat]
  1. FActions[naFirst].ShortCut := TextToShortCut('');
  2. ....
a zdá sa, že to funguje.
Název: Re:Zrušenie ShortCut v ActionManager
Přispěvatel: vandrovnik 24-04-2019, 11:23:02
Používal jsem
Kód: Delphi [Vybrat]
  1. aOdstranit.ShortCut:=0;
Název: Re:Zrušenie ShortCut v ActionManager
Přispěvatel: Stanislav Hruška 25-04-2019, 08:12:20
scNone poznajú aj XE7