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

📄 formtype.~pas

📁 《Kylix程序设计》一书中附带的例程源代码
💻 ~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 + -