Någon som vet hur man kan lösa detta? MSFlexGrid.CellBackColor = RGB(255, 0, 0) Menar du med clicka utan att använda musen? Eller att förflytta markeringen med kod? Tack för hjälpen.Ändra CellBackColor i en MSHFlexGrid utan att klicka i cell[L
mvh
RickardSv: Ändra CellBackColor i en MSHFlexGrid utan att klicka i cellen
Svårare än så är det inte.
/ PeterSv: Ändra CellBackColor i en MSHFlexGrid utan att klicka i cellen
Du kan ju göra något sånt här:
<code>
Private Sub Form_Load()
SetGridCellBackColor MSHFlexGrid1, &HFFFF80
End Sub
Private Sub SetGridCellBackColor(ByVal fGrid As MSHFlexGrid, _
ByVal lngColor1 As Long, _
Optional ByVal lngColor2 As Long = -1, _
Optional ByVal lngStyle As Long)
Dim lngFirstRow As Long
Dim lngFirstCol As Long
Dim r As Long
Dim c As Long
fGrid.Redraw = False
lngFirstRow = fGrid.FixedRows
lngFirstCol = fGrid.FixedCols
If lngStyle = 0 Then
For r = lngFirstRow To fGrid.Rows - 1 Step 2
fGrid.Row = r
For c = lngFirstCol To fGrid.Cols - 1
fGrid.Col = c
fGrid.CellBackColor = lngColor1
Next
Next
If lngColor2 <> -1 Then
For r = lngFirstRow + 1 To fGrid.Rows - 1 Step 2
fGrid.Row = r
For c = lngFirstCol To fGrid.Cols - 1
fGrid.Col = c
fGrid.CellBackColor = lngColor2
Next
Next
End If
Else
For c = lngFirstCol To fGrid.Cols - 1 Step 2
fGrid.Col = c
For r = lngFirstRow To fGrid.Rows - 1
fGrid.Row = r
fGrid.CellBackColor = lngColor1
Next
Next
If lngColor2 <> -1 Then
For c = lngFirstCol + 1 To fGrid.Cols - 1 Step 2
fGrid.Col = c
For r = lngFirstRow To fGrid.Rows - 1
fGrid.Row = r
fGrid.CellBackColor = lngColor2
Next
Next
End If
End If
fGrid.Redraw = True
End Sub
</code>Sv: Ändra CellBackColor i en MSHFlexGrid utan att klicka i cellen
Koden hjälpte mig med problemet.
mvh
/Rickard