如何在设计时使我的自定义控件完全可点击?

时间:2015-05-05 18:24:47

标签: delphi delphi-xe7

我创建了一个源自TScrollingWinControl的自定义控件,并从其构造函数中创建了另一个源自TGraphicControl的自定义类的新实例。

除了设计时,控件完全正常。如果我使用鼠标单击控件的滚动框部分,则Delphi设计器会显示控件的抓柄,然后可以移动并调整其大小等。但是,如果我单击控件所在的{{1然后是父控件(TGraphicControl)没有显示抓柄,无法移动或调整大小。

所以我的问题是,如何告诉我的自定义控件,通过点击我父母内部的TScrollingWinControl,应该允许在设计时移动并调整其大小?

我尝试查看ControlStyle标志,例如TGraphicControl,并在设计时重建软件包并进行测试,但似乎没有任何区别。

我还尝试将csDesignInteractive设置为TGraphicControl并再次在设计时重建软件包并进行测试,但不同之处在于现在可以在设计时选择Enabled := False,就像任何标准一样控制,只有它现在有自己的抓柄而不是父(TGraphicControl)。

我需要做什么才能点击TScrollingWinControl父控件(TGraphicControl)显示抓柄并可以移动并调整大小?

1 个答案:

答案 0 :(得分:4)

就在我问这个问题时,我意识到了答案。

在我创建ggplot(df,aes(V1,V2))+ geom_point(aes(colour=V3,size=V3))+ scale_colour_gradient(low="grey", high="black")+ scale_size(range=c(1,10)) + guides(color=guide_legend(), size = guide_legend()) 的构造函数中,我正在为所有者传递TGraphicControl。我现在已将其更改为nil并且控件现在正常运行,因为在设计时选择我的控件的任何部分都会显示父Self的抓柄。