📄 suidsgn.pas
字号:
if Comp is TPopupMenu then
ConvertMenus(Comp as TPopupMenu, TsuiPopupMenu, StrUIStyle, Dsgn);
if Comp is TMainMenu then
ConvertMenus(Comp as TMainMenu, TsuiMainMenu, StrUIStyle, Dsgn);
end;
for i := 0 to Form.ComponentCount - 1 do
begin
if Form.Components[i] is TControl then
begin
IncHeight := FormIncHeight;
Ctrl := Form.Components[i] as TControl;
if IsHasProperty(Ctrl, 'DataSource') then
aDB := GetObjectProp(Ctrl, 'DataSource') as TComponent;
if IsHasProperty(Ctrl, 'DataField') then
aFld := GetPropValue(Ctrl, 'DataField');
if (
(Ctrl <> suiForm) and
(Ctrl.Parent = Form)
) then
Ctrl.Parent := suiForm;
if (
(Ctrl.Parent <> suiForm) and
(Ctrl.Parent <> nil)
) then
begin
if Copy(Ctrl.Parent.Name, 1, 7) = 'suitemp' then
begin
Comp := Dsgn.GetComponent(Copy(Ctrl.Parent.Name, 8, Length(Ctrl.Parent.Name)));
if (Comp = nil) or (not (Comp is TWinControl)) then
continue;
Ctrl.Parent := Comp as TWinControl;
end;
IncHeight := 0;
end;
if Ctrl is TToolBar then
begin
(Ctrl as TToolBar).Top := 800;
(Ctrl as TToolBar).Flat := true;
continue;
end;
if Ctrl is TButton then
ConvertControls(Ctrl, TsuiButton, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TCheckBox then
ConvertControls(Ctrl, TsuiCheckBox, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TRadioButton then
ConvertControls(Ctrl, TsuiRadioButton, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TProgressBar then
ConvertControls(Ctrl, TsuiProgressBar, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TEdit then
ConvertControls(Ctrl, TsuiEdit, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TMemo then
ConvertControls(Ctrl, TsuiMemo, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TListBox then
ConvertControls(Ctrl, TsuiListBox, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TComboBox then
ConvertControls(Ctrl, TsuiComboBox, StrUIStyle, IncHeight, Dsgn)
{$IFDEF SUIPACK_D6UP}
else if Ctrl is TColorBox then
ConvertControls(Ctrl, TsuiColorBox, StrUIStyle, IncHeight, Dsgn)
{$ENDIF}
else if Ctrl is TCheckListBox then
ConvertControls(Ctrl, TsuiCheckListBox, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TGroupBox then
ConvertControls(Ctrl, TsuiGroupBox, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TRadioGroup then
ConvertControls(Ctrl, TsuiRadioGroup, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TListView then
ConvertControls(Ctrl, TsuiListView, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TTreeView then
ConvertControls(Ctrl, TsuiTreeView, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TTabControl then
ConvertControls(Ctrl, TsuiTabControl, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TTabSheet then
ConvertControls(Ctrl, TsuiTabSheet, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TPageControl then
ConvertControls(Ctrl, TsuiPageControl, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TTrackBar then
ConvertControls(Ctrl, TsuiTrackBar, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TScrollBar then
ConvertControls(Ctrl, TsuiScrollBar, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TStringGrid then
ConvertControls(Ctrl, TsuiStringGrid, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TDrawGrid then
ConvertControls(Ctrl, TsuiDrawGrid, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TStatusBar then
ConvertControls(Ctrl, TsuiStatusBar, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TMaskEdit then
ConvertControls(Ctrl, TsuiMaskEdit, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TDriveComboBox then
ConvertControls(Ctrl, TsuiDriveComboBox, StrUIStyle, IncHeight, Dsgn)
{$IFDEF DB}
else if Ctrl is TDBEdit then
ConvertControls(Ctrl, TsuiDBEdit, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TDBMemo then
ConvertControls(Ctrl, TsuiDBMemo, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TDBImage then
ConvertControls(Ctrl, TsuiDBIMage, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TDBListBox then
ConvertControls(Ctrl, TsuiDBListBox, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TDBComboBox then
ConvertControls(Ctrl, TsuiDBComboBox, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TDBCheckBox then
ConvertControls(Ctrl, TsuiDBCheckBox, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TDBRadioGroup then
ConvertControls(Ctrl, TsuiDBRadioGroup, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TDBNavigator then
ConvertControls(Ctrl, TsuiDBNavigator, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TDBLookupListBox then
ConvertControls(Ctrl, TsuiDBLookupListBox, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TDBLookupComboBox then
ConvertControls(Ctrl, TsuiDBLookupComboBox, StrUIStyle, IncHeight, Dsgn)
else if Ctrl is TDBGrid then
ConvertControls(Ctrl, TsuiDBGrid, StrUIStyle, IncHeight, Dsgn)
{$ENDIF}
else
begin
if IsHasProperty(Ctrl, 'Top') then
SetOrdProp(Ctrl, 'Top', GetOrdProp(Ctrl, 'Top') + IncHeight);
end;
if IsHasProperty(Ctrl, 'DataSource') then
SetObjectProp(Ctrl, 'DataSource', aDB);
if IsHasProperty(Ctrl, 'DataField') then
SetPropValue(Ctrl, 'DataField', aFld);
end
end;
RemoveOldControl(nil, true);
end;
{ TsuiPageControlEditor }
procedure TsuiPageControlEditor.Edit;
begin
end;
procedure TsuiPageControlEditor.ExecuteVerb(Index: Integer);
begin
case Index of
0 : PageControl_InsertPage(Component);
1 : PageControl_RemovePage(Component);
end;
Designer.Modified();
end;
function TsuiPageControlEditor.GetVerb(Index: Integer): String;
begin
case Index of
0 : Result := 'New Page';
1 : Result := 'Delete Page';
end;
end;
function TsuiPageControlEditor.GetVerbCount: Integer;
begin
Result := 2;
end;
procedure TsuiPageControlEditor.PrepareItem(Index: Integer;
{$IFDEF SUIPACK_D5}
const AItem: TMenuItem);
{$ENDIF}
{$IFDEF SUIPACK_D6UP}
const AItem: IMenuItem);
{$ENDIF}
begin
inherited;
if Index = 1 then
AItem.Enabled := PageControl_CanRemove(Component);
end;
{ TsuiFileThemeEditor }
procedure TsuiFileThemeEditor.Edit;
begin
if Component is TsuiFileTheme then
begin
FileThemeEdit(Component as TsuiFileTheme);
Designer.Modified();
end;
end;
procedure TsuiFileThemeEditor.ExecuteVerb(Index: Integer);
begin
case Index of
0 : Edit;
end;
end;
function TsuiFileThemeEditor.GetVerb(Index: Integer): String;
begin
case Index of
0 : Result := 'Load a theme file...';
end;
end;
function TsuiFileThemeEditor.GetVerbCount: Integer;
begin
Result := 1;
end;
{ TsuiThemeMgrCompListEditor }
procedure TsuiThemeMgrCompListEditor.Edit;
begin
ThemeManagerEdit(GetComponent(0) as TsuiThemeManager);
Designer.Modified();
end;
function TsuiThemeMgrCompListEditor.GetAttributes: TPropertyAttributes;
begin
Result := [paDialog, paReadOnly{$IFDEF SMLPACK_D6UP}, paVCL{$ENDIF}];
end;
function TsuiThemeMgrCompListEditor.GetValue: string;
begin
Result := 'Component List';
end;
{ TsuiTabSheetEditor }
procedure TsuiTabSheetEditor.Edit;
begin
end;
procedure TsuiTabSheetEditor.ExecuteVerb(Index: Integer);
begin
case Index of
0 : TabSheet_InsertPage(Component);
1 : TabSheet_RemovePage(Component);
end;
Designer.Modified();
end;
function TsuiTabSheetEditor.GetVerb(Index: Integer): String;
begin
case Index of
0 : Result := 'New Page';
1 : Result := 'Delete Page';
end;
end;
function TsuiTabSheetEditor.GetVerbCount: Integer;
begin
Result := 2;
end;
procedure TsuiTabSheetEditor.PrepareItem(Index: Integer;
{$IFDEF SUIPACK_D5}
const AItem: TMenuItem);
{$ENDIF}
{$IFDEF SUIPACK_D6UP}
const AItem: IMenuItem);
{$ENDIF}
begin
inherited;
if Index = 1 then
AItem.Enabled := TabSheet_CanRemove(Component);
end;
{ TsuiDialogEditor }
procedure TsuiDialogEditor.Edit;
begin
if Component is TsuiDialog then
(Component as TsuiDialog).ShowModal();
end;
{ TsuiThemeManagerEditor }
procedure TsuiThemeManagerEditor.Edit;
begin
if Component is TsuiThemeManager then
begin
ThemeManagerEdit(Component as TsuiThemeManager);
Designer.Modified();
end;
end;
procedure TsuiThemeManagerEditor.ExecuteVerb(Index: Integer);
begin
case Index of
0 : Edit;
end;
end;
function TsuiThemeManagerEditor.GetVerb(Index: Integer): String;
begin
case Index of
0 : Result := 'Edit list...';
end;
end;
function TsuiThemeManagerEditor.GetVerbCount: Integer;
begin
Result := 1;
end;
{ TsuiConvertor }
constructor TsuiConvertor.Create(AOwner: TComponent);
var
Form : TCustomForm;
i : Integer;
begin
inherited;
if not (AOwner is TCustomForm) then
Exit;
if Win32Platform = VER_PLATFORM_WIN32_WINDOWS then
begin
MessageDlg('Sorry, can''t convert under Windows 98.', mtError, [mbOK], 0);
SysUtils.Abort;
Exit;
end;
Form := AOwner as TCustomForm;
for i := 0 to Form.ControlCount - 1 do
begin
if Form.Controls[i] is TsuiForm then
begin
MessageDlg('Sorry, you have a TsuiForm already. Converting canceled.', mtError, [mbOK], 0);
SysUtils.Abort;
Exit;
end;
end;
frmConv := TfrmConv.Create(nil);
frmConv.cb_theme.ItemIndex := 0;
if frmConv.ShowModal() = mrOK then
ConvertToSUIPack(TCustomForm(AOwner), frmConv.cb_theme.Text, TsuiUIStyle(frmConv.cb_theme.ItemIndex + 1));
frmConv.Free();
SysUtils.Abort;
end;
{ TsuiThemeFileEditor }
procedure TsuiThemeFileEditor.Edit;
var
OpenDialog: TOpenDialog;
begin
OpenDialog := TOpenDialog.Create(Application);
OpenDialog.Filter := 'SUIPack Theme File(*.sui)|*.sui';
if OpenDialog.Execute() then
begin
TsuiFileTheme(GetComponent(0)).ThemeFile := OpenDialog.FileName;
Modified();
end;
OpenDialog.Free();
end;
function TsuiThemeFileEditor.GetAttributes: TPropertyAttributes;
begin
Result := [paDialog];
end;
function TsuiThemeFileEditor.GetValue: string;
begin
Result := TsuiFileTheme(GetComponent(0)).ThemeFile;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -