Hallo
wie bekomme ich eine Spalten-Formatierung
im ListIconGadget hin. Standard ist ja linksbündig,
und wie zentrieren oder rechtsbündig anzeigen ?
Thatsanee
ListIconGadget Spalten formatieren
dieses hoffentlich verständliche beispiel richtet den text zentriert aus:
Code: Alles auswählen
Center.LV_COLUMN\mask = #LVCF_FMT
Center\fmt = #LVCFMT_CENTER
SendMessage_(GadgetID(#GADGET), #LVM_SETCOLUMN, Column, @Center)
Constant not found: #vk_shit
Die Foren-Suche oder das Codearchiv auf www.purearea.net sind Deine Freunde

Code: Alles auswählen
; http://www.purebasic.fr/german/archive/viewtopic.php?t=100
; oder im CodeArchiv auf www.purearea.net unter Gadgets - ListIcon - Datei ListIcon_left+middle+right.pb
; von ChaOsKid
; OpenWindow() und CreateGadgetList() für PB 4 abgeändert
#Gadget_ListView = 0
ListViewSpalte.LV_COLUMN
ListViewSpalte\mask = #LVCF_FMT
If OpenWindow(0,0,0,300,100,"",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
ListViewHandle = ListIconGadget(#Gadget_ListView,0,0,300,100, "", 100)
AddGadgetColumn(#Gadget_ListView, 1, "", 80)
AddGadgetColumn(#Gadget_ListView, 1, "", 80)
EndIf
Spalte = 1 ; Spalte festlegen
ListViewSpalte\fmt = #LVCFMT_RIGHT ; Ausrichtung festlegen
SendMessage_(ListViewHandle, #LVM_SETCOLUMN, Spalte, @ListViewSpalte) ; Message senden
Spalte = 2 ; Spalte festlegen
ListViewSpalte\fmt = #LVCFMT_CENTER ; Ausrichtung festlegen
SendMessage_(ListViewHandle, #LVM_SETCOLUMN, Spalte, @ListViewSpalte) ; Message senden
AddGadgetItem(#Gadget_ListView,0,"Links (Standard)" + Chr(10) + "Rechts" + Chr(10) + "Mitte")
Repeat ;
EventID=WaitWindowEvent()
Until EventID=#PB_Event_CloseWindow
EndIf
End
Ich würde es einfach mitPureLVSORT_SetColumnAlignment() machen. Jetzt fragst du dich natürlich, wo es diesen Befehl gibt: Natürlich in der Lib von Gnozales! Die enthält einige sehr, sehr gute Befehel zum ListIconGadget(). Die musst du dir einfach installieren:
Hier ist Gnozale's Seite:
http://people.freenet.de/gnozal
Echt, ich kann sie dir nur wärmstens empfehlen, dann brauchst du z. B. den ganzen Quatsch mit der APi nicht. Was jetzt nicht heißen soll, dass ich die Lösungen von den anderren verachte!
Hier ist Gnozale's Seite:
http://people.freenet.de/gnozal
Echt, ich kann sie dir nur wärmstens empfehlen, dann brauchst du z. B. den ganzen Quatsch mit der APi nicht. Was jetzt nicht heißen soll, dass ich die Lösungen von den anderren verachte!
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Selbstverständlich kann man für die Spaltenformatierung auch die UserLib PureLVSort von Gnozal verwenden (Danke für den Hinweis). Allerdings finde ich, daß man den Einsatz davon abhängig machen sollte, wieviele Funktionen man noch zusätzlich aus dieser Lib verwendet. Falls man wirklich nur in einem ListIconGadget eine Spalte anders formatieren möchte, reicht eine kleine eigene Prozedur. Schließlich möchte man ja auch "bloated" (aufgeblasenen) Code vermeiden. Hat vielleicht schon jemand einmal einen Test gemacht, wie sich der Einsatz einer UserLib auf die Codegröße auswirkt?Ich würde es einfach mitPureLVSORT_SetColumnAlignment() machen.
Auch die UserLib von Gnozal verwendet mit Sicherheit "den ganzen Quatsch mit der API"..., dann brauchst du z. B. den ganzen Quatsch mit der APi nicht.

Viel wichtiger ist die Frage 'Was mache ich bei einem Bug in einer UserLib ?'.
Jetzt fragst du dich natuerlich was man da macht : Richtig, auf die passende
Lust und Laune des Autors warten.
Die Benutzung einer UserLib, wenn sie denn nicht selber geschrieben wurde,
sollte immer der letzte Weg sein. Gerade wenn man es selber machen kann.
Jetzt fragst du dich natuerlich was man da macht : Richtig, auf die passende
Lust und Laune des Autors warten.
Die Benutzung einer UserLib, wenn sie denn nicht selber geschrieben wurde,
sollte immer der letzte Weg sein. Gerade wenn man es selber machen kann.
@ shardik: ich habe mir ursprünglih die Lib auch nur geladen, weil ich die Funktion mit der Breitenänderung braucht, ganz ehrlich! Dass da noch andere Funktionen drin enthalten sind fand ich ja gut und schn, aber ich habe nicht weiter vorausgedacht.
Erst bei meinem nächsten Projekt konnte ich die ganze Lib brauchen und war froh, dass ich sie mir doch geladen habe und nicht irgendeinen dreizeiler oder so genommen habe.
@ API: so war das nicht gemeint! wahrscheinlich braucht gnozales die API, klar. aber ich wollte eigentlich sagen, dass man selbst keinen einzigen API befehl mehr hinschreiben muss.
@ edel: Bug in gnozales Lib? Die Risiko ist größer, dass man Lotto gewinnt, statt eines Bugs, gerade bei gnozales Libs, die ja
Erst bei meinem nächsten Projekt konnte ich die ganze Lib brauchen und war froh, dass ich sie mir doch geladen habe und nicht irgendeinen dreizeiler oder so genommen habe.
@ API: so war das nicht gemeint! wahrscheinlich braucht gnozales die API, klar. aber ich wollte eigentlich sagen, dass man selbst keinen einzigen API befehl mehr hinschreiben muss.
@ edel: Bug in gnozales Lib? Die Risiko ist größer, dass man Lotto gewinnt, statt eines Bugs, gerade bei gnozales Libs, die ja
sind. Ich will gnozales nicht in den himmel loben und bis an das ende meiner Tage verehren aber ich habe bisher keinen bug entdeckt und bin sicherlich auch nicht der einzige, der diese Lib verwendet.leistungsstark
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End