在类中有TCanvas成员,
如果将其Handle=窗体中的Handle(Fomr1.Canvas.Handle),那么类中的画图操作都应当在窗体上
可是这个handle的是变化的?导致图形不能显示或不能正确显示,
有什么方法可以实现用窗体的参数给类成员赋值在窗体上画图呢?
如果将其Handle=窗体中的Handle(Fomr1.Canvas.Handle),那么类中的画图操作都应当在窗体上
可是这个handle的是变化的?导致图形不能显示或不能正确显示,
有什么方法可以实现用窗体的参数给类成员赋值在窗体上画图呢?
解决方案 »
- 为什么在Delphi7中安装QuickReport时提示无效包dclqrt70.bpl?
- 只用一个表用delphi实现任意树(附源码)
- 在如下控件单击事件中要如何写代码?
- 关于Delphi中ado连接sqlserver2000的问题!
- 串口问题?
- 清贴过年,特来散分
- 在delphi里怎样指定excel表当前光标所在单元格?
- delphi中有一句richedit.perform(EM_EXLIMTTEXT,0,8000000);是why???望大虾指教!!!!
- 各位好!我想问一下,Delphi中怎么在Rzrichdit或者richedit中插入图片,最好有代码
- Delphi XE10 怎么调用Jar包中的SetListener方法, 设置监听?
- wwdbgrid 选中行在相应的文本显示时不灵活
- 请问高手 帮我看下这段代码需要修改的地方 图片修改到数据库的问题
procedure TCanvas.RequiredState(ReqState: TCanvasState);
var
NeededState: TCanvasState;
begin
NeededState := ReqState - State;
if NeededState <> [] then
begin
if csHandleValid in NeededState then
begin
CreateHandle; //HANDLE是每次GETCAVASHANDLE時分配的。
if FHandle = 0 then
raise EInvalidOperation.CreateRes({$IFNDEF CLR}@{$ENDIF}SNoCanvasHandle);
end;
if csFontValid in NeededState then CreateFont;
if csPenValid in NeededState then CreatePen;
if csBrushValid in NeededState then CreateBrush;
State := State + NeededState;
end;
end; 為什麼不直接使用 form1.canvs.handle 來柄來畫呢? 你也可翠聲明一個類成員變量,通過屬性每次使用時獲得 form1.canvas.handle