OpenFileRequester - Verzeichniswechsel verhindern

Anfängerfragen zum Programmieren mit PureBasic.
ThoPie
Beiträge: 130
Registriert: 19.05.2006 15:18
Kontaktdaten:

OpenFileRequester - Verzeichniswechsel verhindern

Beitrag von ThoPie »

Hallo,

gibt es irgendeine Möglichkeit beim OpenFileRequester einen Verzeichniswechsel zu verhindern?

Vielen Dank.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Was soll der Benutzer dann noch auswählen?
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Ligatur
Beiträge: 196
Registriert: 09.07.2006 00:41

Beitrag von Ligatur »

Ich frage mich zwar auch wie sinnvoll es ist, dem Benutzer vorzuschreiben wo er was zu speichern hat aber möglich ist es (zumindest unter Windows). Allerdings ist das nicht unbedingt Anfängergeeignet da API.
Dazu musst du den Dateirequester statt mit PB - Befehlen mit dem API - Befehl GetOpenFileName_() (oder GetSaveFileName_() je nachdem) öffnen und in der OPENFILENAME - Struktur bei Flags #OFN_NOCHANGEDIR setzen.
ThoPie
Beiträge: 130
Registriert: 19.05.2006 15:18
Kontaktdaten:

Beitrag von ThoPie »

Naja,
ich möchte das Dateien nur aus einem bestimmten Verzeichnis ausgewählt werden können.
Andreas_S
Beiträge: 787
Registriert: 14.04.2007 16:48
Wohnort: Wien Umgebung
Kontaktdaten:

Beitrag von Andreas_S »

dann benutzt die methode von Ligatur, oder schreib einen eigenen OpenFileRequester ...

Gruß Andreas
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

dann machst Du Dir doch mal eben nen selbergehäkelten Requester

Code: Alles auswählen

OpenWindow(0,0,0,300,300,"Auswahl",#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
ListViewGadget(0,0,0,300,300)
Directory.s = "d:\"
If ExamineDirectory(0, Directory, "*.*")
  While NextDirectoryEntry(0)
    If DirectoryEntryType(0) = #PB_DirectoryEntry_File
      AddGadgetItem(0,-1,DirectoryEntryName(0))
    EndIf
  Wend
  FinishDirectory(0)
EndIf
Repeat
  Event = WaitWindowEvent()
  WindowID = EventWindow()
  GadgetID = EventGadget()
  EventType = EventType()
  If Event = #PB_Event_Gadget
    If GadgetID = 0
      MessageRequester("aha","es wurde "+Directory+GetGadgetText(0)+" ausgwählt",0)
      quit=1
      
    EndIf
  EndIf
Until quit
End
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

MSDN hat geschrieben:OFN_NOCHANGEDIR
Restores the current directory to its original value if the user changed the directory while searching for files.

Windows NT 4.0/2000/XP: This flag is ineffective for GetOpenFileName.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Antworten