procedure TForm1.FormCreate(Sender: TObject);
var
MyImage : TImage;
MyRect : TRect;
begin
MyImage:=Timage.Create(Nil);
MyImage.AutoSize:=True;
MyImage.Picture.LoadFromFile(C:/MyForm.bmp);
MyRect.Left := 0;
MyRect. := 0;
MyRect.Right := ClientWidth;
MyRect.Bottom := ClientHeight;
Self.Canvas.StretchDraw(MyRect,MyImage.Picture.Graphic);
Self.Canvas.Refresh;
end;
=================
上述代码为何没有效果?
再问一个:MSN对话框中的背景图形是靠算法得出的么?如果我有一套图形算法,如何让自己的Form界面进行显示?
不明白什么意思?是这样吗?就是动态创建?
procedure TForm1.FormCreate(Sender: TObject);
var
img: TImage;
begin
img:= TImage.Create(self);
img.Picture.LoadFromFile(C:/MyForm.bmp);
img.Parent:= self;
img.Stretch:= true;
img.Align:= alclient;
end;
要想在Canvas中显示图形, 需要在OnPaint中画, 不然你的背景在窗口缩放或更新的时候无法保存你临时画上去的图形
同意楼上,你在create里画完以后,当form自己重画时会将你原来画的冲掉
写在onshow事件里试试
//是要這個效果吧??
procedure TForm1.FormCreate(Sender: TObject);
var
Bmp: TBitmap;
begin
Bmp :=TBitmap.Create;
Bmp.LoadFromFile(C:\logo.bmp);
Form1.Brush.Bitmap :=Bmp;
end;