Seite 1 von 1

XbpFileDialog Fenstergröße

Verfasst: So, 16. Dez 2018 7:36
von saul
Hallo,
kann man bei XbpFileDialog die Fenstergröße nicht einstellen? In der Hilfe steht nur, dass man die Position angeben kann.

mfg
Wolfgang

Re: XbpFileDialog Fenstergröße

Verfasst: So, 16. Dez 2018 11:51
von AUGE_OHR
moin,
saul hat geschrieben: So, 16. Dez 2018 7:36 In der Hilfe steht nur, dass man die Position angeben kann.
siehe mal bei o:New() nach
<aPos> := { nX, nY }

OS/2 - Durch den Parameter <aPos> kann optional die Position bestimmt werden, bei der ein XbpFileDialog-Objekt angezeigt werden soll. Der Wert ist standardmäßig das Array {0,0}. Es gibt die Position für die linke, untere Ecke eines XbpFileDialog-Objekts an. Das erste Element enthält die x-Koordinate und das zweite Element definiert die y-Koordinate. Die Koordinaten beziehen sich auf das Koordinatensystem von <oParent>

Win32 - Windows ignoriert die Position. Das Fenster wird immer links oben am Bildschirm angezeigt.
saul hat geschrieben: So, 16. Dez 2018 7:36 kann man bei XbpFileDialog die Fenstergröße nicht einstellen?
ich habe es mit o:SetSize() versucht und das erhalten
oError:args :
-> VALTYPE: O CLASS: XbpFileDialog
-> VALTYPE: A VALUE: {1024, 768}
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Methode ist für dieses Objekt unbekannt
oError:filename :
oError:genCode : 23
oError:operation : SetSize
oError:osCode : 0
oError:severity : 2
oError:subCode : 2220
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von GETFILENAME(165)
Aufgerufen von MAIN(51)
also es wurde anscheint nicht implementiert.

Re: XbpFileDialog Fenstergröße

Verfasst: So, 16. Dez 2018 12:08
von AUGE_OHR
Nachtrag : wollte es per API versuchen aber

Code: Alles auswählen

hWnd := oDlg:GetHWnd()
oError:args :
-> VALTYPE: O CLASS: XbpFileDialog
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Methode ist für dieses Objekt unbekannt
oError:filename :
oError:genCode : 23
oError:operation : GetHWnd
oError:osCode : 0
oError:severity : 2
oError:subCode : 2220
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von GETFILENAME(178)
Aufgerufen von MAIN(52)
wenn o:GetHWnd() nicht funktioniert hat man kein Handle für das Fenster und kann damit "so" auch nichts mit API Function machen ... [-X

---

Pablo hat die CLASS TBrowseForFolder bei der man die Grösse vorgeben kann.

Re: XbpFileDialog Fenstergröße

Verfasst: So, 16. Dez 2018 12:12
von Tom
Der Dialog ist vollständig ein Standard-Windows-Element; XbpFileDialog ist eine abstrakte Klasse und erzeugt keine Objekte. Da sich der FileDialog aber merkt, wie groß er zuletzt war und wo er zuletzt positioniert wurde, wird es möglicherweise Registry-Einträge geben, die das verwalten. Dazu habe ich allerdings nichts gefunden. Was ich gefunden habe, waren Versuche, den Dialog direkt nach der Erzeugung über API-Funktionen aufzufinden und zu manipulieren. Besser geht's vermutlich nicht.

Re: XbpFileDialog Fenstergröße

Verfasst: So, 16. Dez 2018 12:25
von Herbert
Der ursprüngliche Filedialog von Windows hatte keine Size-Möglichkeit. Der heutige schon. Nur ging das wohl vergessen.
Allerdings kann man sich recht einfach einen Eigenen bauen (wie in Xbase von Vielem gewohnt).

Re: XbpFileDialog Fenstergröße

Verfasst: Mo, 17. Dez 2018 5:26
von AUGE_OHR
hier die CLASS TBrowseForFolder von Pablo
TestBrowseForFolder.rar
Source
need ot4xb
(19.39 KiB) 209-mal heruntergeladen