procedure TForm1.Button1Click(Sender: TObject);
var x:integer;
begin
checkbox1.Caption:='123456789987654321';
checkbox1.Width:=length(checkbox1.Caption)+x;//x的值自己试一下
end;
GetDeviceContext就是取得当前窗口的Canvas.Handle罢了
你把它换成 ACanvas.Handle := Canvas.Handle也是一样的。
HDC指的是the Windows GDI handle to the device context
而TWinControl.Handle是the window handle for the underlying Microsoft Windows screen object.
所以两个是完全不同的东西,你把它改成Acanvas.Handle:=notused;后
ACanvas.TextHeight(CheckBox1.Caption)返回0,把CheckBox1.Width := 0后,当然看不见了。
GetDeviceContext就是取得当前窗口的Canvas.Handle罢了
你把它换成 ACanvas.Handle := Canvas.Handle也是一样的。
HDC指的是the Windows GDI handle to the device context
而TWinControl.Handle是the window handle for the underlying Microsoft Windows screen object.
所以两个是完全不同的东西,你把它改成Acanvas.Handle:=notused;后
ACanvas.TextHeight(CheckBox1.Caption)返回0,把CheckBox1.Width := 0后,当然看不见了。