Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
CRefForm.pas
Package: delphi.rar [view]
Upload User: fh681027
Upload Date: 2022-07-23
Package Size: 1959k
Code Size: 2k
Category:
Delphi VCL
Development Platform:
Delphi
- unit CRefForm;
- interface
- uses
- SysUtils, Windows, Messages, Classes, Graphics, Controls,
- Forms, Dialogs, StdCtrls, ExtCtrls;
- type
- // class reference type (redeclaration)
- TControlClass = class of TControl;
- TForm1 = class(TForm)
- Panel1: TPanel;
- RbtnRadio: TRadioButton;
- RbtnButton: TRadioButton;
- RbtnEdit: TRadioButton;
- procedure RbtnRadioClick(Sender: TObject);
- procedure RbtnButtonClick(Sender: TObject);
- procedure RbtnEditClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- private
- ClassRef: TControlClass;
- Counter: Integer;
- public
- { Public declarations }
- end;
- var
- Form1: TForm1;
- implementation
- {$R *.DFM}
- procedure TForm1.RbtnRadioClick(Sender: TObject);
- begin
- ClassRef := TRadioButton;
- end;
- procedure TForm1.RbtnButtonClick(Sender: TObject);
- begin
- ClassRef := TButton;
- end;
- procedure TForm1.RbtnEditClick(Sender: TObject);
- begin
- ClassRef := TEdit;
- end;
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- ClassRef := TRadioButton;
- end;
- procedure TForm1.FormMouseDown(
- Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- var
- NewCtrl: TControl;
- MyName: String;
- begin
- // create the control
- NewCtrl := ClassRef.Create (Self);
- // hide it temporarily, to avoid flickering
- NewCtrl.Visible := False;
- // set parent and position
- NewCtrl.Parent := Self;
- NewCtrl.Left := X;
- NewCtrl.Top := Y;
- // compute the unique name (and caption)
- Inc (Counter);
- MyName := ClassRef.ClassName + IntToStr (Counter);
- Delete (MyName, 1, 1);
- NewCtrl.Name := MyName;
- // now show it
- NewCtrl.Visible := True;
- end;
- end.