Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Создание прибыльного сайта для начинающих" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Интернет для Delphi-программиста
Информационный Канал Subscribe.Ru |
Интернет для Delphi программиста.Выпуск : № 48 Здравствуйте уважаемые подписчики рассылки "Интернет для Delphi программиста". Данная рассылка предназначена для всех кого интересует Delphi, здесь будут выкладываться ссылки на различные ресурсы интернета так или иначе связанные с Delphi: книги, исходники, программы... Изучайте Delphi один из лучших языков программирования!!! ЗАДАТЬ ВОПРОС : Правила
рассылки: Новые вопросы.
Ответы.
Статья: "Создание дерева файлов в виде меню с ассоциированными иконками." http://decoding.narod.ru/practic/treemenu/treemenu.html Навигацию по файловой системе можно организовать разными способами. Наиболее распространенные - с использованием ListView и/или TreeView, иногда для навигации по дискам используется ComboBox (самый распространенный пример: Explorer). Сейчас мы рассмотрим еще один вариант, с использованием MainMenu. Прежде, чем мы приступим, скажу пару слов про этот метод. Работа с таким меню очень напоминает работу с TreeView (расположение элементов меню по своей структуре ничем не отличается от расположения узлов TreeView). Для более комфортной навигации, каждому элементу меню можно присвоить иконку, ассоциированную с файлом или каталогом, но который он указывает. В отличие от TreeView, в меню не нужно каждый раз щелкать мышкой, чтобы просмотреть список дочерних элементов. Коротко о неприятном. Если мы раскрываем узел с большим количеством дочерних элементов, то нам предстоит долгое ожидание, пока все элементы будут прорисованы, прежде чем они отобразятся на экране. В это время пользователь может подумать, что программа зависла (такая вот неприятная мелочь). Тем не менее, раз взялись, будем делать. Процедура, строящая дерево каталогов, будет работать рекурсивно.
Подробно рассматривать эту процедуру не стану (надеюсь, вы знакомы с рекурсией), но несколько моментов объясню. Функция SHGetFileInfo возвращает информацию о файле (директории, диске), о ней я расскажу подробнее чуть ниже. Наше меню позволяет запускать найденные файлы программой, связанной с ними по расширению. Для того чтобы связать пункт меню и файл, на который он указывает, путь к файлу можно занести в свойство Hint пункта меню. Процедуру, открывающую файл, присвоим событию OnClick пункта меню (эта процедура описана ниже). В конце цикла идет проверка поля Tag на равенство нулю. В нашем случае Tag показывает, идет в данный момент поиск (Tag <> 0, например он равен 1), или нет (Tag = 0). Перед началом поиска устанавливаем значение поля Tag в 1, и теперь, чтобы его прервать, это поле достаточно обнулить.
Теперь, когда все готово к поиску, посмотрим, как происходит его вызов.
Здесь нас, прежде всего, интересует первая половина кода (со второй все и так понятно). Если пользователь хочет видеть иконки файлов в меню, мы должны запросить их у системы. Для этого воспользуемся функцией SHGetFileInfo. Рассмотрим аргументы этой функции. Первый - путь к файлу (если файл указан, мы получим информацию по этому файлу, если этот параметр пустой, мы получим "глобальные" данные). Второй - атрибуты. Третий - указатель на структуру TSHFILEINFO (именно в нее будет занесена информация). Четвертый - размер структуры TSHFILEINFO. Пятый - флаги, говорящие системе о том, какую информацию мы у нее запрашиваем. В процедуре BeginSearchClick, в зависимости от того, что хочет пользователь, мы запрашиваем системный список маленьких (SHGFI_SMALLICON) или больших (SHGFI_LARGEICON) иконок. В процедуре UpdateMenu мы запрашиваем номер иконки (SHGFI_TYPENAME) для файла или каталога, указанного в первом параметре. Имейте в виду, получение иконок заметно снижает скорость поиска. На сегодня все. Успехов в программировании. .:
Пример к данной статье :. Исходники: Простая программа, которая перемещает меню «Старт» с лева направо и справа на лево. Компоненты: mxProtector 1.30 с исходниками - неплохой компонент, позволяющий сделать вашу программу шароварной, триальной, защитить паролем, серийником и т.д. (размер 156 Kb). mxStatusBar 1.12 с исходниками - отличный статус бар с кучей возможностей. (размер 124 Kb). Tee Chart Pro 7.0 с исходниками- отличный компонент для п3строения всяческих графиков, диаграмм и т.д. (размер 1,25 Mb). Etv Library 3.5 с исходниками - библиотека DB компонент для Borland Delphi 3-7. (размер 600 Kb). PHP4Delphi library 6.0 с исходниками - PHP4Delphi is a Delphi interface t5 PHP for Delphi 5, 6 and 7. (размер 644 Kb). psvDialogs Library 2.2 с исходниками - расширение стандартных диалоговых окон. (размер 276 Kb). BarMenu Components 2.3.9 с исходниками - неплохая альтернатива Animated Menus - омпонент для создания Main Menu и PopUp Menu. (размер 528 Kb). Pivot Cube VCL 6.7 Standart Edition без исходников (демо с ограничением на 5000 записей) - в представлении не нуждается. Компонент для реализации гиперкубов. (размер 5,67 Мb). Dimageen 2.1.4 без исходников - компонент для работы с изображениями. Имеет аналог DBImage. (размер 3,07 Мb). FindFile 3.40 с исходниками - отличный компонент для поиска файлов. (размер 107,7 Kb). SMExport 4.77 без исходников D7-D2005 - аналог EMS Quick Export. Компонент для экспорта данных из любого DataSet в различные форматы. (размер 760 Kb). SMImport suite 2.27 c исходниками - аналог EMS Quick Import. Компонент для импорта данных в любой DataSet. (размер 560 Kb). Интересные и полезные сайты по Delphi: Если Вы хотите, чтобы Ваш сайт был в этом разделе пишите.
Немного юмора: :))
Дружественные рассылки: Все
кто хочет изучить Delphi и реально
научиться писать свои программы, ЦПИ "Эверест"
поможет Вам. 10 причин в пользу платного обучения в ЦПИ "Эверест"… 1. Когда Вы
платите деньги-
появляется дополнительный стимул
против лени: надо учиться, ведь деньги
уже уплачены….
5. Стоимость обучения
одного месяца в ЦПИ "Эверест"
сравнима с ценой хорошей книги. Но часто
ли Вам попадались книги, рассчитанные
именно на Вас. Мы же работаем
индивидуально.
8. А это значит, что …Мы
предлагаем получить "высшее
образование" - профессию
программиста всего за
1 год и 144 доллара, любой ВУЗ
попросит в 3 раза больше за один только
семестр. По всем вопросам обращайтесь ко мне. Если вы встретили в интернете
интересный сайт или статью, да и вообще, что угодно
связанное с Delphi, поделитесь ссылкой. Предложения, критику и пожелания пишите на e-mail. |
Subscribe.Ru
Поддержка подписчиков Другие рассылки этой тематики Другие рассылки этого автора |
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiinternet Архив рассылки |
Отписаться
Вспомнить пароль |
В избранное | ||