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

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

Выделение Stringgrid [D6]


Solov ©   (2006-11-29 12:30:00) 

Здраствуйте.
Скажите, кто-нибудь знает, как сделать
выделение в FixedCols и  FixedRows StringGrid похожим на Excel,
чтобы в зависимости в выделенного диапазона,
столько же выделялось в Fixed, и не мерацало.

procedure TForm1.ssDrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
var
head:TRect;
 begin
   with ss.Canvas do
   begin
         begin
           brush.Color:=clred;
           Head.Top:=0;
         Head.Bottom:=ss.RowHeights[0];
         Head.Left:=ss.CellRect(ss.Selection.Left,ss.Selection.Top).Left;
         Head.Right:=ss.CellRect(ss.Selection.Right,ss.Selection.Top).Right;
         FillRect(Head);
         invalidate;
         end;
    end;
end;

Но это происходит, только при изменении размеров столцов или строк.
Как сделать, чтобы это было при выделении и не мерцало.
Спасибо.


ЮЮ   (2006-11-30 03:57:00) [1]

invalidate, по идее нужен, в обработчике на изменение выделение, а не в обработчике рисования. Тогда при тзменении выделения грид и перерисуется.


Наверх

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