Здравствуйте!
(Возможно, я задаю вопрос в не совсем подходящем месте форума, но другого не нашел.)
Вопрос касается компонента CRDBGrid. Я сделал в нем заголовки колонок двух уровней, поставил выравнивание по центру. При этом отцентрировались только заголовки нижнего уровня, а верхнего так и остались с выключкой влево. Что я не так делал?
Спасибо!
CRDBGrid: заголовок по центру
Re: CRDBGrid: заголовок по центру
Добрый день,
Для изменения этого поведения вы можете самостоятельно внести корректировки в исходный код модуля CRDBGrid.pas в методе TCRDBGrid.DrawCell:
код
заменить на
Мы не будем вносить это изменение в CRDBGrid так как это изменит поведение компонента и повлияет на всех пользователей использующих этот компонент
Для изменения этого поведения вы можете самостоятельно внести корректировки в исходный код модуля 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;
Последний раз редактировалось Alexp Пт 07 дек 2012 16:18, всего редактировалось 2 раза.
Re: CRDBGrid: заголовок по центру
Спасибо за быстрый ответ!
Разумеется, Вам виднее. Однако, мне кажется, неестественно - если выбрано "по центру", заголовок одного уровня действительно становится по центру, а заголовок другого уровня остается с выключкой влево...Alexp писал(а):Мы не будем вносить это изменение в CRDBGrid так как это измененить поведение компонента и повлияет на всех пользоваетей использующих этот компонент
Re: CRDBGrid: заголовок по центру
К сожалению, не всё так просто... В этом случае заголовок центрируется только по одной колонке, тогда как он должен быть общим для двух или более колонок! Думаю, где-то надо высчитывать общую ширину всех колонок, на которые распространяется данный заголовок, и к этому уже TRect применять выравнивание.Alexp писал(а): Для изменения этого поведения вы можете самостоятельно внести корректировки в исходный код модуля CRDBGrid.pas в методе TCRDBGrid.DrawCell...
Re: CRDBGrid: заголовок по центру
Добрый день,
TCRDBGrid является бесплатным компонентом с открытым исходным кодом, поэтому если Вам необходимо специфическое поведение этого компонента, Вы можете самостоятельно вносить требуемые изменения в исходный код.
P.S. Мы прекратили разработку TCRDBGrid, поэтому новая функциональность больше не будет вноситься в этот компонент.
TCRDBGrid является бесплатным компонентом с открытым исходным кодом, поэтому если Вам необходимо специфическое поведение этого компонента, Вы можете самостоятельно вносить требуемые изменения в исходный код.
P.S. Мы прекратили разработку TCRDBGrid, поэтому новая функциональность больше не будет вноситься в этот компонент.
Re: CRDBGrid: заголовок по центру
Спасибо за ответ!