telepath |
Отправлено: 15.02.2005, 17:20 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 132
|
Не поскажете, можно ли менять в TAdvStringGrid шрифт в строчке или ячейке без обработки OnDraw? |
|
Stan |
Отправлено: 16.02.2005, 11:31 |
|
Не зарегистрирован
|
QUOTE (telepath @ 15/02/2005, 18:22) | Не поскажете, можно ли менять в TAdvStringGrid шрифт в строчке или ячейке без обработки OnDraw? |
Это делается в обработчике события OnGetCellColor
Например,
CODE |
void __fastcall TfmMain::TableGetCellColor(TObject *Sender, int ARow,
int ACol, TGridDrawState AState, TBrush *ABrush, TFont *AFont) {
if (ARow>0) {
if (ACol==0) {
AFont->Style = TFontStyles() << fsBold;
if (WorkData[ARow].PortEbable) AFont->Color = clTeal;
else AFont->Color = clGray;
}
else if (ACol==1) {
if (Table->Cells[ACol][ARow] == "Да") {
AFont->Color = clBlue;
AFont->Style = TFontStyles() << fsBold;
}
else {
AFont->Color = clBlack;
AFont->Style = TFontStyles() >> fsBold;
}
}
else {
if (ACol==8) AFont->Style = TFontStyles() << fsBold;
switch(WorkData[ARow].Options[ACol]) {
case -1: AFont->Color = clGray; break;
case 0: AFont->Color = clBlue; break;
case 1: AFont->Color = clGreen; break;
case 2: AFont->Color = clRed; break;
}
}
}
}
//---------------------------------------------------------------------------
| |
|
telepath |
Отправлено: 16.02.2005, 12:45 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 132
|
Спасибо огромное, а что есть WorkData? |
|
Stan |
Отправлено: 16.02.2005, 14:21 |
|
Не зарегистрирован
|
QUOTE (telepath @ 16/02/2005, 13:47) | Спасибо огромное, а что есть WorkData? |
WorkData — это мой массив, не имеющий ни малейшего отношения к TAdvStringGrid. Это внешняя переменная, которая определяет какую ячейку TAdvStringGrid каким цветом закрасить. |
|
telepath |
Отправлено: 16.02.2005, 14:39 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 132
|
Понятно, еще раз спасибо |
|