首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置TImage的父级

设置TImage的父级
EN

Stack Overflow用户
提问于 2014-05-19 04:26:21
回答 1查看 812关注 0票数 0

我有个课

代码语言:javascript
复制
THexMap = Class(TScrollingWinControl)
  private
      FCanvas    :timage;    // the canvas to draw on.

对于构造函数,我创建的TImage如下所示。

代码语言:javascript
复制
Constructor THexMap.Create(AOwner: Tcomponent);
    begin
      inherited Create(AOwner);

      FCanvas := timage.Create(self);
      FCanvas.Visible := true;

      { Set intial property values for component }

      MakeSolidMap;

    end;

如果我试图在这里设置父母

代码语言:javascript
复制
FCanvas.parent := THexMap;

我得到了Incompatible types: TWinControl and Class of ThexMap

如何使这个图像显示在THexMap中?

更多的信息也许能帮助..。如果我将创建设置为so FCanvas := TImage.Create(AOwner);,则TImage在论坛上,但没有显示图像。如果单击对象检查器中的组件,然后单击属性图片,则正确的图像将显示在“图片编辑器”中。

重画..。

代码语言:javascript
复制
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;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-19 04:45:52

父类是,是TWinConrol的实例,而不是类类型。

(例如,这个男孩的父母是无名氏,而不是人类)

所以你必须写:

代码语言:javascript
复制
FCanvas := timage.Create(self);
FCanvas.Parent := Self;

可见=真在这里不需要

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23729709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档