首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi TObject位置变更

Delphi TObject位置变更
EN

Stack Overflow用户
提问于 2014-06-10 23:10:53
回答 1查看 460关注 0票数 2

我想创建一个可以应用于许多不同组件的通用函数;但是,我不能简单地这样做

代码语言:javascript
复制
TObject.Position

它要求我这样做

代码语言:javascript
复制
TButton(TObject).Position

这意味着我将不得不做

代码语言:javascript
复制
if TObject is TButton then
    TButton(TObject).position...
if TObject is TLabel then
    TLabel(TObject).position...

有没有办法让它像这样工作:

代码语言:javascript
复制
TObject.position

这样函数就可以尽可能通用,而不会被switch/if语句弄得乱七八糟……?

这就是我所拥有的:

代码语言:javascript
复制
procedure TForm3.gestureObj(Sender: TObject;
  const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
  if EventInfo.GestureID = igiPan then
    handlePan(EventInfo, Sender);
end;

procedure TForm3.handlePan(EventInfo: TGestureEventInfo; sender: TObject);
var
  item: TControl;
begin

  item:= TControl(TObject);
end;

这样做会给我一个访问冲突,当我尝试移动do item.position时,我怀疑这是因为它没有TControl?

EN

回答 1

Stack Overflow用户

发布于 2014-06-10 23:52:51

解决方案是使用:

代码语言:javascript
复制
sender as TControl
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24144566

复制
相关文章

相似问题

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