FlexGrid-Anwendung

24/02/2010 - 19:22 von Lothar Geyer | Report spam
Ich versuche mal wieder, ein FlexGrid zu vergewaltigen. Und zwar möchte
ich in einer Zelle folgende "Bilder" wahlweise anzeigen:

1. Hintergrund in einer bestimmten Farbe
2. die linke Hàlfte einer Zelle in einer Farbe
3. die rechte Hàlfte in einer Farbe
4. die gesamte Zelle in einer Farbe (=identisch 1. Fall)

1. und 4. machen natürlich keine Schwierigkeiten. Aber welche
Möglichkeiten gibt es für 2. und 3.? Das soll natürlich auch einem
Resize standhalten.

Aus einer Spalte zwei zu machen und "bedarfsgerecht" zu mergen, ist in
diesem Fall leider nicht möglich.

Lothar Geyer
 

Lesen sie die antworten

#1 Dieter Strassner
24/02/2010 - 22:51 | Warnen spam
Hallo Lothar,

Ich versuche mal wieder, ein FlexGrid zu vergewaltigen. Und zwar
möchte ich in einer Zelle folgende "Bilder" wahlweise anzeigen:

1. Hintergrund in einer bestimmten Farbe
2. die linke Hàlfte einer Zelle in einer Farbe
3. die rechte Hàlfte in einer Farbe
4. die gesamte Zelle in einer Farbe (=identisch 1. Fall)

1. und 4. machen natürlich keine Schwierigkeiten. Aber welche
Möglichkeiten gibt es für 2. und 3.? Das soll natürlich auch einem
Resize standhalten.

Aus einer Spalte zwei zu machen und "bedarfsgerecht" zu mergen, ist in
diesem Fall leider nicht möglich.



Welche FlexGrid-Version benutzt Du denn?
Ab der 7er-Version steht dir .Cell(flexcpFloodColor,... zu Verfügung. Die
Anordnung dann Waagrecht und auf 50% stellen. Das Bild sollte sich
überlagern lassen (ausprobiert habe ich es jedoch nicht).

Alternativ zu 'Flood':

vsgGrid.OwnerDraw=2 einstellen und im DrawCell-Event mittels:

Dim rc As RECT
Dim myArea As Long
dim lngValue as long

lngValue = 50 ' für 50%-Füllung von links nach rechts

SetBkColor hdc, .Cell(flexcpFloodColor, row, Col)
SetRect rc, Left + 1, Top + 1, Right - 1, Bottom - 1 '
Gridstàrke beachten!
myArea = rc.Right - rc.Left
rc.Right = rc.Left + (myArea * lngValue / 100) ' new Right '
Flood Left-Right
ExtTextOut hdc, 0, 0, ETO_OPAQUE, rc, 0, 0, 0

den Zellenhintergrund einfàrben. Evtl. steht das DrawCell-Event erst ab der
8er-Version zu verfügung (das weiß ich leider nicht mehr so genau).


Viele Grüße

Dieter


Rückfragen bitte nur in die Newsgroup!

EDV-Kommunikation Strassner e.K.
68623 Lampertheim
Internet: www.strassner.biz

Ähnliche fragen