在窗口上绘制背景(300分)

  • 主题发起人 主题发起人 chcw
  • 开始时间 开始时间
C

chcw

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个程序, 需要在一个包含有若干控件的Form上绘制背景花纹, 背景花纹不仅覆盖clientrect, 而且覆盖了Form的边框, 有两种绘制方式:
1. 在窗口显示后, 在控件显示前, 在窗口上画背景花纹. 请问应该应该响应哪一个事件, 怎样实现?
2. 如果在窗口和控件都显示完毕后, 在窗口上画背景花纹(包含有控件的位置不画), 请问又应该响应哪一个事件, 怎样实现?
多谢
 
你的问题很简单
但你的问题太多...
而且你不揭帖...
 
获取窗体的DC。
然后在WM_PAINT事件里面画就成了。。。
 
用笔刷三
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Brush.Bitmap := Image1.Picture.Bitmap;
end;
如果是jpeg,(其实用不用jpeg都可以用下面这个,毕竟兼容性要好点,特别是你的程序里用了GraphicEx,可以添加PSD,TGA,PNG等图片)
procedure TForm1.FormCreate(Sender: TObject);
var
b: TBitmap;
begin
b := TBitmap.Create;
b.Assign(Image1.Picture.Graphic);
Form1.Brush.Bitmap := b;
b.free;
end;
 
后退
顶部