amel27,
Конечно, извеняюсь что сразу не привёл его...
Код:

#include <GuiConstants.au3>
Global $Width = 500
Global $Height = 360
$Gui = GuiCreate("Test", $Width, $Height, -1, -1, $WS_SIZEBOX+$WS_MINIMIZEBOX+$WS_MAXIMIZEBOX+$WS_BORDER)
GUIRegisterMsg(0x24, "MY_WM_GETMINMAXINFO")
$LV = GUICtrlCreateListView("Column", 20, 40, $Width-40, $Height-120)
$ButtonOK = GUICtrlCreateButton("OK", 20, $Height-60, 70, 20)
GUICtrlSetResizing(-1, $GUI_DOCKSIZE)
$ButtonExit = GUICtrlCreateButton("Exit", 120, $Height-60, 70, 20)
GUICtrlSetResizing(-1, $GUI_DOCKSIZE)
;Задаём новый размер ГУИ, это будет считано с инишки
$NewWidth = 700
$NewHeight = 400
$WinPosArr = WinGetPos($Gui) ;только для получения X и Y позиции
WinMove($Gui, "", $WinPosArr[0], $WinPosArr[1], $NewWidth, $NewHeight)
; Тут нужно выызвать ту самую имитацию, чтобы все контроли подстроились под новый размер.
GUISetState()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case -3, $ButtonExit
Exit
Case Else
EndSwitch
WEnd
; Функция для ограничения (минимального) размера окна гуи
Func MY_WM_GETMINMAXINFO($hWnd, $Msg, $wParam, $lParam)
Local $MINMAXINFO = DllStructCreate("int;int;int;int;int;int;int;int;int;int",$lParam)
Local $MINGuiX = 508, $MINGuiY = 368
DllStructSetData($MINMAXINFO, 7, $MINGuiX)
DllStructSetData($MINMAXINFO, 8, $MINGuiY)
Return 0
EndFunc
Цитата:
обещанная CallBack-функция для _FileSelectFolder:
|
Спасибо!
Осталось несколько уточнении
1. Если начальный каталог не имеет слеша на конце (\), то этот каталог не задаётся функцией, а также если начальный каталог является буквой диска, то таких слешей должно быть аж два (C:\\).
Я конечно могу это решить стандартными средствами, поставив это в начало главной функции...
Код:

If StringLen($sIniDir) <= 3 Then $sIniDir &= "\"
If StringRight($sIniDir, 1) <> "\" Or StringLen($sIniDir) <= 3 Then $sIniDir &= "\"
(Кстати, $sIniDir это опечатка? может $sIni
tDir?

)...
Но просто интересно, почему так происходит?
2. Может функцию диактивирования кнопки “ОК” сделать опционально? т.е чтобы это происходило только при использовании флага
$BIF_RETURNONLYFSDIRS? (Сейчас оно в любом случае срабатывает).
3. При выборе обьекта рабочего стола, кнопка “ОК” тоже деактивируется, этот обьект вроде является папкой (т.е рабочий путь)?
4. Когда используется флаг $BIF_BROWSEINCLUDEFILES (для выбора файлов), то их выбрать невозможно
- Кнопка “ОК” не активна.