编写一个简单的控件,加载图片框,怎么做啊 试着写一个最简单的控件,我想要那种像是picture控件中点击加载图片弹出来一个对话框效果,但我不知道怎么弄! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你直接在 image控件的onclick时间中加入 if opendialog.execute() then ....不行么?干嘛去弄自己的控件 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, jpeg;type TMyImage = class(TImage) private MyOpenDialog: TOpenDialog; procedure ImageDBClick(Sender: TObject); public constructor Create(AOwner: TComponent); override; destructor Destroy; override; end; TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure FormShow(Sender: TObject); private { Private declarations } MyImage: TMyImage; public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}{ TMyImage }constructor TMyImage.Create(AOwner: TComponent);begin inherited; AutoSize := False; Center := True; OnDblClick := ImageDBClick; MyOpenDialog := TOpenDialog.Create(AOwner);end;procedure TMyImage.ImageDBClick(Sender: TObject);begin if MyOpenDialog.Execute then Self.Picture.LoadFromFile(MyOpenDialog.FileName);end;destructor TMyImage.Destroy;begin if Assigned(MyOpenDialog) then FreeAndNil(MyOpenDialog); inherited;end;procedure TForm1.FormCreate(Sender: TObject);begin MyImage := TMyImage.Create(Self); MyImage.Parent := Self; MyImage.SetBounds(200, 200, 200, 200);end;procedure TForm1.FormDestroy(Sender: TObject);begin if Assigned(MyImage) then FreeAndNil(MyImage);end;procedure TForm1.FormShow(Sender: TObject);begin MyImage.OnDblClick(MyImage);end;end. 求fastreport动态报表,万分感谢100分 请问这个SQL语句该怎么改呀? 请问大连哪里有卖正版windows的 有什么办法可以知道某一字段是否允许为NULL值 请教有关在delphi下查询sql server或者access2000下unicode类型的数据 高分,先到先得,举手之劳 关于PopMenu的问题,高分相送 这几天被Borland公司追着要版权,不知道怎么解决? 为什么中英字母放在一起时取词不能一起取? delphi编程问题 delphi连接oracle数据库报错。急急急!!!! DirectSound 实时播放
不行么?
干嘛去弄自己的控件
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, jpeg;type
TMyImage = class(TImage)
private
MyOpenDialog: TOpenDialog;
procedure ImageDBClick(Sender: TObject);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end; TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
MyImage: TMyImage;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}{ TMyImage }constructor TMyImage.Create(AOwner: TComponent);
begin
inherited;
AutoSize := False;
Center := True;
OnDblClick := ImageDBClick;
MyOpenDialog := TOpenDialog.Create(AOwner);
end;procedure TMyImage.ImageDBClick(Sender: TObject);
begin
if MyOpenDialog.Execute then
Self.Picture.LoadFromFile(MyOpenDialog.FileName);
end;destructor TMyImage.Destroy;
begin
if Assigned(MyOpenDialog) then
FreeAndNil(MyOpenDialog);
inherited;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
MyImage := TMyImage.Create(Self);
MyImage.Parent := Self;
MyImage.SetBounds(200, 200, 200, 200);
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
if Assigned(MyImage) then
FreeAndNil(MyImage);
end;procedure TForm1.FormShow(Sender: TObject);
begin
MyImage.OnDblClick(MyImage);
end;end.