首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

怎么用代码来判断一个控件是否为容器

2012-03-20 
如何用代码来判断一个控件是否为容器?如题delphi中的写法:SomeComponectisTWinControl(搜出来的)BCB里面该

如何用代码来判断一个控件是否为容器?
如题

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 ");
}

热点排行