代码如下:
var
MyPen:TPen;
begin
MyPen:=TPen.Create();
Canvas.Pen.Color:=0;
MyPen:=Canvas.Pen;
ShowMessage(IntToStr(MyPen.Color));
Canvas.Pen.Color:=255;
ShowMessage(IntToStr(MyPen.Color));
end;为何我在更改了Canvas.Pen.Color的值后,MyPen.Color的值也会随着更改?我要Canvas.Pen.Color值更改后,MyPen.Color值不变,可以吗?如何做?还请高手指点。
var
MyPen:TPen;
begin
MyPen:=TPen.Create();
Canvas.Pen.Color:=0;
MyPen:=Canvas.Pen;
ShowMessage(IntToStr(MyPen.Color));
Canvas.Pen.Color:=255;
ShowMessage(IntToStr(MyPen.Color));
end;为何我在更改了Canvas.Pen.Color的值后,MyPen.Color的值也会随着更改?我要Canvas.Pen.Color值更改后,MyPen.Color值不变,可以吗?如何做?还请高手指点。
解决方案 »
- 关于idhttp的问题
- 能把Delphi工程打包成绿色的免安装应用程序吗?
- ADOTable连接DSN
- 如何由窗口 句柄得到 可执行文件的路径?
- 怎样在RichEdit中不通过SelStart来控制某一行文本的字体?(将加入FAQ)
- 求教!用adoconnection 连接一个带密码的access库!连接总是提示出错.!
- 请教关于ADO编程
- ==这段更新代码有问题吗,怎么?===
- WindowsXP的按钮比较特殊,Delphi有相应的组件吗?
- 怎样快速地获得一个文本件的行数?怎样快速读取文本文件里指定的行的内容?
- 窗口排列
- 急!在做报表时,我要把整行都为空的字段的值都用0 表示出来,要怎么办?thank
MyPen:=Canvas.Pen;
这时,MyPen和Canvas.Pen就是同一个对象,你要想做到不变,就别写这句。
另外,个人认为,在Delphi中,没有必要自己创建Pen。
MyPen.Assign(Canvas.Pen);