C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
StringGrid, методы отображения
icewind
Отправлено: 18.07.2004, 20:45


Ученик-кочегар

Группа: Участник
Сообщений: 12



Необходимо использовать StringGrid для отображения матриц (также должна быть возможность выделения/настройка цвета и т.д). Намучившись с параметрами компонента, в хелпе и на этом форуме нашел методы для "ручной прорисовки" Grid'а. Проблема в использовании метода DrawSell, он определен как виртуальный для класса TCustomGrid:


virtual void __fastcall DrawCell(int ACol, int ARow, const Types::
TRect &ARect, Grids::TGridDrawState AState);

Пожайлуста помогите использоать его для написания, например в Col0 и Row0 объекта StringGrid1, слова Hello. Раскажите подробнее о последних двух параметрах метода. По возможности дайте ссылки на статьи/ветки форумов по этому вопросу.
MDM
Отправлено: 19.07.2004, 08:29


Ученик-кочегар

Группа: Участник
Сообщений: 23



QUOTE (icewind @ 18/07/2004, 21:47)
нашел методы для "ручной прорисовки" Grid'а. Проблема в использовании метода DrawSell, он определен как виртуальный для класса TCustomGrid:


virtual void __fastcall DrawCell(int ACol, int ARow, const Types::
TRect &ARect, Grids::TGridDrawState AState);


Нашел не то используй событие OnDrawCell();
/*Метод DrawCell нужен если ты пишешь свой компонент произв. от TCustomGrid*/
Пример найдешь так F1->Index->OnDrawCell->Enter или вот:
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, long Col, long Row, TRect &Rect, TGridDrawState State)

{
if(Col == 1 && Row == 1)
StringGrid1->Canvas->TextOut(0, 0, "Hello");
if (State.Contains(gdFocused))
StringGrid1->Canvas->DrawFocusRect(Rect);
}

Вернуться в Вопросы программирования в C++Builder