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

📄 mainform.pas

📁 delphi 写的delphi的程序 Handel is a free, standalone development tool created with Delphi 3 that enable
💻 PAS
📖 第 1 页 / 共 5 页
字号:
begin
   SaveProject(ProjectInfo.ProjectName);
end;

procedure TFMainForm.CloseActiveFile;
// Close active unit and form
var
  Form: TForm;
begin
   if EditorForm.PageControl1.ActivePage = nil then Exit;
   if TmwCustomEdit(EditorForm.PageControl1.ActivePage.Controls[0]).Modified then
      SaveFile(EditorForm.Caption);
   OpenUnitList[ActivePasEditor.Tag].Closed:= True;
   EditorForm.PageControl1.ActivePage.Free;
   EditorForm.PageControl1.SelectNextPage(True);
   Form:= GetLinkForm;
   if Form <> nil then Form.Free;
end;

procedure TFMainForm.FileCloseItemClick(Sender: TObject);
begin
   CloseActiveFile;
end;

procedure TFMainForm.EditFrontItemClick(Sender: TObject);
begin
   TProxyForm(ActiveForm).SelectControl.BringToFront;
end;

procedure TFMainForm.EditBackItemClick(Sender: TObject);
begin
   TProxyForm(ActiveForm).SelectControl.SendToBack;
end;

procedure TFMainForm.EditAlignItemClick(Sender: TObject);
var
  AlignDialog:TAlignDialog;
begin
   AlignDialog:= TAlignDialog.Create(self);
   AlignDialog.ShowModal;
   AlignDialog.Free;
end;

procedure TFMainForm.EditSizeItemClick(Sender: TObject);
var
  SizeDialog:TSizeDialog;
begin
   SizeDialog:= TSizeDialog.Create(self);
   SizeDialog.ShowModal;
   SizeDialog.Free;
end;

procedure TFMainForm.HelpContextItemClick(Sender: TObject);
begin
   Application.HelpCommand(HELP_FINDER, 0);
end;

procedure TFMainForm.EditScaleItemClick(Sender: TObject);
var
  ScaleForm:TScaleForm;
begin
   ScaleForm:= TScaleForm.Create(self);
   ScaleForm.ShowModal;
   ScaleForm.Free;
end;

procedure TFMainForm.FormDestroy(Sender: TObject);
begin
   if FileExistOnPath(FilePath + TempFile) then DeleteFile(FilePath + TempFile);
   if FileExistOnPath(FilePath + TempForm) then DeleteFile(FilePath + TempForm);
end;

procedure TFMainForm.FileSaveProjectAsItemClick(Sender: TObject);
begin
   SaveProject(TempProject);
end;

procedure TFMainForm.MakeBitmap(Component:TSpeedButton;ComponentName:string);
// Make bitmap of component
var
  ResName: array[0..64] of Char;
  ResBitmap: TBitmap;
begin
   ResBitmap := TBitmap.Create;
   try
     StrPLCopy(ResName, ComponentName, SizeOf(ResName));
     AnsiUpper(ResName);
     ResBitmap.Handle := LoadBitmap(hInstance, ResName);
     if ResBitmap.Handle = 0 then
       ResBitmap.Handle := LoadBitmap(hInstance, 'DEFAULT');

     Component.Glyph:= ResBitmap;
   finally
     ResBitmap.Free;
   end;
end;

procedure TFMainForm.LoadDefaultButton(TabSheet:TTabSheet);
// Load default button
var
  Button:TSpeedButton;

  procedure CreateButton(ButtonName:string;Index:Integer);
  begin
     Button:=TSpeedButton.Create(TabSheet);
     with Button do
     begin
        Name := UniqueName(Button);
        if Index = 0 then Down:= True;
        Flat      := True;
        GroupIndex:= 1;
        Height    := 28;
        Left      := Index * 29;
        Parent    := TabSheet;
        Top       := 5;
        Width     := 28;
        OnClick   := sbButtonClick;
     end;
     MakeBitmap(Button,ButtonName);
  end;

begin
   CreateButton('CURSOR',0);
end;

procedure TFMainForm.CreatePalettePage(PalettePage:string);
// Create component of palette page (page name is PalettePage)
var
  TabSheet:TTabSheet;
  Button:TSpeedButton;
  ComponentNames, ComponentName:string;
  Temp, Pos1, Index:Integer;

  procedure CreateButton(ButtonName:string);
  begin
     Button:=TSpeedButton.Create(TabSheet);
     with Button do
     begin
        Name := UniqueName(Button);
        Flat      := True;
        GroupIndex:= 1;
        Height    := 28;
        Hint      := ButtonName;
        Left      := Index * 29;
        Parent    := TabSheet;
        ShowHint  := True;
        Top       := 5;
        Width     := 28;
        OnClick   := sbButtonClick;
     end;
     MakeBitmap(Button,ButtonName);
  end;

begin
   TabSheet:=TTabSheet.Create(self);
   with TabSheet do
   begin
      PageControl := PageControl1;
      Caption:= PalettePage;
      Name := UniqueName(TabSheet);
   end;
   LoadDefaultButton(TabSheet);
   ComponentNames:= IniFile.ReadString('Palette',PalettePage, '');
   if ComponentNames = '' then Exit;
   Pos1 := 0;
   Temp := 1;
   Index:= 1;
   while True do
   begin
      Pos1:= NPos(';', ComponentNames, Temp, Length(ComponentNames));
      if Pos1 = 0 then Break;
      ComponentName:= Copy(ComponentNames, Temp, Pos1 - Temp -1);
      CreateButton(ComponentName);
      Temp:= Pos1;
      Inc(Index);
   end;
end;

procedure TFMainForm.LoadDefaultPalette();
// Load default palette when palette not exists
begin
   with IniFile do
   begin
      WriteString('Palette', 'Standard'      ,'TMainMenu;TPopupMenu;TLabel;TEdit;TMemo;TButton;TCheckBox;TRadioButton;TListBox;TComboBox;TScrollBar;TGroupBox;TRadioGroup;TPanel;');
      WriteString('Palette', 'Addtional'     ,'TBitBtn;TSpeedButton;TMaskEdit;TStringGrid;TDrawGrid;TImage;TShape;TBevel;TScrollBox;TCheckListBox;TSplitter;TStaticText;');
      WriteString('Palette', 'Win32'         ,'TTabControl;TPageControl;TImageList;TRichEdit;TTrackBar;TProgressBar;TUpDown;THotKey;TAnimate;TDateTimePicker;TTreeView;TListView;THeaderControl;TStatusBar;TToolBar;TCoolBar;');
      WriteString('Palette', 'System'        ,'TTimer;TPaintBox;TMediaPlayer;TOleContainer;TDdeClientConv;TDdeClientItem;TDdeServerConv;TDdeServerItem;');
     // WriteString('Palette', 'Internet' ,'TClientSocket;TServerSocket;TWebDispatcher;TPageProducer;TQueryTableProducer;TDataSetTableProducer;TFTP;THTML;THTTP;TNNTP;TPOP;TSMTP;TTCP;TUDP;');
      WriteString('Palette', 'Data Access'   ,'TDataSource;TTable;TQuery;TStoredProc;TDatabase;TSession;TBatchMove;TUpdateSQL');
      WriteString('Palette', 'Data Controls' ,'TDBGrid;TDBNavigator;TDBText;TDBEdit;TDBMemo;TDBImage;TDBListBox;TDBComboBox;TDBCheckBox;TDBRadioGroup;TDBLookupListBox;TDBLookupComboBox;TDBRichEdit;TDBCtrlGrid;TDBChart;');
      WriteString('Palette', 'QReport'       ,'TQuickRep;TQRSubDetail;TQRBand;TQRChildBand;TQRGroup;TQRLabel;TQRDBText;TQRExpr;TQRSysData;TQRMemo;TQRRichText;TQRDBRichText;TQRShape;TQRImage;TQRDBImage;TQRCompositeReport;TQRPreview;TQRChart;');
      WriteString('Palette', 'Dialogs'       ,'TOpenDialog;TSaveDialog;TOpenPictureDialog;TSavePictureDialog;TFontDialog;TColorDialog;TPrintDialog;TPrinterSetupDialog;TFindDialog;TReplaceDialog;');
      WriteString('Palette', 'Win 3.1'       ,'TDBLookupList;TDBLookupCombo;TTabSet;TOutline;TTabbedNotebook;TNotebook;THeader;TFileListBox;TDirectoryListBox;TDriveComboBox;TFilterComboBox;');
      WriteString('Palette', 'Samples'       ,'TGauge;TColorGrid;TSpinButton;TSpinEdit;TCalendar');
   end;
end;

procedure TFMainForm.LoadingComponents;
// Dynamic loading components
var
  PaletteList:TStringList;
  I:Integer;
  PalettePage:string;
begin
   PaletteList:= TStringList.Create;
   ReadClass;
   IniFile.ReadSectionValues('Palette',PaletteList);
   if PaletteList.Count <= 0 then
   begin
      LoadDefaultPalette;
      IniFile.ReadSectionValues('Palette',PaletteList);
   end;
   for I:=0 to PaletteList.Count - 1 do
   begin
      PalettePage:= PaletteList.Names[I];
      if PalettePage <> '' then CreatePalettePage(PalettePage);
   end;
end;

procedure TFMainForm.ComponentNewComponentItemClick(Sender: TObject);
begin
   NewComponent;
end;

procedure TFMainForm.ViewAlignItemClick(Sender: TObject);
begin
   CreateShowModal(TAlignPalette);
end;

procedure TFMainForm.Breakpoints1Click(Sender: TObject);
begin
   CreateShowModal(TBPWindowForm);
end;

procedure TFMainForm.ViewBrowseItemClick(Sender: TObject);
begin
   CreateShowModal(TBrowserForm);
end;

procedure TFMainForm.EditCreateOrderItemClick(Sender: TObject);
begin
   CreateShowModal(TCreationOrderDlg);
end;

procedure TFMainForm.RunEvaluateItemClick(Sender: TObject);
begin
   CreateShowModal(TEvalDialog);
end;

procedure TFMainForm.FileNewItemClick(Sender: TObject);
begin
   CreateShowModal(TGalleryBrowseDlg);
end;

procedure TFMainForm.Modules1Click(Sender: TObject);
begin
   CreateShowModal(TModulesView);
end;

procedure TFMainForm.ToolsGalleryItemClick(Sender: TObject);
begin
   CreateShowModal(TRepositConfigDlg);
end;

procedure TFMainForm.RunParametersItemClick(Sender: TObject);
begin
   CreateShowModal(TRunParamsDlg);
end;

procedure TFMainForm.EditTabOrderItemClick(Sender: TObject);
begin
   CreateShowModal(TTabOrderDlg);
end;

procedure TFMainForm.RunAddWatchItemClick(Sender: TObject);
begin
   CreateShowModal(TWatchEditDlg);
end;

procedure TFMainForm.ComponentConfigurePaletteClick(Sender: TObject);
var
  Options:TOptions;
begin
   Options:= TOptions.Create(self);
   with Options do
   begin
      PrefPage.Free;
      CompilerPage.Free;
      EditorPage.Free;
      EdDispPage.Free;
      EdColorPage.Free;
      BrowPage.Free;
      CodeInsight.Free;
      PageControl1.ActivePage:= PalPage;
      GetPalette;
      ShowModal;
      Free;
   end;
end;

procedure TFMainForm.FileUseUnitItemClick(Sender: TObject);
begin
   FileUseUnit;
end;

procedure TFMainForm.FileUseUnit;
var
  I: Integer;
begin
   // 橇肺璃飘俊 器窃等 蜡聪飘狼 格废阑 焊咯霖促.
   with TViewForm.Create(self) do
   begin
      Caption:= 'Use Unit';
      FileList.Items.Clear;
      for I:= 0 to ProjectInfo.UnitItems.Count -  1 do
         FileList.Items.Add(GetNetFileName(ProjectInfo.UnitItems[I]));
      if ShowModal <> mrCancel then
         EditorForm.AddUseUnit(FileName.Text);
      Free;
   end;
end;

procedure TFMainForm.EditRedoItemClick(Sender: TObject);
begin
   with ActivePasEditor do
      if CanRedo then Redo;
   EditorForm.Show;
end;

procedure TFMainForm.ComponentInstallComponentClick(Sender: TObject);
begin
   AddtoPackage1Click;
end;

procedure TFMainForm.AddtoPackage1Click;
begin
   CreateShowModal(TInstallComponent);
end;

procedure TFMainForm.ComponentInstallPackagesClick(Sender: TObject);
begin
   InstallPackagesClick;
end;

procedure TFMainForm.InstallPackagesClick;
var
  ProjOption: TProjOption;
begin
   ProjOption:= TProjOption.Create(self);
   with ProjOption do
   begin
      FormsPage.Free;
      ApplicationPage.Free;
      CompilerPage.Free;
      LinkerPage.Free;
      DirCondPage.Free;
      VersionInfo.Free;
      PageControl1.ActivePage:= PakListSheet;
      LoadKnownPackages;
      ShowModal;
      Free;
   end;
end;

procedure TFMainForm.Configure2Click(Sender: TObject);
begin
   ComponentConfigurePaletteClick(self);
end;

procedure TFMainForm.Hide2Click(Sender: TObject);
// Hide Component Palette
begin
   Hide2.Checked:= not Hide2.Checked;
   PageControl1.Visible:= not Hide2.Checked;
   ViewPaletteItem.Checked:= not Hide2.Checked;
end;

procedure TFMainForm.ProcessShowHint(var HintStr: string; var CanShow: Boolean;
            var HintInfo: THintInfo);
begin
   if HintInfo.HintControl = nil then Exit;
   if (HintInfo.HintControl).Parent = SpeedBar then
      CanShow:= ShowSpeedbarHint.Checked
   else if  ((HintInfo.HintControl).Parent).ClassName = 'TTabSheet' then
      CanShow:= ShowPaletteHints.Checked;
end;

procedure TFMainForm.ShowSpeedbarHintClick(Sender: TObject);
begin
   ShowSpeedbarHint.Checked:= not ShowSpeedbarHint.Checked;
end;

procedure TFMainForm.ShowPaletteHintsClick(Sender: TObject);
begin
   ShowPaletteHints.Checked:= not ShowPaletteHints.Checked;
end;

procedure TFMainForm.SpeedbarHelpItemClick(Sender: TObjec

⌨️ 快捷键说明

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