关于Form1.Canvas 的弱问题(100分)

  • 主题发起人 haibin_song
  • 开始时间
H

haibin_song

Unregistered / Unconfirmed
GUEST, unregistred user!
我在窗体中添加了一个按扭。在按扭的OnClick事件中添加如下代码:procedure TForm1.Button1Click(Sender: TO b j e c t ) ;
var
I,J: Integer;
begin
for I:=0 to Form1.Height do
for J:=0 to Form1.Width do
Form1.Canvas.Pixels[J,I]:=$100*Random(256);// 随机创建一个窗口背景
end;


可以得到一个背景,但是只要窗口最小化后再最大化,背景色就没有了。请问我如何才能
保持背景色一直存在直到关闭窗口。
 
把代码加在OnPain事件中

procedure TForm1.FormPaint(Sender: TObject);

var
I,J: Integer;
begin
for I:=0 to Form1.Height do
for J:=0 to Form1.Width do
Form1.Canvas.Pixels[J,I]:=$100*Random(256);// 随机创建一个窗口背景
end;
不过这样刷新背景好象有点哪个吧
最好用随机的Brush
 
form 上搁个image
image.with := self.with;
image.height := setl.height;
image.top := 0;
image.left := 0;

procedure TForm1.Button1Click(Sender: TO b j e c t ) ;
var
I,J: Integer;
begin
Randomize;
for I:=0 to image.Height do
for J:=0 to image.Width do
image.Canvas.Pixels[J,I]:=$100*Random(256);// 随机创建一个窗口背景
end;
 
agree with [gold][brown]t365[/brown][/gold]
 
顶部