Seite 2 von 6
Re: Richedit-eigenschaften
Verfasst: 20.10.2014 20:03
von stevie1401
Wow, sieht interessant aus.
Ich brauche allerdings tatsächlich eine Lösung, die auf allen Plattformen läuft.
Nur deshalb benutze ich Purebasic
Ich versuche das Projekt
http://www.doko-lounge.de, welches ich in GFA-Basic und Freebasic programmiert habe, nun auf alle 3 Plattformen zu bekommen, ohne dass man WINE oder WINEBOTTLER benutzen muss.
Re: Richedit-eigenschaften
Verfasst: 20.10.2014 20:47
von Kiffi
der Vollständigkeit halber hier die ListIconGadget-Variante:
Vorteile: Einfach & Crossplattform
Nachteile: Der Header kann nicht entfernt werden und die Einträge werden nur einzeilig dargestellt.
Code: Alles auswählen
EnableExplicit
#Window = 0
#ListIconGadget = 0
Procedure AddItem(Item.s, Color)
AddGadgetItem(#ListIconGadget, -1, Item) ; Hinzufügen
SetGadgetItemColor(#ListIconGadget, CountGadgetItems(#ListIconGadget) - 1, #PB_Gadget_FrontColor, Color) ; Einfärben
SetGadgetState(#ListIconGadget, CountGadgetItems(#ListIconGadget) - 1) ; Selektieren
EndProcedure
OpenWindow(#Window, #PB_Ignore, #PB_Ignore, 300, 400, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(#ListIconGadget, 5, 5, 290, 390, "Chat", 260, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection )
Define Counter
For Counter = 0 To 50
AddItem("Blaue Zeile", RGB(0, 0, 255))
AddItem("Grüne Zeile", RGB(0, 255, 0))
AddItem("Rote Zeile", RGB(255, 0, 0))
Next
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Grüße ... Peter
Re: Richedit-eigenschaften
Verfasst: 20.10.2014 21:11
von stevie1401
Perfekt!!!
Re: Richedit-eigenschaften
Verfasst: 06.11.2014 18:13
von stevie1401
Dieses Beispiel ist eigentlich klasse:
Code: Alles auswählen
EnableExplicit
#Window = 0
#ListIconGadget = 0
Procedure AddItem(Item.s, Color)
AddGadgetItem(#ListIconGadget, -1, Item) ; Hinzufügen
SetGadgetItemColor(#ListIconGadget, CountGadgetItems(#ListIconGadget) - 1, #PB_Gadget_FrontColor, Color) ; Einfärben
SetGadgetState(#ListIconGadget, CountGadgetItems(#ListIconGadget) - 1) ; Selektieren
EndProcedure
OpenWindow(#Window, #PB_Ignore, #PB_Ignore, 300, 400, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(#ListIconGadget, 5, 5, 290, 390, "Chat", 260, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection )
Define Counter
For Counter = 0 To 50
AddItem("Blaue Zeile", RGB(0, 0, 255))
AddItem("Grüne Zeile", RGB(0, 255, 0))
AddItem("Rote Zeile", RGB(255, 0, 0))
Next
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Der Nachteil ist der Select-Balken in der letzten Zeile.
Bekommt man den irgendwie weg?
Re: Richedit-eigenschaften
Verfasst: 06.11.2014 18:18
von ts-soft
#PB_ListIcon_AlwaysShowSelection entfernen.
Re: Richedit-eigenschaften
Verfasst: 06.11.2014 20:09
von stevie1401
Unter Windows funktioniert es, unter Linux hat es leider keine Auswirkung.
Hat jemand eine Idee, wie man die Balken unter Linux und Mac ausschalten kann?
Re: Richedit-eigenschaften
Verfasst: 06.11.2014 20:13
von Omi
Hallo stevie,
falls jeweils die letzte Zeile angezeigt jedoch nicht selektiert sein soll könntest Du folgende Änderung der Prozedur versuchen...
Code: Alles auswählen
Procedure AddItem(Item.s, Color)
AddGadgetItem(#ListIconGadget, -1, Item) ; Hinzufügen
SetGadgetItemColor(#ListIconGadget, CountGadgetItems(#ListIconGadget) - 1, #PB_Gadget_FrontColor, Color) ; Einfärben
SetGadgetState(#ListIconGadget, CountGadgetItems(#ListIconGadget) - 1) ; Selektieren
SetGadgetState(#ListIconGadget, - 1)
EndProcedure
Gruß
Charly
Re: Richedit-eigenschaften
Verfasst: 06.11.2014 20:15
von Shardik
ts-soft hat geschrieben:#PB_ListIcon_AlwaysShowSelection entfernen.
So einen Rat sollte man nur geben, wenn man dies auch auf allen Plattformen (nicht nur Windows) wirklich getestet hat...
stevie1401 hat geschrieben:Hat jemand eine Idee, wie man die Balken unter Linux und Mac ausschalten kann?
Code: Alles auswählen
CompilerIf #PB_Compiler_OS = #PB_OS_MacOS
CocoaMessage(0, GadgetID(#ListIconGadget), "setSelectionHighlightStyle:", -1)
CompilerEndIf
PS: Charlys Vorschlag ist wohl vorzuziehen, da er ohne API-Aufrufe auch unter MacOS X funktioniert!
Re: Richedit-eigenschaften
Verfasst: 06.11.2014 20:19
von ts-soft
Shardik hat geschrieben:ts-soft hat geschrieben:#PB_ListIcon_AlwaysShowSelection entfernen.
So einen Rat sollte man nur geben, wenn man dies auch auf allen Plattformen (nicht nur Windows) wirklich getestet hat...
Lt. Doku bewirkt das Flag sowieso nur etwas unter Windows. Sollte die Doku nicht aktuell sein?
Das ist dann nicht mein Fehler

Re: Richedit-eigenschaften
Verfasst: 06.11.2014 20:23
von stevie1401
...Das ist der Bringer
Danke an alle für die schnelle und gute Hilfe
