X
xstdljj
Unregistered / Unconfirmed
GUEST, unregistred user!
[red]小人前一个天在做一个交给老师的小图形图像演示程序时遇到了点问题,窗体
Form1上面放了一个TPageControl1控件,并生成了3个TabSheet,分别完成不同
的功能,当做第二个Tabsheet2时出了麻烦,该页的功能是单击一按钮时可在窗
体上划线段,单击另一按钮时要求刷新窗体,使画的线消失,该页上我用了控
件Timage1,一个表示画线开始的TButton1,另一个刷新按钮TButton2,但是刷新
功能怎么也做不出来,但我在一新窗体上测试不放pageControl控件,在窗体上
划线时则可以刷新,部分代码如下:请赐教![/red]
Form1上面放了一个TPageControl1控件,并生成了3个TabSheet,分别完成不同
的功能,当做第二个Tabsheet2时出了麻烦,该页的功能是单击一按钮时可在窗
体上划线段,单击另一按钮时要求刷新窗体,使画的线消失,该页上我用了控
件Timage1,一个表示画线开始的TButton1,另一个刷新按钮TButton2,但是刷新
功能怎么也做不出来,但我在一新窗体上测试不放pageControl控件,在窗体上
划线时则可以刷新,部分代码如下:请赐教![/red]
代码:
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.