Вариант реализации закладок с TfsSyntaxMemo

отредактировано 01:50 Раздел: FastScript
Комбинация Ctrl + Shift + клавиша 0..9 основной клавиатуры устанавливает/выключает соответствующую закладку. Комбинация Ctrl + клавиша 0..9 выполняет переход к нужной закладке.
TForm1 = class(TForm)
  published
    smEditor: TfsSyntaxMemo;
    ActionList1: TActionList;
    . . .
  private
    procedure DoSetBookMark(Sender: TObject);
    procedure DoGotoBookMark(Sender: TObject);
    . . .
  end;

uses Menus;

{WINDOWS.PAS: VK_0 thru VK_9 are the same as ASCII '0' thru '9' ($30 - $39) }

procedure TForm1.FormCreate(Sender: TObject);
var
  I: Integer;
  Action: TAction;
begin
  for I := $30 to $39 do
  begin
    Action := TAction.Create(ActionList1);
    Action.ShortCut := ShortCut(I, [ssCtrl, ssShift]); // Ctrl+Shift+0..9
    Action.OnExecute := DoSetBookMark;

    Action := TAction.Create(ActionList1);
    Action.ShortCut := ShortCut(I, [ssCtrl]);          // Ctrl+0..9
    Action.OnExecute := DoGotoBookMark;
  end;
end;

procedure TForm1.DoGotoBookMark(Sender: TObject);
var
  Key: Word;
  Shift: TShiftState;
begin
  ShortCutToKey(TAction(Sender).ShortCut, Key, Shift);
  smEditor.GotoBookmark(Key - $30);
end;

procedure TForm1.DoSetBookMark(Sender: TObject);
var
  W: Word;
  Shift: TShiftState;
begin
  W := smEditor.IsBookmark(smEditor.GetPos.Y - 1);
  if W <> -1 then smEditor.DeleteBookmark(W);
  ShortCutToKey(TAction(Sender).ShortCut, W, Shift);
  smEditor.AddBookmark(smEditor.GetPos.Y-1, W - $30);
end;

Комментарии

  • отредактировано 01:50
    Гы - а там это уже есть, при чем на тех же шорткутах. Вот, что делает квартал и нехватка водки в организме! Пошел срочно пить!!!
  • отредактировано 01:50
    Отцы, а у вас какое время вообще-то? Смотрю отправлено (только что) 06:12, а в наших Лужках 23:33. Во бардак!))
  • отредактировано 01:50
    отставить, не 06:12, а 09:12, все равно бардак) ну и денек сегодня...8-)

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.