📄 advpreviewmenueditor.pas
字号:
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 + -