【发布时间】:2015-07-15 15:11:25
【问题描述】:
我创建了一个从TScrollingWinControl 派生的自定义控件,并从它的构造函数创建了一个从TGraphicControl 派生的另一个自定义类的新实例。
除了在设计时,这些控件工作得很好。如果我使用鼠标单击控件的滚动框部分,则 Delphi 设计器会显示控件的手柄,然后可以从那里移动和调整大小等。但是,如果我单击 TGraphicControl 所在的控件则父控件(TScrollingWinControl)不显示抓取句柄且无法移动或调整大小。
所以我的问题是,我如何告诉我的自定义控件,通过单击父级内部的 TGraphicControl,应该允许在设计时移动和调整大小?
我尝试查看 csDesignInteractive 等 ControlStyle 标志并在设计时重新构建包和测试,但似乎没有任何区别。
我还尝试将我的 TGraphicControl 设置为 Enabled := False 并在设计时再次重新构建包和测试,但这里的区别在于 TGraphicControl 现在可以像任何标准控件一样在设计时选择,只是它现在有它自己的抓取手柄而不是父手柄 (TScrollingWinControl)。
我需要怎么做才能在单击 TGraphicControl 时父控件 (TScrollingWinControl) 显示抓取手柄并且可以移动和调整大小?
【问题讨论】:
-
正如我提出的问题一样,我想出了答案 - 在从构造函数创建
TGraphicControl时,我传递了nil而不是Self,现在它在设计时功能齐全。跨度> -
您可以在下面发布您的问题的答案。
-
@JerryDodge 我现在已经回答了。那是我多年来一直在挠头试图弄清楚我需要做什么的时刻之一,然后就像我问这个问题一样,我改变了一个简单的东西,比如所有者,它起作用了,哦,好吧:)
-
顺便说一句,您的错误似乎是防止这些问题的绝佳解决方案!
-
@NGLN 我猜这是看待它的一种方式,我发现这种行为/错误比什么都重要:)
标签: delphi delphi-xe7