ExplorerComboGadget mit eingestellten Filetyp

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

ExplorerComboGadget mit eingestellten Filetyp

Beitrag von Velindos »

Hallo Leute,
möchte im ExplorerComboGadget nicht den Ordner sondern File´s nach Type(*.txt etc) anzeigen und wählen können.

Es gibt ja das ExplorerComboGadget mit diesem,

Code: Alles auswählen

If OpenWindow(0, 0, 0, 400, 45, "ExplorerComboGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
        ExplorerComboGadget(0, 10, 10, 380, 25, GetHomeDirectory(), #PB_Explorer_Editable)
        Repeat 
          Event = WaitWindowEvent()
        Until Event = #PB_Event_CloseWindow
      EndIf
jedoch gibt es dies auch für File!

Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ExplorerComboGadget mit eingestellten Filetyp

Beitrag von Kiffi »

Velindos hat geschrieben:jedoch gibt es dies auch für File!
(ich nehme mal an, dass da ein Fragezeichen stehen sollte)

Meines Wissens gibt es das ExplorerComboGadget nicht für die Anzeige von Dateien.

Aber sowas kannst Du Dir schnell auch selber zusammenbasteln.

Nimm eine einfache Combobox und befülle sie mit ExamineDirectory() / DirectoryEntryName().

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: ExplorerComboGadget mit eingestellten Filetyp

Beitrag von bobobo »

mit Auswahlpattern gibt es das
ExplorerTreegadget(..)
und
ExplorerListgadget(..)


zur Dateiauswahl gibt es den OpenFileRequester(..) auch mit Auswahlpattern
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

Re: ExplorerComboGadget mit eingestellten Filetyp

Beitrag von Velindos »

Hallo,
Danke für eure rasche Hilfe. Der Wunsch war der Gedanke, das die Sache mittels Flags zu lösen ist.
Löse die Sache weiter in einen eigenen Fenster mittels ExplorerListGadget().

Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: ExplorerComboGadget mit eingestellten Filetyp

Beitrag von RSBasic »

@Velindos
Falls du ExplorerComboGadget() doch für Files brauchst:

Code: Alles auswählen

EnableExplicit

Define EventID

Global NewList hIcons()

Procedure FreehIcons()
  ForEach hIcons()
    DestroyIcon_(hIcons())
  Next
  
EndProcedure

Procedure GetExtensionIcon(File$)
  Protected SHFILEINFO.SHFILEINFO
  Protected hIcon
  
  If SHGetFileInfo_(@File$, #FILE_ATTRIBUTE_NORMAL, @SHFILEINFO, SizeOf(SHFILEINFO), #SHGFI_SMALLICON | #SHGFI_ICON)
    hIcon = SHFILEINFO\hIcon
    
    AddElement(hIcons())
    hIcons() = hIcon
    
    ProcedureReturn hIcon
  EndIf
  
EndProcedure

Procedure ExplorerComboGadgetEx(Gadget, x, y, Width, Height, Directory$, Plattern$, Flags = 0)
  Protected ExamDir
  
  ComboBoxGadget(Gadget, x, y, Width, Height, #PB_ComboBox_Image | Flags)
  
  ExamDir = ExamineDirectory(#PB_Any, Directory$, Plattern$)  
  If ExamDir
    While NextDirectoryEntry(ExamDir)
      If DirectoryEntryType(ExamDir) = #PB_DirectoryEntry_File
        AddGadgetItem(Gadget, -1, DirectoryEntryName(ExamDir), GetExtensionIcon(Directory$ + DirectoryEntryName(ExamDir)), 0)
      EndIf
    Wend
    FinishDirectory(ExamDir)
  EndIf
  
  SetGadgetState(Gadget, 0)
  
EndProcedure

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ExplorerComboGadgetEx(1, 10, 10, 200, 20, "C:\", "*.*", 0)
  
  Repeat
    EventID = WaitWindowEvent()
    If EventID = #PB_Event_CloseWindow
      FreehIcons()
      End
    EndIf
  ForEver
EndIf
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

Re: ExplorerComboGadget mit eingestellten Filetyp

Beitrag von Velindos »

Hallo,
besten Dank für dein Beispiel, habs geleich verwendet und Funkt genau wie ich es mir vorgestellt habe. Nochmals besten Dank!

Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Antworten