Что нового

Список папок из Windows в Combo

nu3dell

Осваивающий
Сообщения
139
Репутация
24
Как поместить список папок из папки Windows в ComboBox?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,487
Код:
#include <GUIConstantsEx.au3>
#include <ComboConstants.au3>
#include <File.au3>

$hGUI = GUICreate("", 200, 40) ; Создаёт окно в центре экрана

$Combo = GUICtrlCreateCombo("", 10, 10, 180, 200, BitOr($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST)) ; стиль не редактируемого списка

$aList = _FileListToArray(@WindowsDir, "*", 2)

For $i = 1 To UBound($aList)-1
	GUICtrlSetData($Combo, $aList[$i])
Next

GUISetState() ; показывает созданное окно

; Запускается цикл опроса GUI до тех пор пока окно не будет закрыто
While 1
	$nMsg = GUIGetMsg()
	
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			ExitLoop
		Case $Combo
			MsgBox(0, '', 'Папка: "' & GUICtrlRead($Combo) & '"', 0, $hGUI)
	EndSwitch
WEnd



Добавлено:
Сообщение автоматически объединено:

Прошу обратить внимание на пятый параметр в GUICtrlCreateCombo, там нужно указывать число побольше чем 20-30, т.к это высота выпадающего списка, на Win7 к примеру с высотой 20 список вообще не выпадает (точнее его не видно).
 
Автор
nu3dell

nu3dell

Осваивающий
Сообщения
139
Репутация
24
Спасибо. Тема Решена
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,487
nu3dell [?]

[info border=#0000ff float=left]На форуме принято помечать тему решенной после получения ответа на свой вопрос!
Вверху или внизу темы нажмите на ссылку такого вида:
package_old.gif
Тема не решена
[/info]
 
Автор
nu3dell

nu3dell

Осваивающий
Сообщения
139
Репутация
24
Простите, сейчас еще вопрос, как исключить из Combo папки "Help" и "Temp", просто напросто что бы не было в списке
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,487
nu3dell [?]
как исключить из Combo папки "Help" и "Temp"
Код:
For $i = 1 To UBound($aList)-1
	If Not StringRegExp($aList[$i], "(?i)^(Help|Temp)$") Then
		GUICtrlSetData($Combo, $aList[$i])
	EndIf
Next
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,487
nu3dell
Так делать делать нельзя, Вы вывели из контекста всю тему.
Не нужно каждый раз редактировать первое сообщение в соответствий с вашим текущим вопросом, и аргумент «не хочу тему создовать» не канает.

Форум не только для вас существует.
Тему закрываю, с попыткой привести её обратно в „контекстное состояние“.

Тема разделена на 3 отдельные.
 
Верх