如何用代码来判断一个控件是否为容器?
如题
delphi中的写法 :SomeComponect is TWinControl(搜出来的)
BCB里面该怎么写?
[解决办法]
你上面的Delphi代码只是用来确定一个控件是否为TWinControl, 还不能确定是不是容器.
BCB里是这样:
TWinControl *IsWinCtrl=dynamic_cast <TWinControl*> (SomeComponect);
if(IsWinCtrl) //是TWinControl控件
{
if(IsWinCtrl-> ControlStyle.Contains(csAcceptsControls)) //这样才能确定是不是容器
{
ShowMessage( "这个东东是容器 ");
}
}
另外,BCB里加入了一些功能可以直接确定是不是TWinControl:
if(SomeComponect-> ClassNameIs( "TWinControl ")) //是TWinControl控件
{
ShowMessage( "这个东东是TWinControl ");
}