小人前一个天在做一个交给老师的小图形图像演示程序时遇到了点问题,窗体Form1上面放了一个TPageControl1控件,并生成了3个TabSheet,分别完成不同的功能,当做第二个Tabsheet2时出了麻烦,该页的功能是单击一按钮时可在窗体上划线段,单击另一按钮时要求刷新窗体,使画的线消失,该页上我用了控件Timage1,一个表示画线开始的TButton1,另一个刷新按钮TButton2,但是刷新功能怎么也做不出来,但我在一新窗体上测试不放pageControl控件,在窗体上划线时则可以刷新,部分代码如下:请赐教!
implementation
var
start:boolean;
{$R *.dfm}
procedure TForm1.PageControl1Change(Sender: TObject);
begin
if pagecontrol1.ActivePage=tabsheet2 then
start:=false;
end;//当从别的页切换到第二页时,标志位为假,非得单击画线按钮才能在窗体画线
procedure TForm1.DrawLineClick(Sender: TObject);
begin
start:=true;//单击画线按钮,标志位赋为真,可以在窗体上画线
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if start=true then
image1.Canvas.MoveTo(x,y);
end; //鼠标按下的时候确定线段的第一个坐标
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if start=true then
image1.canvas.LineTo(x,y);
end;//鼠标放开的时候确定线段的第二个坐标,并画出线段
{问题就在这里????}
procedure TForm1.RefreshClick(Sender: TObject);
begin
???{我不懂这里用image1.refresh或image1.canvas.refresh或form1.refresh都不行}
end;//单击刷新按钮,刷新,该功能不知道咋个实现啊,试了多次,都出不来
end.
试试image1.Invalidate;
试过了,不行啊,有没哪位高人晓滴???
是否在image1.refresh或image1.canvas.refresh之前要加"pageControl."来限定?
没有具体试过.
阅读(334) | 评论(0) | 转发(0) |