我正在尝试为使用C ++构建的组件注册样式挂钩。但我不确定如何从我的班级定义中获取TClass
。换句话说,我如何在C ++中调用RegisterStyleHook
。例如,我的组件名为TProgressBarEx
,我的Style钩子为TProgressBarExStyleHook
。但
TCustomStyleEngine::RegisterStyleHook(TProgressBarEx, TProgressBarExStyleHook);
无法编译,因为我需要从TClass
获得TProgressBarEx
,从TStyleHookClass
获得TProgressBarExStyleHook
。
谢谢 萨姆
答案 0 :(得分:2)
我自己找到了答案。对于TStyleHookClass
,typedef
只是TClass
而对于任何类定义, __classid
都会返回 TClass
。所以我的电话应该是:
TCustomStyleEngine::RegisterStyleHook(__classid(TProgressBarEx), __classid(TProgressBarExStyleHook));