📄 formtype.~pas
字号:
unit FormType;interfaceuses SysUtils, Types, Classes, Variants, QGraphics, QControls, QForms, QDialogs, QStdCtrls, QExtCtrls, QComCtrls, QMenus, QTypes;type TObjType = ( otComponents, otControls ); TFrmMain = class(TForm) RadGrpBorderStyle: TRadioGroup; BtnCreate: TButton; GrpBoxBorderIcon: TGroupBox; ChkBoxSystemMenu: TCheckBox; ChkBoxMinimize: TCheckBox; ChkBoxMaximize: TCheckBox; ChkBoxHelp: TCheckBox; LblScaleBy: TLabel; EdtScaleBy: TEdit; BtnScale: TButton; RadGrpPosition: TRadioGroup; StatusBar: TStatusBar; MainMenu: TMainMenu; MnuFile: TMenuItem; BtnShow: TButton; procedure BtnCreateClick(Sender: TObject); procedure BtnScaleClick(Sender: TObject); procedure BtnShowClick(Sender: TObject); private { Private declarations } public { Public declarations } end;var FrmMain: TFrmMain;implementationuses NewForm;{$R *.xfm}procedure TFrmMain.BtnCreateClick(Sender: TObject);var FrmNew: TFrmNew; BorderStyle: TFormBorderStyle; BorderIcons: TBorderIcons; i: Integer; AnObjType: TObjType;begin FrmNew := TFrmNew.Create( Self );// FrmNew := TFrmNew.Create( Application ); BorderStyle := TFormBorderStyle( RadGrpBorderStyle.ItemIndex ); BorderIcons := []; if ChkBoxSystemMenu.Checked then System.Include( BorderIcons, biSystemMenu ); if ChkBoxMinimize.Checked then System.Include( BorderIcons, biMinimize ); if ChkBoxMaximize.Checked then System.Include( BorderIcons, biMaximize ); if ChkBoxHelp.Checked then System.Include( BorderIcons, biHelp ); FrmNew.BorderStyle := BorderStyle; FrmNew.BorderIcons := BorderIcons; FrmNew.Position := TPosition( RadGrpPosition.ItemIndex ); FrmNew.Caption := RadGrpBorderStyle.Items[ RadGrpBorderStyle.ItemIndex ]; AnObjType := otComponents; if AnObjType = otComponents then begin FrmNew.LstBoxComponents.Items.Add( 'Components'' Count is ' + IntToStr( ComponentCount ) ); for i := 0 to ComponentCount do begin if Components[i] is TButton then FrmNew.LstBoxComponents.Items.Add( TButton( Components[i] ).Name ) else if Components[i] is TRadioGroup then FrmNew.LstBoxComponents.Items.Add( TRadioGroup( Components[i] ).Name ) else if Components[i] is TCheckBox then FrmNew.LstBoxComponents.Items.Add( TCheckBox( Components[i] ).Name ) else if Components[i] is TGroupBox then FrmNew.LstBoxComponents.Items.Add( TGroupBox( Components[i] ).Name ) else if Components[i] is TStatusBar then FrmNew.LstBoxComponents.Items.Add( TStatusBar( Components[i] ).Name ) else if Components[i] is TMainMenu then FrmNew.LstBoxComponents.Items.Add( TMainMenu( Components[i] ).Name ) else if Components[i] is TMenuItem then FrmNew.LstBoxComponents.Items.Add( TMenuItem( Components[i] ).Name ) else if Components[i] is TLabel then FrmNew.LstBoxComponents.Items.Add( TLabel( Components[i] ).Name ) else if Components[i] is TEdit then FrmNew.LstBoxComponents.Items.Add( TEdit( Components[i] ).Name ); end; end else if ANObjType = otControls then begin FrmNew.LstBoxComponents.Items.Add( 'Controls'' Count is ' + IntToStr( ControlCount ) ); end; FrmNew.Show();end;procedure TFrmMain.BtnScaleClick(Sender: TObject);begin ScaleBy( StrToInt( EdtScaleBy.Text ), 100 );end;procedure TFrmMain.BtnShowClick(Sender: TObject);var PointA, PointB: TPoint; ABoundsRect: TRect;begin PointA := Classes.Point( Width, Height ); PointB := Classes.Point( ClientWidth, ClientHeight );// ABoundsRect :={ StatusBar.Panels[0].Text := StatusBar.Panels[0].Text + IntToStr( BoundsRect.TopLeft.X ); StatusBar.Panels[1].Text := StatusBar.Panels[1].Text + IntToStr( BoundsRect.TopLeft.Y ); StatusBar.Panels[2].Text := StatusBar.Panels[2].Text + IntToStr( ClientWidth ); StatusBar.Panels[3].Text := StatusBar.Panels[3].Text + IntToStr( ClientHeight );} StatusBar.Panels[0].Text := StatusBar.Panels[0].Text + IntToStr( Width ); StatusBar.Panels[1].Text := StatusBar.Panels[1].Text + IntToStr( Height ); StatusBar.Panels[2].Text := StatusBar.Panels[2].Text + IntToStr( ClientWidth ); StatusBar.Panels[3].Text := StatusBar.Panels[3].Text + IntToStr( ClientHeight ); StatusBar.Panels[4].Text := StatusBar.Panels[4].Text + '( ' + IntToStr( ClientRect.Left ) + ', ' + IntToStr( ClientRect.Top ) + '; ' + IntToStr( ClientRect.Right ) + ', ' + IntToStr( ClientRect.Bottom ) + ' )'; Canvas.Brush.Color := $00F0F0F0; Canvas.FillRect( ClientRect ); Canvas.MoveTo( 0, 0 );// Canvas.LineTo( Width, Height ); Canvas.LineTo( ClientWidth, ClientHeight - 19 );end;end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -