Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

StringGrid ;(( [D5, Win95/98]


koks ©   (2002-04-01 10:45:00) 

Уважаемые мастера ! Подскажите пожалуйста, как "ручками" нарисовать 3D-эффект для Fixed Rows & Cols в сабже...

Я отключаю DefaultDrawing в свойствах TStringGrid и пишу обработчик OnDrawCell, в котором вызываю Canvas.FillRect для фона клеток и Canves.TextOut для вывода текста. Там достаточно сложные условия... Короче - стринггрид у меня разноцветный и в нем активно используется выравнивание по правому краю и по центру... все работает, только некрасиво выглядят Fixed rows и Cols....


MBo   (2002-04-01 14:17:00) [1]

ну рисуй там Bevel, по нему пиши


reonid   (2002-04-01 14:10:00) [2]

см DrawEdge


koks   (2002-04-01 14:08:00) [3]

Нет, потому что я на Fixed Rows и Cols тоже вывожу текст в OnDrawCell, выравненный по центру.

Я уже так пробовал: (Я ставил if (gsFixed in State) then...)
Если сделать так и установить DefaltDrawing то мой текст в клетке пишется 2 раза - один раз выравненный по левому краю (Default), а второй раз уже по центру - моя прорисовка... и 3D при этом рисуется путем. А если убрать DefaultDrawing то текст пишется путем... и фон... но нет 3D


MBo   (2002-04-01 11:07:00) [4]

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if (Acol<>0) and (ARow<>0) then begin
...


не устроит?


Наверх

Титульная страница Поиск, карта сайта Написать письмо