|
Вопрос # 3 672/ вопрос открыт / |
|
Здравствуйте!
Есть ListView с тремя колонками. Во время разработки устанавливаю выравнивание у колонок "по центру", но ставится только для 2-й и 3-й. Почему не могу поставить для 1-й(всегда стоит "по левому краю"). И как можно побороть?
Во время исполнения ставлю в коде, но не помогает.
Заранее спасибо!
 |
Вопрос задал: Muratov Radik (статус: Посетитель)
Вопрос отправлен: 22 января 2010, 09:04
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Я тоже когда-то задавался таким вопросом, но, чтобы не тратить время, забил на него, тупо сделав ширину 1 колонки = 0. Но сейчас от нефиг делать, таки залез в модуль ComCtrls.pas и посмотрел:
procedure TListColumn.SetAlignment(Value: TAlignment);
begin
if (Alignment <> Value) and (Index <> 0) then // <--- вот причина
begin
FAlignment := Value;
Changed(False);
TListColumns(Collection).Owner.Repaint;
end;
end;
Можно попробовать изменить условие, удалить ComCtrls.dcu и перекомпилить модуль, однако, это может привести к неожиданным последствиям.
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 22 января 2010, 09:17
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 7; последнее сообщение — 22 января 2010, 13:19; участников в обсуждении: 3.
|
min@y™ (статус: Доктор наук), 22 января 2010, 10:13 [#1]:
Цитата (Muratov Radik):
Оценка за ответ: 5
А камменты где? Как решил поступить-то?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Muratov Radik (статус: Посетитель), 22 января 2010, 11:19 [#2]:
Думаю еще. А что скажешь, если покопать в сторону OnCustomDraw, OnAdvancedCustomDraw ?
|
|
min@y™ (статус: Доктор наук), 22 января 2010, 11:27 [#3]:
Цитата (Muratov Radik):
А что скажешь, если покопать в сторону OnCustomDraw, OnAdvancedCustomDraw ?
Не возражаю. Копай сколько хочешь.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Muratov Radik (статус: Посетитель), 22 января 2010, 12:55 [#4]:
Я имел ввиду, у тебя есть что сказать по этому поводу?
|
|
Muratov Radik (статус: Посетитель), 22 января 2010, 12:55 [#5]:
Может ты уже ковырял?
|
|
min@y™ (статус: Доктор наук), 22 января 2010, 13:13 [#6]:
Цитата (Muratov Radik):
Может ты уже ковырял?
Необходимости не было.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Roma_no_off (статус: Посетитель), 22 января 2010, 13:19 [#7]:
Тоже по этому поводу запарился однажды. Щас, если требуется использовать ListView первую колонку отвожу под порядковый номер и делаю ширину 25 - выглядит, будто посередине. Единственное, что может быть косячно - это когда циферка в ячейке превысит ширину, но там вроде бы есть свойство AutoSize на этот случай.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|