关于控件问题

HuterTT 2008-08-01 02:00:00
在一个过程中参数是窗体对象,我要得到窗体对象中某个控件的一个属性返回值怎样得到
如:
Function GetBitMap(vfrm:TForm):TBitMap;
var BitMap:TBitmap;
begin
BitMap := vfrm.Vcl.BitMap;

end;
Vfrm是作为参数在传递
...全文
67 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
HuterTT 2008-08-01
  • 打赏
  • 举报
回复
成了!谢谢
HuterTT 2008-08-01
  • 打赏
  • 举报
回复
试试
Corn1 2008-08-01
  • 打赏
  • 举报
回复
if (vfrm is TForm1) then
Result := (vfrm as TForm1).Vcl.BitMap
else if (vfrm is TForm2) then
Result := (vfrm as TForm2).Vcl.BitMap
...

是这个意思吗?

或者用5楼的方法,比我这个好。
比如说,想得到Button1这个控件的Caption
Result := (vfrm.FindComponent('Button1') as TButton).Caption;
  • 打赏
  • 举报
回复
他是想知道传进函数的vfrm所代表的窗体中的某个组件的属性。
可以用vfrm.Components属性来获取它包含的某个组件,再获取这个组件的属性。
或者用vfrm.FindComponent方法也可以。
HuterTT 2008-08-01
  • 打赏
  • 举报
回复
UP 意思是比如窗体一有一个控件,窗体二有一个控件,可能控件名一样,只是窗体不一样,
而这个函数是将窗体名作为参数,来返回这个窗体上控件的属性值
如果GetBitMap(窗体一)就返回窗体一的这个值
Result := 窗体一.vcl.BitMap
如果GetBitMap(窗体二)就返回窗体2的这个值
Result := 窗体2.vcl.BitMap
窗体3、4、5。。。。。
窗体是非固定的
Function GetBitMap():TBitMap
Corn1 2008-08-01
  • 打赏
  • 举报
回复
还是不明白你的意思
HuterTT 2008-08-01
  • 打赏
  • 举报
回复
楼是意思理解错误


不知道是那个窗体,
有可能是窗体一
有可能是窗体二
Function GetBitMap(vfrm:TForm):TBitMap;
var BitMap:TBitmap;
begin
BitMap := vfrm.Vcl.BitMap;

end;

调用时可能是GetBitMap(窗体一)
Corn1 2008-08-01
  • 打赏
  • 举报
回复
Result := BitMap;
或者直接 Result := vfrm.Vcl.BitMap;

5,388

社区成员

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

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