我想创建一个 TCanvas
以便我可以更轻松地绘制。首先我创建 Canvas MyCanvas:=TCanvas.Create;
,然后我得到句柄 DC:=GetWindowDC(Handle);
,现在我应该怎么做...?我应该直接将新句柄分配给 Canvas MyCanvas.Handle:=DC;
还是应该先销毁现有的 MyCanvas.Handle
?完成绘图后,我必须释放句柄 ReleaseDC(Handle,DC);
或者如果我释放 Canvas MyCanvas.Free
,句柄将自动释放?
最佳答案
当您创建 TCanvas
时,它没有句柄。使用 GetWindowDC
返回的 DC 分配句柄。当您销毁 Canvas 时,句柄不会被销毁。您需要显式调用 ReleaseDC
。
从 docs :
关于delphi - 当您拥有句柄时,如何创建和释放 TCanvas?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26562196/