⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 advpreviewmenueditor.pas

📁 TMS Component Pack V5.0包含了超过 280 个为 Delphi 以及 C++Builder 设计的 TMS 生产控件
💻 PAS
📖 第 1 页 / 共 3 页
字号:
begin
  if FInternalItemChange then
    Exit;

  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedItem;
  if (i >= 0) then
    FPreviewMenuControl.AdvPreviewMenu.MenuItems[i].OfficeHint.ShowHelp := chk_HintShowHelp.Checked;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.edt_CaptionKeyUp(Sender: TObject;
  var Key: Word; Shift: TShiftState);
var
  i: Integer;
begin
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedItem;
  if (i >= 0) then
  begin
    FPreviewMenuControl.AdvPreviewMenu.MenuItems[i].Caption := edt_Caption.Text;
    UpdatePreview;
  end;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.edt_SubMenuCaptionKeyUp(Sender: TObject;
  var Key: Word; Shift: TShiftState);
var
  i: Integer;
begin
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedItem;
  if (i >= 0) then
  begin
    FPreviewMenuControl.AdvPreviewMenu.MenuItems[i].SubMenuCaption := edt_SubMenuCaption.Text;
    //TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).InitializeAndUpdate;
    UpdatePreview;
  end;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.edt_ShortCutHintKeyUp(Sender: TObject;
  var Key: Word; Shift: TShiftState);
var
  i: Integer;
begin
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedItem;
  if (i >= 0) then
    FPreviewMenuControl.AdvPreviewMenu.MenuItems[i].ShortCutHint := edt_ShortCutHint.Text;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.edt_ShortCutSubHintKeyUp(Sender: TObject;
  var Key: Word; Shift: TShiftState);
var
  i: Integer;
begin
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedItem;
  if (i >= 0) then
    FPreviewMenuControl.AdvPreviewMenu.MenuItems[i].ShortCutSubItemsHint := edt_ShortCutSubHint.Text;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.edt_HintTitleKeyUp(Sender: TObject;
  var Key: Word; Shift: TShiftState);
var
  i: Integer;
begin
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedItem;
  if (i >= 0) then
    FPreviewMenuControl.AdvPreviewMenu.MenuItems[i].OfficeHint.Title := edt_HintTitle.Text;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.btn_AddClick(Sender: TObject);
var
  i: Integer;
begin
  with FPreviewMenuControl.AdvPreviewMenu.MenuItems.Add do
  begin
    Caption := 'NewItem';
    SubMenuCaption := 'SubMenuCaption';
    i := Index;
  end;
  TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).InitializeAndUpdate;
  TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).ItemHot := i;
  TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectItem(i);
  TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).InvalidateRightFrame;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.btn_RemoveClick(Sender: TObject);
var
  i: Integer;
begin
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedItem;
  if (i >= 0) then
  begin
    FPreviewMenuControl.AdvPreviewMenu.MenuItems.Delete(i);
    TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).InitializeAndUpdate;
    TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).ItemHot := i-1;
    TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectItem(i-1);
    TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).Invalidate;
  end;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.OnSubMenuItemClick(Sender: TObject; ItemIndex,
  SubMenuItemIndex: Integer);
var
  SubItems: TAdvPreviewSubMenuItems;
begin
  FInternalSubItemChange := True;
  if (SubMenuItemIndex < 0) then
  begin
    edt_Title.Text := '';
    edt_SubShortCutHint.Text := '';
    cmb_SubImageIndex.Text := '-1';
    spn_SubTag.Value := 0;
    mem_SubNotes.Lines.Clear;
    edt_SubHintTitle.Text := '';
    mem_SubHintNotes.Lines.Clear;
    chk_SubVisible.Checked := False;
    chk_SubEnabled.Checked := False;
    chk_SubSeparator.Checked := False;
    chk_SubShowHelp.Checked := False;
    if cmb_SubImageIndex.Enabled and (cmb_SubImageIndex.Items.Count > 0) then
      cmb_SubImageIndex.Text := InttoStr(-1);
    cmb_SubAction.Text := '';
    cmb_SubMenu.Text := '';
  end
  else
  begin
    SubItems := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).GetSubMenuItems;
    if Assigned(SubItems) and (SubMenuItemIndex < SubItems.Count) and (SubMenuItemIndex >= 0) then
    begin
      edt_Title.Text := SubItems.Items[SubMenuItemIndex].Title;
      edt_SubShortCutHint.Text := SubItems.Items[SubMenuItemIndex].ShortCutHint;
      cmb_SubImageIndex.Text := InttoStr(SubItems.Items[SubMenuItemIndex].ImageIndex);
      spn_SubTag.Value := SubItems.Items[SubMenuItemIndex].Tag;
      mem_SubNotes.Lines.Clear;
      mem_SubNotes.Lines.AddStrings(SubItems.Items[SubMenuItemIndex].Notes);
      edt_SubHintTitle.Text := SubItems.Items[SubMenuItemIndex].OfficeHint.Title;
      mem_SubHintNotes.Lines.Clear;
      mem_SubHintNotes.Lines.AddStrings(SubItems.Items[SubMenuItemIndex].OfficeHint.Notes);
      chk_SubVisible.Checked := SubItems.Items[SubMenuItemIndex].Visible;
      chk_SubEnabled.Checked := SubItems.Items[SubMenuItemIndex].Enabled;
      chk_SubSeparator.Checked := SubItems.Items[SubMenuItemIndex].Separator;
      chk_SubShowHelp.Checked := SubItems.Items[SubMenuItemIndex].OfficeHint.ShowHelp;
      if cmb_SubImageIndex.Enabled and (SubItems.Items[SubMenuItemIndex].ImageIndex < cmb_SubImageIndex.Items.Count) then
        cmb_SubImageIndex.ItemIndex := SubItems.Items[SubMenuItemIndex].ImageIndex;

      if Assigned(SubItems.Items[SubMenuItemIndex].Action) then
        cmb_SubAction.Text := SubItems.Items[SubMenuItemIndex].Action.Name
      else
        cmb_SubAction.Text := '';

      if Assigned(SubItems.Items[SubMenuItemIndex].SubMenu) then
        cmb_SubMenu.Text := SubItems.Items[SubMenuItemIndex].SubMenu.Name
      else
        cmb_SubMenu.Text := '';
    end
    else
    begin
      edt_Title.Text := '';
      edt_SubShortCutHint.Text := '';
      cmb_SubImageIndex.Text := '-1';
      spn_SubTag.Value := 0;
      mem_SubNotes.Lines.Clear;
      edt_SubHintTitle.Text := '';
      mem_SubHintNotes.Lines.Clear;
      chk_SubVisible.Checked := False;
      chk_SubEnabled.Checked := False;
      chk_SubSeparator.Checked := False;
      chk_SubShowHelp.Checked := False;
      if cmb_SubImageIndex.Enabled and (cmb_SubImageIndex.Items.Count > 0) then
        cmb_SubImageIndex.Text := InttoStr(-1);
      cmb_SubAction.Text := '';
      cmb_SubMenu.Text := '';  
    end;
  end;
  FInternalSubItemChange := False;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.edt_TitleKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  SubItems: TAdvPreviewSubMenuItems;
  i: Integer;
begin
  SubItems := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).GetSubMenuItems;
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedSubItem;
  //j := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedItem;
  if (i >= 0) then
  begin
    SubItems.Items[i].Title := edt_Title.Text;
    TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).DrawSubMenuItem(i);
    UpdatePreview;
    {TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).InitializeAndUpdate;
    if (j >= 0) then
      TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).ItemHot := j;}
  end;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.edt_SubShortCutHintKeyUp(Sender: TObject;
  var Key: Word; Shift: TShiftState);
var
  SubItems: TAdvPreviewSubMenuItems;
  i: Integer;
begin
  SubItems := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).GetSubMenuItems;
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedSubItem;
  if (i >= 0) then
    SubItems.Items[i].ShortCutHint := edt_SubShortCutHint.Text;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.cmb_SubImageIndexChange(Sender: TObject);
var
  SubItems: TAdvPreviewSubMenuItems;
  i: Integer;
begin
  if FInternalSubItemChange then
    Exit;

  SubItems := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).GetSubMenuItems;
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedSubItem;
  if (i >= 0) and Assigned(SubItems) and (cmb_SubImageIndex.ItemIndex >= 0) then
  begin
    SubItems.Items[i].ImageIndex := StrToInt(cmb_SubImageIndex.Items[cmb_SubImageIndex.ItemIndex]);
    UpdatePreview;
    TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).DrawSubMenuItem(i);
  end;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.spn_SubTagChange(Sender: TObject);
var
  SubItems: TAdvPreviewSubMenuItems;
  i: Integer;
begin
  if FInternalSubItemChange then
    Exit;

  SubItems := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).GetSubMenuItems;
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedSubItem;
  if (i >= 0) then
    SubItems.Items[i].Tag := spn_SubTag.Value;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.chk_SubVisibleClick(Sender: TObject);
var
  SubItems: TAdvPreviewSubMenuItems;
  i: Integer;
begin
  if FInternalSubItemChange then
    Exit;

  SubItems := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).GetSubMenuItems;
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedSubItem;
  if (i >= 0) then
    SubItems.Items[i].Visible := chk_SubVisible.Checked;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.chk_SubEnabledClick(Sender: TObject);
var
  SubItems: TAdvPreviewSubMenuItems;
  i: Integer;
begin
  if FInternalSubItemChange then
    Exit;

  SubItems := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).GetSubMenuItems;
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedSubItem;
  if (i >= 0) then
  begin
    SubItems.Items[i].Enabled := chk_SubEnabled.Checked;
    TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).DrawSubMenuItem(i);
  end;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.chk_SubSeparatorClick(Sender: TObject);
var
  SubItems: TAdvPreviewSubMenuItems;
  i: Integer;
begin
  if FInternalSubItemChange then
    Exit;

  SubItems := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).GetSubMenuItems;
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedSubItem;
  if (i >= 0) then
  begin
    SubItems.Items[i].Separator := chk_SubSeparator.Checked;
    TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).DrawSubMenuItem(i);
  end;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.mem_SubNotesChange(Sender: TObject);
var
  SubItems: TAdvPreviewSubMenuItems;
  i: Integer;
begin
  if FInternalSubItemChange then
    Exit;

  SubItems := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).GetSubMenuItems;
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedSubItem;
  if (i >= 0) then
  begin
    SubItems.Items[i].Notes.Clear;
    SubItems.Items[i].Notes.AddStrings(mem_SubNotes.Lines);
    TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).DrawSubMenuItem(i);
    //TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).InitializeAndUpdate;
    UpdatePreview;
  end;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.edt_SubHintTitleKeyUp(Sender: TObject;
  var Key: Word; Shift: TShiftState);
var
  SubItems: TAdvPreviewSubMenuItems;
  i: Integer;
begin
  if FInternalSubItemChange then
    Exit;

  SubItems := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).GetSubMenuItems;
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedSubItem;
  if (i >= 0) then
    SubItems.Items[i].OfficeHint.Title := edt_SubHintTitle.Text;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.mem_SubHintNotesChange(Sender: TObject);
var
  SubItems: TAdvPreviewSubMenuItems;
  i: Integer;
begin
  if FInternalSubItemChange then
    Exit;

  SubItems := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).GetSubMenuItems;
  i := TProPreviewMenuPanel(FPreviewMenuControl.AdvPreviewMenuPanel).SelectedSubItem;
  if (i >= 0) then
  begin
    SubItems.Items[i].OfficeHint.Notes.Clear;
    SubItems.Items[i].OfficeHint.Notes.AddStrings(mem_SubHintNotes.Lines);
  end;
end;

//------------------------------------------------------------------------------

procedure TPreviewMenuEditor.chk_SubShowHelpClick(Sender: TObject);
var
  SubItems: TAdvPreviewSubMenuItems;
  i: Integer;
begin

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -