单击按钮时如何在 panel 上画出类似于Delphi界面编辑器(设计时Form)上的小黑点? ( 积分: 50 )

  • 主题发起人 主题发起人 fdlq
  • 开始时间 开始时间
F

fdlq

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
var
C: TControlCanvas;
i,j,x,y: Integer;
begin
C := TControlCanvas.Create;
try
C.Control := Panel1;
C.Pen.Width := 1;
C.Pen.Color := clRed;
x:=0;
y:=0;
for i := 1 to 50 do // Iterate
begin
for j := 1 to 50 do
begin
C.PenPos := Point(x+10,y+10);
C.LineTo(x+11,y+11);
y:=y+10;
end;
x:=x+10;
y:=0;
end; // for
C.Free;
end;

我用TCanvas在Panel上画一些黑点,经过刷新后,就没有了,
总之就一句话,如何使在Panel上画的图象在被其他窗口挡住或最小
化,最大话后,还存在
 
procedure TForm1.Button1Click(Sender: TObject);
var
C: TControlCanvas;
i,j,x,y: Integer;
begin
C := TControlCanvas.Create;
try
C.Control := Panel1;
C.Pen.Width := 1;
C.Pen.Color := clRed;
x:=0;
y:=0;
for i := 1 to 50 do // Iterate
begin
for j := 1 to 50 do
begin
C.PenPos := Point(x+10,y+10);
C.LineTo(x+11,y+11);
y:=y+10;
end;
x:=x+10;
y:=0;
end; // for
C.Free;
end;

我用TCanvas在Panel上画一些黑点,经过刷新后,就没有了,
总之就一句话,如何使在Panel上画的图象在被其他窗口挡住或最小
化,最大话后,还存在
 
Delphi界面编辑器(设计时Form)?你要运行时拖运动控件,且有六个小点吗?
 
to chenshaizi:
你理解错了,是在panel上画出类似以下的小黑点:
.........
.........
.........
.........
.........
 
在OnPaint中写代码
 
1)在Onpaint上画点
2)创建一个画点的控件,当按下按钮时创建此控件。
 
image1.Canvas.Brush.Color := clBtnFace;
image1.Canvas.Pen.Color := clBtnFace;
image1.Canvas.Rectangle(0,0,image1.Width,image1.Height);
image1.Canvas.Pen.Width := 1;
image1.Canvas.Pen.Color := clRed;
x:=0;
y:=0;
for i := 1 to 50 do
begin
for j := 1 to 50 do
begin
image1.Canvas.PenPos := Point(x+10,y+10);
image1.Canvas.LineTo(x+11,y+11);
y:=y+10;
end;
x:=x+10;
y:=0;
end;
 
前段时间正好看过这个问题,其实你可以放6个小Panel,然后让这6个小Panel始终在最上面一层,然后设置这6个Panel的鼠标为不同的状态,这样你就可以看到象Delphi设计器里面那样,其他的就是设置你所要操作的空间的Left,Top,Width和Height属性了
 
to :Kingron、青出于蓝、czcn
我是想在panel上画点,但panel上没有Onpaint事件
请问大家还有什么什么办法吗?
 
你不用画,画的效率不一定高的


直接用已经存在的panel作个样子,代码好控制一些
 
后退
顶部