Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DevExpress TdxNavBar наследование, Наследование от TdxNavBar 
:(
    Опции темы
zve4202
Дата 24.4.2017, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 17.9.2014

Репутация: нет
Всего: нет



Уважаемые форумчане! 
Я столкнулся с неожиданной проблемой при наследовании от TdxNavBar.
Код

uses
    System.SysUtils, System.Classes, Vcl.Controls, Vcl.Forms, Vcl.ImgList, Vcl.ActnList, System.IniFiles, Vcl.Menus,
    // ---------------
    cxControls, dxNavBarConsts, dxNavBar, dxNavBarCollns, dxNavBarOffice12Views, dxNavBarSkinBasedViews,
    // ----------

const
    isNavBarView = dxNavBarAccordionView + 1;

type
    TisLinkViewInfo = class(TdxNavBarLinkViewInfo)
    end;

    TisViewInfo = class(TdxNavBarSkinBasedExplorerBarViewInfo)
    end;

    TisOutlookBarPainter = class(TdxNavBarOffice12ExplorerBarPainter)
    protected
        class function GetViewInfoClass: TdxNavBarViewInfoClass; override;
        class function GetLinkViewInfoClass: TdxNavBarLinkViewInfoClass; override;
    end;

    TisOutlookBar = class(TdxNavBar)
    protected
        procedure Loaded; override;
    end;

implementation

uses
    dxNavBarViewsFact, dxNavBarGroupItems;

{ TisOutlookBar }


procedure TisOutlookBar.Loaded;
begin
    if not(csDesigning in ComponentState) then
    begin
        ViewReal := isNavBarView;
    end;
    inherited Loaded;
end;

procedure RegisterView(AID: Integer; AName: string; APainterClass: TdxNavBarPainterClass);
begin
    if dxNavBarViewsFactory <> nil then
        dxNavBarViewsFactory.RegisterView(AID, AName, APainterClass);
end;

procedure UnRegisterView(AID: Integer);
begin
    if dxNavBarViewsFactory <> nil then
        dxNavBarViewsFactory.UnRegisterView(AID);
end;

{ TisOutlookBarPainter }

class function TisOutlookBarPainter.GetLinkViewInfoClass: TdxNavBarLinkViewInfoClass;
begin
    Result := TisLinkViewInfo;
end;

class function TisOutlookBarPainter.GetViewInfoClass: TdxNavBarViewInfoClass;
begin
    Result := TisViewInfo;
end;

initialization

RegisterView(isNavBarView, 'My OutlookBar Painter', TisOutlookBarPainter);

finalization

UnRegisterView(isNavBarView);

end.


то есть, я регистрирую свой TisOutlookBarPainter, и подключаю его по завершению загрузки TisOutlookBar.
тут всё нормально, TisOutlookBarPainter создаётся, однако метод  GetLinkViewInfoClass никогда не срабатывает, хотя метод GetViewInfoClass отрабатывает.

Отзовитесь, кто-нибудь знает в чём проблема?!

Это сообщение отредактировал(а) zve4202 - 24.4.2017, 14:37
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0980 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.