C ++ Builder XE - 自定义TCategoryPanel

时间:2012-05-16 13:59:07

标签: components customization c++builder c++builder-xe

这是我的应用程序截图的一部分:

enter image description here

我需要做以下事情:

  1. 删除分隔折叠面板的线条
  2. 删除展开面板底部边框上的线条
  3. 我正在谈论的线条以字符'!'突出显示在图像中。

1 个答案:

答案 0 :(得分:0)

我通过创建 TCategoryPanel 的正式后代类完成了第二项任务:

class MyCategoryPanel : public TCategoryPanel
{
public:
    __property BevelWidth;
};

目标是将 BevelWidth 属性的可见性从protected更改为public。现在我们可以将斜角宽度设置为零,例如像这样(从父窗体类调用代码):

int i;
for (i = 0; i < ComponentCount; i++) {
    TComponent *component = Components[i];
    TCategoryPanel *cat_panel = dynamic_cast<TCategoryPanel*>(component);
    if (cat_panel == NULL) {
        continue;
    }
    ((MyCategoryPanel*)cat_panel)->BevelWidth = 0;
}