Aktuelle Zeit: 22.10.2019 13:52

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: API ImageList_Create
BeitragVerfasst: 27.02.2019 23:25 
Offline
Benutzeravatar

Registriert: 06.07.2014 12:21
Hallo Leute, habe mal versucht das ListIconGadget dazu zu überreden größere Icons als 16x16
Anzeigen zu lassen.

Das ist dabei rausgekommen vieleicht kann das ja jemand gebrauchen

Code:
EnableExplicit
Enumeration Windows
   #Mein_Fenster
EndEnumeration
Enumeration Gadgets
   #Meine_Imageliste
   #Mein_Pahtstring
   #MeinListButton
EndEnumeration

Global IconW=64, IconH=64
Global Imageliste = ImageList_Create_(IconW, IconH, #ILC_COLOR32|#ILC_MASK, 0, 20)

Procedure VerzeichnisEinlesen(Paht.s)
   Protected Icon.SHFILEINFO,FileName.s,DummyImage.i,draw.i
   If ExamineDirectory(0, Paht, "*.*")   
      ClearGadgetItems(#Meine_Imageliste) : ImageList_Destroy_(Imageliste)   
      Imageliste = ImageList_Create_(iconW, iconH, #ILC_COLOR32|#ILC_MASK, 0, 20)
      While NextDirectoryEntry(0)   
         FileName = DirectoryEntryName(0)
         Debug Paht+FileName
         If FileName<>"." And FileName<>".."
            SHGetFileInfo_(Paht+FileName, 0, @Icon.SHFILEINFO, SizeOf(SHFILEINFO), #SHGFI_SYSICONINDEX|#SHGFI_ICON|#SHGFI_LARGEICON)
            DummyImage = CreateImage(#PB_Any, 32, 32,32,#PB_Image_Transparent )
            draw=StartDrawing(ImageOutput(DummyImage))
            DrawIcon_(Draw,0,0,Icon\hIcon)
            StopDrawing()
            ResizeImage(DummyImage, iconW, iconH)
            ImageList_Add_(Imageliste,ImageID(DummyImage), 0)
            AddGadgetItem(#Meine_Imageliste, -1,FileName,ImageID(DummyImage))
            DestroyIcon_(Icon\hIcon)
            FreeImage(DummyImage)
         EndIf    
      Wend      
   Else
      MessageRequester("Error","Can't examine this directory: "+Paht,0)
   EndIf
EndProcedure   

If OpenWindow(#Mein_Fenster, 0, 0, 700, 520, "",  #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   ListIconGadget(#Meine_Imageliste, 10, 10, 680, 480, "", 480)
   StringGadget(#Mein_Pahtstring,10,494,580,20,"c:\")
   ButtonGadget(#MeinListButton,610,494,81,20,"Auflisten")
   SetGadgetAttribute(#Meine_Imageliste, #PB_ListIcon_DisplayMode, #PB_ListIcon_LargeIcon)
EndIf    


Repeat
   Define event=WaitWindowEvent()
   If event = #PB_Event_CloseWindow
      Define Exit=#True
   EndIf    
   If event=#PB_Event_Gadget
      If EventGadget()=#MeinListButton
         VerzeichnisEinlesen(GetGadgetText(#Mein_Pahtstring))
         SendMessage_(GadgetID(#Meine_Imageliste), #LVM_SETIMAGELIST, #LVSIL_NORMAL, Imageliste)
      EndIf    
   EndIf    
Until  Exit=#True 

_________________
Intel Quad Core 3,2 Ghz - GTX 1060 - BlitzBasic Plus 1.48 , PureBasic 5.70 LTS / Aktuelles Projekt PureCommander


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

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 6 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:  

 


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