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

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
BelkaJul
Сообщения: 23
Зарегистрирован: 08 авг 2005, 12:27
Откуда: Ростов-на-Дону
Контактная информация:

Есть 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]
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

Если установить значение свойства .FillStyle=FlexFillRepeat, то это позволит достичь желаемого эффекта, для всех выделенных ячеек.
BelkaJul
Сообщения: 23
Зарегистрирован: 08 авг 2005, 12:27
Откуда: Ростов-на-Дону
Контактная информация:

pashulka, установка свойства .FillStyle=FlexFillRepeat привело к закрашиванию в серый цвет СТРОКИ.
Подскажите пожалуйста, как выделить и окрасить СТОЛБЕЦ и отдельную ячейку.
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

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

MSHFlexGrid1
       .FillStyle=FlexFillRepeat
       .SelectionMode = flexSelectionByColumn 
       .ColSel = 1
       .CellBackColor = &HC0C0C0
End With
Ответить