| |
|
|
| Hallo Frank
Da komme ich nochmal mit eine Frage
Ist es vorgesehen oder möglich die Textfarbe eine ausgewählte Spalte zu wählen?
Z.B Die Textfarbe in Listview ist Schwarz, ist es möglich für eine einzige Spalte eine andere Textfarbe zu programmieren
Gruss
Fernando |
|
|
| |
|
|
|
| Hallo Fernando,
Zufälle gibts... So eine Funktion habe ich kürzlich schon eingebaut, und da du die neue Betaversion schon hast, kannst du es auch gleich testen. Textfarbe und Hintergrundsfarbe von einer oder mehreren Spalten sind frei wählbar !!! Es gibt auch eine einfach zu bedienende Funktion, um ein Hintergrundsbild ins Listview einzubinden... Das alles gibts in der nächsten Listview.dll-Version. Und natürlich Listviews zum Ausdrucken (mit Icons und Checkboxen...) Hier die Färbefunktion für Spalten:
RaiseColumns(H,B,S,G)
Setzt eine andere Schrift- und Hintergrundsfarbe für eine oder mehrere Spalten eines Listviews. Macht Listviews sehr übersichtlich.
H : Long - Handle eines mit CreateListview() erstellten Listview Controls B : Zeiger auf einen 64 Byte großen Speicherbereich mit Byte-Werten (oder Sonderstring). S : Long - RGB-Wert für Schriftfarbe. G : Long - RGB-Wert für Schrift-Hintergrundsfarbe
Hiermit können bestimmte Spalten farbig abgehoben werden, was die Lesbarkeit einer Tabelle stark verbessern kann ! B ist ein 64 Byte großer Speicher, wobei jedes Byte den Index einer Spalte representiert. Steht in einem Byte eine 0, dann wird diese Spalte nicht extra farbig abgehoben. Steht in einem Byte aber eine 1, dann werden in dieser Spalte die Farben S und G verwendet. B kann auch die Adresse eines Strings sein, wobei Nullen und Einsen als Klartext geschrieben werden. Ist B ein String, dann können auch weniger als 64 Zeichen uebergeben werden (String muß mit Nullbyte enden, ist bei Profan immer so), ist B ein Speicherbereich, so werden alle 64 Bytes eingetragen, auch wenn das Listview gar keine 64 Spalten besitzt. Maximal werden 64 Spalten unterstützt (=64 Bytes). In einem Listview verwenden alle abgehobenen Spalten jedoch immer die gleichen Farben, für jedes Listview können aber andere abgehobene Farben benutzt werden ! Wird in einem Listview SetBackImage() verwendet, dann werden durch RaiseColumns() Teile der Grafik verdeckt. Aufpassen !!!
Beispiel, um die Spalten 0, 2und 4 mit schwarzem Text und weißem Hintergrund zu versehen. Alle anderen Spalten bleiben normal.
Dim bereich#,64 Clear bereich# bereich# mit Nullen löschen, wichtig ! Byte bereich#,0=1 Byte bereich#,2=1 Byte bereich#,4=1 RaiseColumns(listview&,bereich#,0,Rgb(255,255,255)) Dispose bereich#
Gleiches Beispiel als Stringversion:
text$=10101 RaiseColumns(listview&,addr(text$),0,Rgb(255,255,255))
Gruß, Frank |
|
|
| |
|
|