我想创建一个
TCanvas
以便更轻松地绘制。首先我创建画布 MyCanvas:=TCanvas.Create;
,然后获取句柄 DC:=GetWindowDC(Handle);
现在应该做什么呢...? 我应该直接将新句柄分配给画布吗?MyCanvas.Handle:=DC;
还是应该先销毁现有的 MyCanvas.Handle
? 绘图完成后,我必须释放句柄 ReleaseDC(Handle,DC);
或者如果我释放画布 MyCanvas.Free
,句柄会自动释放吗?
HandleAllocated
属性。TCanvas
是抽象类,它不拥有DC句柄,因此在清理时必须使用ReleaseDC
。 - Free ConsultingTControlCanvas
类,它会为你获取和释放 DC。它的目的是,正如其名称所示,用于在控件内部使用。 - TLama