在C ++中注册Style Hook

时间:2016-07-21 18:17:55

标签: c++builder vcl

我正在尝试为使用C ++构建的组件注册样式挂钩。但我不确定如何从我的班级定义中获取TClass。换句话说,我如何在C ++中调用RegisterStyleHook。例如,我的组件名为TProgressBarEx,我的Style钩子为TProgressBarExStyleHook。但     TCustomStyleEngine::RegisterStyleHook(TProgressBarEx, TProgressBarExStyleHook);无法编译,因为我需要从TClass获得TProgressBarEx,从TStyleHookClass获得TProgressBarExStyleHook

谢谢 萨姆

1 个答案:

答案 0 :(得分:2)

我自己找到了答案。对于TStyleHookClasstypedef只是TClass而对于任何类定义, __classid 都会返回 TClass 。所以我的电话应该是:
TCustomStyleEngine::RegisterStyleHook(__classid(TProgressBarEx), __classid(TProgressBarExStyleHook));