Страница 1 из 1

Как в компоненте MSHFlexGrid программно изменить цвет столбц

Добавлено: 18 ноя 2005, 17:49
BelkaJul
Есть MSHFlexGrid в нём 2 фиксированных столбца и 2 фиксированные строчки.
Нефиксированных строк - от 50 до 1000 (в зависимости от выбранных пользователем условий).

В зависимости от данных в первой фиксированной строке (перечисляются дни периода с указанием дня недели: ПН,ВТ, СР, ЧТ....) надо соответствующий столбей (ВС) закрасить серым цветом. Т.е выделить столбец, относящийся к воскресным дням.


Номера столбцов, которые соответствуют Воскресенью - занесла в одномерный массив.
пытаюсь так закрасить :

Код: Выделить всё

For j = LBound(num_col_sunday) To UBound(num_col_sunday)
    If num_col_sunday(j) > 0 Then
      MSHFlexGrid1.SelectionMode = flexSelectionByColumn
      MSHFlexGrid1.ColSel = num_col_sunday(j)
      MSHFlexGrid1.CellBackColor = &HC0C0C0  ' закраска
     Else: Exit For
    End If
Next j
но получается фигня - где стоял курсор - ту ячейку и красит....
Как закрасить столбцы?[/code]

Добавлено: 19 ноя 2005, 02:55
pashulka
Если установить значение свойства .FillStyle=FlexFillRepeat, то это позволит достичь желаемого эффекта, для всех выделенных ячеек.

Добавлено: 21 ноя 2005, 09:57
BelkaJul
pashulka, установка свойства .FillStyle=FlexFillRepeat привело к закрашиванию в серый цвет СТРОКИ.
Подскажите пожалуйста, как выделить и окрасить СТОЛБЕЦ и отдельную ячейку.

Добавлено: 21 ноя 2005, 14:08
pashulka

Код: Выделить всё

MSHFlexGrid1
       .FillStyle=FlexFillRepeat
       .SelectionMode = flexSelectionByColumn 
       .ColSel = 1
       .CellBackColor = &HC0C0C0
End With