"ListiconGadget" mit größerer Zeilenhöhe

Anfängerfragen zum Programmieren mit PureBasic.
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

"ListiconGadget" mit größerer Zeilenhöhe

Beitrag von a14xerus »

Hallo, Ich möcte gerne ein Gadget haben / erstellen, welches wie das ListiconGadget befüllt werden kann, aber eine größere Zeilenhöhe hat.
Gibt es sowas?
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Beitrag von Shardik »

Normalerweise ändert man die Zeilenhöhe in einem ListIconGadget über den ausgewählten Font. Ein Beispiel für eine nachträgliche Änderung der Font-Größe nach Abfrage mit einem Font-Requester hat Fluid Byte veröffentlicht:
http://www.purebasic.fr/german/viewtopi ... 43&start=2

Übrigens gab es einen Thread zu diesem Thema schon früher:
http://www.purebasic.fr/german/viewtopic.php?t=7662

Die Suchfunktion ist Dein Freund... :wink:
Zuletzt geändert von Shardik am 08.02.2007 13:10, insgesamt 2-mal geändert.
Benutzeravatar
Mr.X
Beiträge: 66
Registriert: 10.08.2005 22:46
Wohnort: im schönen OWL

Beitrag von Mr.X »

Ich denke der Pirat möchte nur die Zeilenhöhe in seinem ListiconGadget ändern und den Font beibehalten.
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Beitrag von Shardik »

Mr.X hat geschrieben: Ich denke der Pirat möchte nur die Zeilenhöhe in seinem ListiconGadget ändern und den Font beibehalten.
Das hatte ich schon befürchtet. Aber auch hier hätte die Suche im englischen Forum eine Lösung von srod gefunden:
http://www.purebasic.fr/english/viewtopic.php?t=17237

Da es mich aber auch selbst interessiert, habe ich daraus einen Beispiel-Code gebastelt:

Code: Alles auswählen

If OpenWindow(0, 100, 100, 364, 135, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If CreateGadgetList(WindowID(0))
    ListIconGadget(0, 5, 5, 354, 90, "Name", 100, #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
    AddGadgetColumn(0, 1, "Address", 250)
    AddGadgetItem(0, -1, "Harry Rannit"+Chr(10)+"12 Parliament Way, Battle Street, By the Bay")
    AddGadgetItem(0, -1, "Ginger Brokeit"+Chr(10)+"130 PureBasic Road, BigTown, CodeCity")
    ButtonGadget(1, 135, 105, 100, 20, "Zeilenhöhe ändern")

    Repeat
      WindowEventID = WaitWindowEvent()

      If WindowEventID = #PB_Event_Gadget
        If EventGadget() = 1
          RowHeight = 18
          ImageHandle = ImageList_Create_(0, RowHeight, #ILC_COLORDDB, 0, 0) 
          SendMessage_(GadgetID(0), #LVM_SETIMAGELIST, #LVSIL_SMALL, ImageHandle)
          DisableGadget(1, #True)
        EndIf
      EndIf
    Until WindowEventID = #PB_Event_CloseWindow
  EndIf
EndIf
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

Beitrag von a14xerus »

Shardik hat geschrieben:

Code: Alles auswählen

If OpenWindow(0, 100, 100, 364, 135, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If CreateGadgetList(WindowID(0))
    ListIconGadget(0, 5, 5, 354, 90, "Name", 100, #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
;.........
Das sieht schon ganz gut aus.
Danke
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Wie geht das ganze auch mit ICONs?

Sobald ich die Höhe auf diese Weise ändere, habe ich keine kleinen Icons mehr an der linken Seite. ( FALGs mit ImageID() )

Richtig cool wäre natürlich, wenn man mit ein zwei Kniffen die Zeilen auf 32 oder sogar unbegrenzt hochpuschen kann und die Bilder am Anfang auch 32 x 32 oder sogar jede Größe annehmen könnten.

Der Hammer wäre auch, wenn man die Bilder wo anders als nur am ersten Rand setzten kann.

Vielleicht mit einem ähnlichen Seperator wie beim Text.

Oder wenigstens an erste Position mehr als nur ein 16 x 16 Bildchen.

Dann könnte man zum Beispiel rote, grüne, gelbe Kreise malen und wenn irgendwas mit dem Eintrag ist, dann die Farben nebeneinander setzen,
fals zum Beispiel alles zutrifft.

Oder Sternchen-Bewertung. Und 5 Sterne nebeneinander oder halt nur eins.
Zurzeit ist es ja so ein bisschen langweilig /:->


Aber ich bin da nicht so der CallBack-Freak oder der WinAPI-Junkie ...

Ich befürchte aber fast, es ist nicht möglich ... :cry:


Trotzdem Dank an euch, habt es wenigstens gelesen :roll:
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> Ich befürchte aber fast, es ist nicht möglich ... :cry:
brauchste nicht fürchten, Beispiele findest im engl. Forum, evtl. auch hier

Ohne Callbacks geht da natürlich nicht viel :wink:

Suchen mußte selber, wollte Dir nur mitteilen, ich hab es tatsächlich gelesen :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Achja, das englische Forum ...

wieso gibt es eigentlich so viele Foren und wieso sind die meisten guten nur im englischen Forum unterwegs?

Wir müssten so einen Google-Zwischenübersetzer einbauen und immer, wenn es was gutes im englischen Forum gibt, wird es automatisch auf deutsch hier gepostet ... :o
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> und wieso sind die meisten guten nur im englischen Forum unterwegs?
Nur die schlechten können kein englisch :lol:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten