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

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

StringGrid, GridDrawCell [D7, XP]


Melifaro ©   (2006-05-05 20:22:00) 

Такая проблемма: Нашёл событие, с помощью которого можно прорисовать ромбический контур. Для курсовой это было нужно, но тут такая проблемма задают вопросы, а я немогу ответить! объясните пожалуйста что конкретно это за событие, зачем нужен FillRect(cellrect(ACol,ARow)); и DrawText

procedureTKontur.GridDrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
var                                  
r: TRect;                          
begin                                
With Sender as TStringGrid do        
 With Canvas do                    
 begin
   begin
    if ((acol)<(arow+6-q+w))and((acol)>(arow-6-q+w))and((arow + acol)<14+q+w)and((arow + acol)>2+q+w) then Brush.Color:= clYellow;
    Font.Color:= clBlack;
    FillRect(cellrect(ACol,ARow));
   end;
 r:=KdnRect(rect,2,2,0,0);
 DrawText(Canvas.Handle, PChar(Grid.Cells[acol, ARow]),
          Length(Grid.Cells[acol, arow]),r,DrawTextBiDiModeFlags(DT_LEFT));
 end;
end;


MBo   (2006-05-05 20:39:00) [1]

>что конкретно это за событие
Это нужно прочитать в хелпе и разобраться
Потом вот это, например:
http://www.delphimaster.ru/articles/stringgrid/index.html


Melifaro   (2006-05-05 20:23:00) [2]

if ((acol)<(arow+6-q+w))and((acol)>(arow-6-q+w))and((arow + acol)<14+q+w)and((arow + acol)>2+q+w) - таким образом я выделяю контур и закрашиваю его в желтый Brush.Color:= clYellow.


Наверх

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