CRDBGrid: заголовок по центру

Обсуждение возникших проблем, предложений и ошибок MyDAC компонентов
Закрыто
Nikkore
Сообщения: 8
Зарегистрирован: Пт 07 дек 2012 12:58

CRDBGrid: заголовок по центру

Сообщение Nikkore » Пт 07 дек 2012 13:08

Здравствуйте!

(Возможно, я задаю вопрос в не совсем подходящем месте форума, но другого не нашел.)

Вопрос касается компонента CRDBGrid. Я сделал в нем заголовки колонок двух уровней, поставил выравнивание по центру. При этом отцентрировались только заголовки нижнего уровня, а верхнего так и остались с выключкой влево. Что я не так делал?

Спасибо!

Alexp
Devart Team
Сообщения: 349
Зарегистрирован: Пн 27 дек 2010 10:34

Re: CRDBGrid: заголовок по центру

Сообщение Alexp » Пт 07 дек 2012 14:01

Добрый день,

Для изменения этого поведения вы можете самостоятельно внести корректировки в исходный код модуля CRDBGrid.pas в методе TCRDBGrid.DrawCell:
код

Код: Выделить всё

      if CurLevel <> (CaptionDepth-1) then begin
        Canvas.Font := Self.TitleFont;
        Canvas.Brush.Color := Self.FixedColor;
        lvCaptionAligment := MasterCol.Title.Alignment;//taLeftJustify;
       end
       else begin
        Canvas.Font := MasterCol.Title.Font;
        Canvas.Brush.Color := MasterCol.Title.Color;
        lvCaptionAligment := MasterCol.Title.Alignment;
       end;
заменить на

Код: Выделить всё

        Canvas.Font := MasterCol.Title.Font;
        Canvas.Brush.Color := MasterCol.Title.Color;
        lvCaptionAligment := MasterCol.Title.Alignment;
Мы не будем вносить это изменение в CRDBGrid так как это изменит поведение компонента и повлияет на всех пользователей использующих этот компонент
Последний раз редактировалось Alexp Пт 07 дек 2012 16:18, всего редактировалось 2 раза.

Nikkore
Сообщения: 8
Зарегистрирован: Пт 07 дек 2012 12:58

Re: CRDBGrid: заголовок по центру

Сообщение Nikkore » Пт 07 дек 2012 15:51

Спасибо за быстрый ответ!
Alexp писал(а):Мы не будем вносить это изменение в CRDBGrid так как это измененить поведение компонента и повлияет на всех пользоваетей использующих этот компонент
Разумеется, Вам виднее. Однако, мне кажется, неестественно - если выбрано "по центру", заголовок одного уровня действительно становится по центру, а заголовок другого уровня остается с выключкой влево...

Nikkore
Сообщения: 8
Зарегистрирован: Пт 07 дек 2012 12:58

Re: CRDBGrid: заголовок по центру

Сообщение Nikkore » Пт 07 дек 2012 16:24

Alexp писал(а): Для изменения этого поведения вы можете самостоятельно внести корректировки в исходный код модуля CRDBGrid.pas в методе TCRDBGrid.DrawCell...
К сожалению, не всё так просто... В этом случае заголовок центрируется только по одной колонке, тогда как он должен быть общим для двух или более колонок! Думаю, где-то надо высчитывать общую ширину всех колонок, на которые распространяется данный заголовок, и к этому уже TRect применять выравнивание.

Alexp
Devart Team
Сообщения: 349
Зарегистрирован: Пн 27 дек 2010 10:34

Re: CRDBGrid: заголовок по центру

Сообщение Alexp » Пн 10 дек 2012 12:21

Добрый день,

TCRDBGrid является бесплатным компонентом с открытым исходным кодом, поэтому если Вам необходимо специфическое поведение этого компонента, Вы можете самостоятельно вносить требуемые изменения в исходный код.

P.S. Мы прекратили разработку TCRDBGrid, поэтому новая функциональность больше не будет вноситься в этот компонент.

Nikkore
Сообщения: 8
Зарегистрирован: Пт 07 дек 2012 12:58

Re: CRDBGrid: заголовок по центру

Сообщение Nikkore » Пн 10 дек 2012 17:31

Спасибо за ответ!

Закрыто