Krik
Fleet Admiral
- Registriert
- Juni 2005
- Beiträge
- 15.045
Moin
Ich verwende VB 2005 und habe mir diese Code zusammengebastelt:
Der Code macht folgendes:
Ich klicke in eine Zeile des Flexgrids (MSFlexGrid1), daraufhin wird diese Prozedur aufgerufen. Dieser Klick soll in der 4. Spalte ein kleines Häkchen anzeigen, um mitzuteilen, dass diese Zeile markiert wurde. Ein weiterer Klick soll das Häcken und damit die Markierung wieder aufheben.
Um zu überprüfen, ob eine Zeile markiert wurde, zweckemfremde ich die Eigenschaft PictureType der Zelle in der 4. Spalte. (flexPictureMonochrome für "nicht markiert", flexPictureColor für "markiert")
Der Fehler ist nun folgender:
Ich klicke auf die Zeile und das Häkchen wird angezeigt. Ok, ich klicke noch mal drauf und das Häkchen verschwindet. Auch ok.
Jetzt klicke ich ich wieder auf eine Zeile, damit das Häkchen kommt. Danach klicke ich auf die unmarkierte Zeile darunter und er sagt mir, dass er die Markierung der unmarkierten Zeile aufgehoben hat.
Warum? Ich renne jetzt seit bestimmt zwei Stunden diesem Fehler hinterher, aber ich weiß nicht, wodurch er zustande kommt.
Gruß, Laurin
Edit: Hab es gerade selber hinbekommen. Der Fehler bestand darin, dass PictureType eine Eigenschaft des FlexGrids und nicht einer einzelnen Zelle ist. *Kopf-vs-Tisch*
Ich verwende VB 2005 und habe mir diese Code zusammengebastelt:
Code:
Private Sub MSFlexGrid1_Click()
' Klick auf die Tabelle markiert eine Reihe zum löschen oder umgekehrt
MSFlexGrid1.Redraw = False
MSFlexGrid1.Col = 4
If MSFlexGrid1.PictureType = flexPictureMonochrome Then
MSFlexGrid1.Col = 4
MSFlexGrid1.PictureType = flexPictureColor
Set MSFlexGrid1.CellPicture = LoadPicture(App.Path & "\markiert.bmp")
MSFlexGrid1.Text = ""
MSFlexGrid1.Col = 0
Label1.Caption = "Artikel " & MSFlexGrid1.Text & " zum Löschen markiert."
Else
MSFlexGrid1.Col = 4
MSFlexGrid1.PictureType = flexPictureMonochrome
Set MSFlexGrid1.CellPicture = LoadPicture(App.Path & "\nicht_markiert.bmp")
MSFlexGrid1.Text = ""
MSFlexGrid1.Col = 0
Label1.Caption = "Artikel " & MSFlexGrid1.Text & " nicht mehr zum Löschen markiert."
End If
MSFlexGrid1.Redraw = True
MSFlexGrid1.Refresh
End Sub
Der Code macht folgendes:
Ich klicke in eine Zeile des Flexgrids (MSFlexGrid1), daraufhin wird diese Prozedur aufgerufen. Dieser Klick soll in der 4. Spalte ein kleines Häkchen anzeigen, um mitzuteilen, dass diese Zeile markiert wurde. Ein weiterer Klick soll das Häcken und damit die Markierung wieder aufheben.
Um zu überprüfen, ob eine Zeile markiert wurde, zweckemfremde ich die Eigenschaft PictureType der Zelle in der 4. Spalte. (flexPictureMonochrome für "nicht markiert", flexPictureColor für "markiert")
Der Fehler ist nun folgender:
Ich klicke auf die Zeile und das Häkchen wird angezeigt. Ok, ich klicke noch mal drauf und das Häkchen verschwindet. Auch ok.
Jetzt klicke ich ich wieder auf eine Zeile, damit das Häkchen kommt. Danach klicke ich auf die unmarkierte Zeile darunter und er sagt mir, dass er die Markierung der unmarkierten Zeile aufgehoben hat.
Warum? Ich renne jetzt seit bestimmt zwei Stunden diesem Fehler hinterher, aber ich weiß nicht, wodurch er zustande kommt.
Gruß, Laurin
Edit: Hab es gerade selber hinbekommen. Der Fehler bestand darin, dass PictureType eine Eigenschaft des FlexGrids und nicht einer einzelnen Zelle ist. *Kopf-vs-Tisch*
Zuletzt bearbeitet: