我有个课
THexMap = Class(TScrollingWinControl)
private
FCanvas :timage; // the canvas to draw on.对于构造函数,我创建的TImage如下所示。
Constructor THexMap.Create(AOwner: Tcomponent);
begin
inherited Create(AOwner);
FCanvas := timage.Create(self);
FCanvas.Visible := true;
{ Set intial property values for component }
MakeSolidMap;
end;如果我试图在这里设置父母
FCanvas.parent := THexMap;我得到了Incompatible types: TWinControl and Class of ThexMap
如何使这个图像显示在THexMap中?
更多的信息也许能帮助..。如果我将创建设置为so FCanvas := TImage.Create(AOwner);,则TImage在论坛上,但没有显示图像。如果单击对象检查器中的组件,然后单击属性图片,则正确的图像将显示在“图片编辑器”中。
重画..。
procedure THexMap.WndProc(var Message: TMessage);
const
DISCARD_CURRENT_ORIGIN = nil;
var
R : TRect;
PS : PAINTSTRUCT;
begin
if Message.Msg = WM_PAINT then
begin
if GetUpdateRect( Handle, nil, false ) then
begin
BeginPaint( Handle, PS );
try
R := PS.rcPaint;
bitblt(fCanvas.Canvas.Handle, R.Left, R.Top, R.Width, R.Height, TempMap.Canvas.Handle, R.Left+FOffset.X, R.Top+FOffset.Y, SRCCOPY);
finally
EndPaint( Handle, PS );
end;
end
else
inherited;
end
else
inherited;
end;发布于 2014-05-19 04:45:52
父类是,是TWinConrol的实例,而不是类类型。
(例如,这个男孩的父母是无名氏,而不是人类)
所以你必须写:
FCanvas := timage.Create(self);
FCanvas.Parent := Self;可见=真在这里不需要
https://stackoverflow.com/questions/23729709
复制相似问题