C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Дебетовая карта Home Credit [CPS] RU

 Ниспадающее меню с локальными дисками / - Ctrl, - View, ListBox, ComboBox / Элементы управления

Ниспадающее меню с локальными дисками

Иногда требуется, чтобы приложение демонстрировало все диски, имеющиеся на компьютере. Это бывыет надо при написании, например, инсталяторов. Приведенный здесь код показывает как это сделать.

Итак, класс CDrvListBox - это ниспадающее меню, которое показывает все диски на нашем компьтере, включая имена и иконки, соответствующие им. CDrvListBox наследован от CComboBoxEx и позволяет использовать большие и маленькие иконки, как это делает Explorer. Используйте его вместо CComboBoxEx и введите LoadItems() в OnInitDialog() родительского окна. По умолчанию показываютя маленькие иконки, но Вы можете их сделать большими передав TRUE LoadItems(), но это также автоматически увеличит размер Вашего элемента. GetDataPtr() вернет указвтель на стоку, содержащую корневой каталог диска.

Реализация этого метода достаточно проста:

  • GetLogicalDriveStrings дает нам корневые каталоги для всех дисков известных системе
  • SHGetFileInfo - когда даны вернные параметры - дает нам имена и индексы в системном списке имен
  • Использование CComboBoxEx.InsertItem() дает простое заполнение такое как в CListView элементе
  • В конце концов связываем системный список изображений с наши элементов

 

Код класса CDrvListBox находится в zip-архиве , пример того что получится.


 

Источник: ProtoSphere

 






Дебетовая карта Home Credit [CPS] RU