我在界面上以以下的语句画了一个黄色的小框框
   Canvas.Brush.Color:=clYellow;
   Canvas.FillRect(8,8,12,12); 我的问题是如何让这个小框框消失,好象VISIBLE:=FALSE的功能一样!

解决方案 »

  1.   

    楼主,delphi中,Canvas.FillRect好像不能那么用吧
    应该是Canvas.FillRect(rect);
      

  2.   


    //看看我的代码,很管用
    procedure TForm1.Button1Click(Sender: TObject);
    var
      rect:TRect
    begin
      rect.Left := 10;
      rect.Right := 15;
      rect.Top := 10;
      rect.Bottom := 20;
      Canvas.Brush.Color:=clYellow;
      //Canvas.FillRect(8,8,12,12);//这样用有问题
      canvas.FillRect(rect);
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      form1.Repaint;//问题解决,OK!
    end;
      

  3.   

    var
      bShowRect: Boolean;procedure TForm1.Create(Sender: TObject);
    begin
      bShowRect:= True;
    end;
    procedure TForm1.Paint(Sender: TObject);
    begin
      if bShowRect then begin
        Canvas.Brush.Color:=clYellow;    
        Canvas.FillRect(Rect(8,8,12,12));
      end
    end;procedure TForm1.CheckBox1Click(Sender: TObject);
    begin
      bShowRect:= CheckBox1.Checked;
      form1.Repaint;
    end;
      

  4.   

    为什么要画点呢?用控件也可以啊
    放一个panel,
    Caption:='';
    BevelOuter:=bvNone;
    Color:=clYellow
    然后用就是了,visible属性什么的都有