TObject 怎么转变成 TTabControl.有例子!

v1srine 2011-07-23 06:16:47
5.H代码
//---------------------------------------------------------------------------

#ifndef Unit5H
#define Unit5H
//---------------------------------------------------------------------------
extern void sss(TObject *Sender);
#endif


5.CPP文件代码

//---------------------------------------------------------------------------

#pragma hdrstop

#include "Unit5.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

void sss(TObject *Sender)
{
TButton *newbtn=new TButton(TTabControl *Sender); //注意以下2行代码
newbtn->Parent = TTabControl *Sender; //这行! TTabControl *Sender
}



看到以上代码了吧! TTabControl *Sender
我以Obj 作为参数,然后我希望转换成TTAB.但是无果!

(DELphi 跟以上一样的写法是可以做到的!请问C++能不能.我知道可以void sss(TTabControl *Sender)这样写!但是我希望学到多种方法!)

错误信息
Checking project dependencies...
Compiling Project1.cbproj (Debug configuration)
[BCC32 Error] Unit5.cpp(34): E2108 Improper use of typedef 'TTabControl'
Full parser context
Unit5.cpp(31): parsing: void sss(TObject *)
[BCC32 Error] Unit5.cpp(35): E2108 Improper use of typedef 'TTabControl'
Full parser context
Unit5.cpp(31): parsing: void sss(TObject *)
Failed
Elapsed time: 00:00:00.8

...全文
43 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
v1srine 2011-07-23
  • 打赏
  • 举报
回复
TButton *newbtn=new TButton(dynamic_cast <TTabControl *>(Sender));

我这样写就好了!

delphi 是这样的

newbtn := TButton.Create(sender as TTabControl)
v1srine 2011-07-23
  • 打赏
  • 举报
回复
谢谢!.不过C++转换有点麻烦!
ccrun.com 2011-07-23
  • 打赏
  • 举报
回复
void sss(TObject *Sender)
{
TTabControl *tc = dynamic_cast <TTabControl *>(Sender);

TButton *newbtn = new TButton(tc);
newbtn->Parent = tc;
}

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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