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

n27741 2007-05-19 02:21:22
如题

delphi中的写法 :SomeComponect is TWinControl(搜出来的)
BCB里面该怎么写?
...全文
143 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
n27741 2007-05-21
  • 打赏
  • 举报
回复
thanks 给分
tianshanfe 2007-05-19
  • 打赏
  • 举报
回复
mark
Waiting4you 2007-05-19
  • 打赏
  • 举报
回复
你上面的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");
}

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧