一、Button1中的self就是窗体Form1
它与下面代码等效:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Canvas.Pen.Color:=clRed;
Form1.Canvas.Pen.Width:=20;
Form1.Canvas.MoveTo(100,100);
Form1.Canvas.LineTo(200,200);
end;
二、button2中,创建了Cas后,通过cas.Handle:=wnd,Cas实际上操作Self.Canvas。它作用与Button1等效。三、
var title:pchar;
begin
title:='Form6';
wnd:=findwindow(nil,title);
应该能搜索到的。但是当操作系统里的软件,窗体在同名时,会搜索到不是你要的。
建议使用,wnd:=findwindow('TForm6',title);
它与下面代码等效:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Canvas.Pen.Color:=clRed;
Form1.Canvas.Pen.Width:=20;
Form1.Canvas.MoveTo(100,100);
Form1.Canvas.LineTo(200,200);
end;
二、button2中,创建了Cas后,通过cas.Handle:=wnd,Cas实际上操作Self.Canvas。它作用与Button1等效。三、
var title:pchar;
begin
title:='Form6';
wnd:=findwindow(nil,title);
应该能搜索到的。但是当操作系统里的软件,窗体在同名时,会搜索到不是你要的。
建议使用,wnd:=findwindow('TForm6',title);
var
cas:TCanvas;
wnd:Hwnd;
//title:pchar;
begin
//title:='Form6';
//wnd:=findwindow(nil,title);
wnd:=self.Canvas.Handle; ////////self指的就是窗体啊,