Aktuelle Zeit: 14.04.2021 01:10

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Beispiel von RSBasic zu Gruppen in ListIconGadgets geht net
BeitragVerfasst: 07.04.2021 19:15 
Offline
Benutzeravatar

Registriert: 03.02.2021 13:39
Wohnort: Riesa
Hallo,
vielleicht kann mir jemand helfen: Das Beispiel von RSBasic's Seite funktioniert nicht. EnableGroupView geht, aber beim Erstellen von Gruppen oder einfügen von Items liefert sendmessage immer -1, also Fehler. Ich kann aber nirgendwo einen Fehler finden.

Code:
;Autor: Stefan 'wayne-c' Christen

EnableExplicit

Define EventID
Define g
Define i

#LVM_ENABLEGROUPVIEW = #LVM_FIRST + 157
#LVM_MOVEITEMTOGROUP = #LVM_FIRST + 154
#LVM_INSERTGROUP = #LVM_FIRST + 145
#LVIF_GROUPID = $0100
#LVGA_HEADER_LEFT = $1
#LVGA_HEADER_CENTER = $2
#LVGA_HEADER_RIGHT = $4
#LVGS_NORMAL = $0
#LVGS_COLLAPSED = $1
#LVGS_HIDDEN = $2
#LVGF_HEADER = $1
#LVGF_FOOTER = $2
#LVGF_STATE = $4
#LVGF_ALIGN = $8
#LVGF_GROUPID = $10

Procedure StringToUnicode(pbstrptr.l, ucstrptr.l)
MultiByteToWideChar_ (#CP_ACP, 0, pbstrptr, Len(PeekS(pbstrptr)), ucstrptr, Len(PeekS(ucstrptr)))
PokeL( ucstrptr + Len(PeekS(pbstrptr))*2, 0)
EndProcedure

Procedure ListIcon_AddGroup(gadget.l, text.s, groupid.l)
Protected lvg.LVGROUP
Protected text_uc.s

lvg.LVGROUP\cbSize = SizeOf(LVGROUP)
lvg\mask = #LVGF_GROUPID | #LVGF_ALIGN | #LVGF_HEADER
lvg\iGroupId = groupid
lvg\uAlign = #LVGA_HEADER_LEFT
text_uc.s = Space(260)
StringToUnicode(@text, @text_uc)
lvg\pszHeader = @text_uc
SendMessage_ (GadgetID(gadget), #LVM_INSERTGROUP, -1, @lvg)
EndProcedure

Procedure ListIcon_EnableGroupView(gadget.l, state.l)
SendMessage_ (GadgetID(gadget), #LVM_ENABLEGROUPVIEW, state, 0)
EndProcedure

Procedure ListIcon_AddItem(gadget.l, text.s, groupid.l)
Protected itm.LVITEM

itm.LVITEM\mask = #LVIF_TEXT | #LVIF_GROUPID
itm\pszText = @text
itm\iGroupId = groupid
SendMessage_ (GadgetID(gadget), #LVM_INSERTITEM, 0, @itm)
EndProcedure

If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ListIconGadget(1,10,10,WindowWidth(0)-20,WindowHeight(0)-20,"Spalte",400,0)

ListIcon_EnableGroupView(1, 1)
For g=1 To 5
ListIcon_AddGroup(1, "This is group "+Str(g), g)
For i=1 To 5
ListIcon_AddItem(1, "Item "+Str((g-1)*5+i)+" belongs to group "+Str(g), g)
Next
Next

Repeat
EventID=WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Beispiel von RSBasic zu Gruppen in ListIconGadgets geht
BeitragVerfasst: 07.04.2021 20:56 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Hallo jacdelad,

dein Beispiel funktioniert unter Windows (auch in der 64bit Version).

Du musst nur in den Compiler-Einstellungen den Hacken bei:
"Moderne Themen-Unterstützung aktivieren (für XP oder höher)"
entfernen.

Oder ein eigenes Manifest (wie hier beschrieben) erstellen:
https://docs.microsoft.com/en-us/windows/win32/controls/cookbook-overview

_________________
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.7 / Android 7.0 ;)

Manchmal muß das Rad neu erfunden werden.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Beispiel von RSBasic zu Gruppen in ListIconGadgets geht
BeitragVerfasst: 07.04.2021 23:25 
Offline
Benutzeravatar

Registriert: 03.02.2021 13:39
Wohnort: Riesa
Ahhhhh...na da muss man erstmal drauf kommen.
Danke, das probiere ich morgen aus.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Beispiel von RSBasic zu Gruppen in ListIconGadgets geht
BeitragVerfasst: 08.04.2021 15:39 
Offline
Benutzeravatar

Registriert: 03.02.2021 13:39
Wohnort: Riesa
Es hat leider nicht geklappt. Wenn ich das Beispiel einfach so starte kommen keine Einträge. Wenn ich es in mein Projekt einbinden komme Einträge, aber ohne Gruppen.
Jetzt hab ich mir gedacht, dass ich irgendwelche seltsamen Einstellungen in meinem Projekt habe, aber Pustekuchen, egal wie ich es auch drehe und wende, es geht nicht.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Beispiel von RSBasic zu Gruppen in ListIconGadgets geht
BeitragVerfasst: 08.04.2021 16:23 
Offline
Benutzeravatar

Registriert: 03.02.2021 13:39
Wohnort: Riesa
Ohne die "Moderne Themen"-Unterstützung geht der TileView nicht. Es ist zum Verzweifeln.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Beispiel von RSBasic zu Gruppen in ListIconGadgets geht
BeitragVerfasst: 08.04.2021 17:31 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
jacdelad hat geschrieben:
Ohne die "Moderne Themen"-Unterstützung geht der TileView nicht. Es ist zum Verzweifeln.


Brauchst du die moderne Themen-Unterstützung denn unbedingt?

_________________
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.7 / Android 7.0 ;)

Manchmal muß das Rad neu erfunden werden.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Beispiel von RSBasic zu Gruppen in ListIconGadgets geht
BeitragVerfasst: 08.04.2021 18:06 
Offline
Benutzeravatar

Registriert: 03.02.2021 13:39
Wohnort: Riesa
Ja, für die Tile-Ansicht, die jetzt reibungslos funktioniert.
Aber ist es nicht sonderbar, dass die Gruppierung, die erst nach der Tile-Ansicht eingeführt wurde, nur geht wenn man die moderne Themen Unterstützung abschaltet? Bzw. bei mir geht's immer noch nicht. Auch waren die Beschriftungen der Gruppen abgeschnitten, nur "T".


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Beispiel von RSBasic zu Gruppen in ListIconGadgets geht
BeitragVerfasst: 09.04.2021 12:14 
Offline
Benutzeravatar

Registriert: 03.02.2021 13:39
Wohnort: Riesa
Es tut mir leid, dass ich nochmal nachhaken muss:

Bei mir zuhause geht's unabhängig ob die modernen Themen ein- oder ausgeschaltet sind. Allerdings nur mit 32Bit-Compiler und als Gruppenbezeichnung wird immer nur "T" angegeben. Kann es sein, dass die mitgelieferte Struktur (LVGROUP) noch nich an 64Bit angepasst wurde?

Ich bin eigentlich nicht der Typ, der alles vorgekaut haben will, meistens reicht ein Schubs in die richtige Richtung oder ich finde es noch selbst raus (siehe die Kachelansicht für ListIconGadgets in anderen Thread), aber hieran verzweifel ich gerade.
Das "T" liegt sicher an einer Umwandlung des Strings mit MultiByteToWideChar(), ich denke die Anpassung an 64Bit liegt eventuell an der Struktur (ich finde auch im Internet leider keine verwertbaren Infos wie viele Byte jedes Feld haben muss, das würde ja schon helfen). Warum es auf dem anderen Rechner fast nie klappt weiß ich aber nicht. Vielleicht kann noch jemand weiterhelfen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Beispiel von RSBasic zu Gruppen in ListIconGadgets geht
BeitragVerfasst: 09.04.2021 14:01 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Funktionierendes Beispiel ....

Link: viewtopic.php?f=16&t=31424

_________________
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.7x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf My Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Beispiel von RSBasic zu Gruppen in ListIconGadgets geht
BeitragVerfasst: 09.04.2021 15:10 
Offline
Benutzeravatar

Registriert: 03.02.2021 13:39
Wohnort: Riesa
Ah, superb. Das funktioniert mit x86 und x64. Und moderner Themenunterstützung.

Vielen, vielen Dank an euch beide!


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  
cron

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye