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

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

Прорисовка таблицы (StringGrid) [D6, Win95/98, Win2k]


ksa2002 ©   (2004-07-09 06:25:00) 

StringGrid1DrawCell (Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);

Хочу запустить прорисовку вручную , но не все параметры могу задать , подскажите как задать параметр Rect ?


ЮЮ   (2004-07-09 08:35:00) [1]

ksa2002 ©   (09.07.04 08:01) [3]
>Не непоняли я хочу так...
>StringGrid1DrawCell (StringGrid1,1,red_sg_1,RECT,0);

А вот этого уже не надо. StringGrid сам перерисует все что нужно после изменения его Cells.
Максимум, что стоит сделать StringGrid1.Repaint или подобное


KADAN   (2004-07-09 08:28:00) [2]

Rect можно задать, пробежавшись циклом по RowHeights и ColWidths, при этом не забыв учесть GridLineWidth.
Но неужели это обязательно, прорисовка сама вызовется когда ей надо, с заданным Rect'ом. Или, если уж это обязательно, просто вызвать Refresh или Repaint.


ksa2002   (2004-07-09 08:01:00) [3]

Не непоняли я хочу так...
if (length(trim(DBGrid2.Columns[0].Field.AsString)))>0  then
     begin
     Stringgrid1.Cells[5,ib7c]:=(DBGrid2.Columns[0].Field.AsString);
     red_sg_1:=ib7c;
     end;
StringGrid1DrawCell (StringGrid1,1,red_sg_1, RECT ,0);
  end;


Как задать Rect


KADAN   (2004-07-09 07:49:00) [4]

Rect за тебя уже задали :)
 if (acol=2) and (arow=1) then begin
   StringGrid1.Canvas.Brush.Color:=clred;
   StringGrid1.Canvas.Rectangle(Rect);
   StringGrid1.Canvas.TextOut(rect.Left+2,rect.Top+2,':)');
 end;


gek   (2004-07-09 07:48:00) [5]

Интересно, а разве он не задан?


Наверх

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