[*菜鸟问题*]继承自多个类,不同类的相对位置问题

何鲁青 2005-02-17 03:09:13
自己写了一个类
type

TNewPic = class(TImage)
private

public
Fcaption: Tlabel;
constructor Create(AOwner: TComponent); override;
end;


implementation

constructor TNewPic.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
self.Fcaption:=Tlabel.Create(self);
self.Fcaption.Caption:='';
self.Parent:= AOwner as TWinControl;
self.Fcaption.Parent:= AOwner as TWinControl;
end;
目的想要给图片加上一个标题
怎样才能保证标题在图片的上方的固定位置哪?
就是说改变其left top值的时候不仅仅是图片的位置改变
标题的位置也随之改变
...全文
139 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
何鲁青 2005-02-18
  • 打赏
  • 举报
回复
up
何鲁青 2005-02-18
  • 打赏
  • 举报
回复
谢谢
zswang(伴水清清)(专家门诊清洁工) ( )
TO: singun(singun)
能给我写点代码出来参考吗?


还想问一下版主,我的专家分怎么一直不变了,得分问题里面有新分给我,但是专家分没有变化,我还等着长角勒。谢谢!
singun 2005-02-17
  • 打赏
  • 举报
回复
楼主:
其实你想要的效果完全可以直接在image的canvas上画一个label,然后将原来的图片下移一定尺寸绘出。
如果确实想要将Tlabel和Timage绑在一起作一个控件,须从一个TWincontrol控件来继承,并作为容器包含Timage和Tlabel两种控件。如此,在此新控件的create方法中设置label的位置。
merkey2002 2005-02-17
  • 打赏
  • 举报
回复
回复人: jinjazz(近身剪(N-P攻略)) ( ) 信誉:115
你不就是想在image上写个字吗?直接写不就可以了
王集鹄 2005-02-17
  • 打赏
  • 举报
回复
//....
public
FCaption: TLabel;
constructor Create(AOwner: TComponent); override;
procedure SetBounds(ALeft: Integer; ATop: Integer; AWidth: Integer; AHeight: Integer); override;
end;

implementation

//....
procedure TNewPic.SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
begin
inherited;
FCaption.Left := ALeft;
FCaption.Top := ATop;
end;
//....
lovekinghe 2005-02-17
  • 打赏
  • 举报
回复
up
何鲁青 2005-02-17
  • 打赏
  • 举报
回复
不要求文字在图片上
只是要求他们相对位置固定就可以
jinjazz 2005-02-17
  • 打赏
  • 举报
回复
你不就是想在image上写个字吗?直接写不就可以了
何鲁青 2005-02-17
  • 打赏
  • 举报
回复
不是想把TImage当作容器,而是想要把图片上加上Tlable
刚才看啦TLableEdit发现里面有些东西好像有用
但是都是Tmessages的,我又不懂
有办法实现图片移动时文字跟着移动吗???
jinjazz 2005-02-17
  • 打赏
  • 举报
回复
TImage是画上去的,不能作为容器,你可以在图片上面直接写字

procedure TForm1.BitBtn1Click(Sender: TObject);
var r:TRect;
begin
Image1.Picture.Bitmap.Canvas.Brush.Style:=bsclear; //必须是bitmao(载入Bmp文件)
Image1.Picture.Bitmap.Canvas.TextOut(10,10,'aaa');
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
image1.Left:=100;//测试效果
end;
何鲁青 2005-02-17
  • 打赏
  • 举报
回复
csdn,高手快来啊,

AD在不在?
花好月圆在不在?
等等等等
难道都回家过年了?
帮小弟看看阿
何鲁青 2005-02-17
  • 打赏
  • 举报
回复
自顶

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧