Форум: "Основная";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];
Вниз
Stringgrid (выравнивание в ячейке) Найти похожие ветки
← →
Alexxx (2004-06-07 10:46) [0]Здравствуйте, мастера.
Вопрос: как в стринггриде в ячейках выравнять текст (по центру)? Что-то я не нашёл..
← →
V-Isa (2004-06-07 10:49) [1]Рисуй на канве :-)
← →
Alexxx (2004-06-07 10:51) [2]а без канвы никак?
← →
V-Isa (2004-06-07 10:54) [3]Пробуй выравнять пробелами.
← →
Alexxx (2004-06-07 10:59) [4]"Пробуй выравнять пробелами."
Сссспассссибо... :)
А если с канвой работать, то как, не переделывая весь код (у меня все гриды обычные - без заморочек с канвой), легко и просто сделать выравнивание? Может есть метод и я зря боюсь канву?
← →
Amoeba © (2004-06-07 11:06) [5]Обработчик события OnDrawCell + F1
Если не хочешь делать сам ручками, то на http://www.torry.net ищи подходящий готовый компонент.
← →
Alexxx (2004-06-07 11:24) [6]Читаю, читаю... Вот что нашёл:
"Предложенный код подходит только для тех случаев, если у вас нет специального форматирования выводимого текста в полях таблицы, если у вас нет выравнивания по правому краю или центру и т.д.
Потому что методом TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text); вы рисуете в определенных координатах текст, который содержится в текущей строке текущего поля и больше ничего... Все внутреннее форматирование будет потеряно. Для его восстановления вам будет необходимо проверять, какое установлено выравниваение и т.д., самим пересчитывать координаты вывода текста в прямоугольнике. В общем, это не сложная задача, но только зачем делать то, что прекрасно умеет делать сам DBGrid ?"
Если DBGrid умеет выравнивать, то может умеет и Stringgrid? Или я неправильно понял этот кусочек текста? (взято отсюда: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168&mode=print)
← →
pasha_golub © (2004-06-07 11:37) [7]http://www.delphimaster.ru/articles/stringgrid/index.html
← →
Alexxx (2004-06-07 12:11) [8]Всем спасибо.. сделал таки с канвой (попытался максимально упростить код и вот что вышло:)
procedure TCoefrezult.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
with Sender as TStringGrid, Canvas do
begin
fillrect(rect);
SetTextAlign(Handle, TA_CENTER);
TextOut(round((Rect.right+Rect.left)/2), Rect.Top+2, Cells[aCol, aRow]);
end;
end;
Самое интересное - работает! :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c