Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.07.2019, 11:25
Dreammaster Dreammaster вне форума
Прохожий
 
Регистрация: 11.06.2014
Сообщения: 36
Версия Delphi: RAD Studio XE3
Репутация: 10
Лампочка Ярлыки на форме Delphi (Lazarus)

Здравствуйте. Подскажите, каким образом реализовать следующую задумку: В папке с будущей программой есть подкаталог Shortcut, в котором расположены ярлыки каких-то программ. При запуске моей программы на форме оной должны быть размещены ярлыки из папки Shortcut. Само собой, кликабельные и действующие.
Как это реализовать? В какую вообще сторону копать? На данный момент ничего путевого не могу придумать даже в теории.
ЗЫ. Если это важно, у меня Lazarus, не Delphi.
Ответить с цитированием
  #2  
Старый 14.07.2019, 12:55
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
Сообщение

А есть ли в Lazarus компонент ShellListView?
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
  #3  
Старый 14.07.2019, 19:32
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,003
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Да можно и через обычный ListView сделать. Просто кода надо будет чуть побольше, зато будет полный контроль.
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
Dreammaster (15.07.2019)
  #4  
Старый 15.07.2019, 05:01
Dreammaster Dreammaster вне форума
Прохожий
 
Регистрация: 11.06.2014
Сообщения: 36
Версия Delphi: RAD Studio XE3
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
можно и через обычный ListView сделать.
Спасибо за наводку. Буду копать в сторону ListView. Пока тему не закрываю, вопросы однозначно ещё появятся.
Ответить с цитированием
  #5  
Старый 15.07.2019, 06:19
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,003
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Собственно, тебе просто надо считать файлы ярлыков (кстати, если делаешь свой код на основе простого ListView, то они не обязательно должны быть именно .lnk, можно свой формат сделать, который тебе удобен), создать соотв. итемы в лист вью и обратотать двойной клик по итему. Вроде и все, остальное, типа сохранение позиций, сортировка и т.д. - это уже дополнения, не влияющие на основной функционал.
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
Dreammaster (25.11.2019)
  #6  
Старый 25.11.2019, 14:23
Dreammaster Dreammaster вне форума
Прохожий
 
Регистрация: 11.06.2014
Сообщения: 36
Версия Delphi: RAD Studio XE3
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Собственно, тебе просто надо считать файлы ярлыков (кстати, если делаешь свой код на основе простого ListView, то они не обязательно должны быть именно .lnk, можно свой формат сделать, который тебе удобен), создать соотв. итемы в лист вью и обратотать двойной клик по итему. Вроде и все, остальное, типа сохранение позиций, сортировка и т.д. - это уже дополнения, не влияющие на основной функционал.
Здравствуйте. Прошу прощения за долгое молчание. Только сейчас добрался до программы. Не могли бы привести пример реализации списка файлов из папки в ListView? И, если не затруднит, объяснить как получить иконки. Чтобы на форме получились полноценные ярлыки.
Ответить с цитированием
  #7  
Старый 25.11.2019, 20:21
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,003
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Некогда код искать.
Суть такова.
1. Надо получить из системы системный список иконок. Вот тут есть подходящий пример: http://www.delphigroups.info/2/1f/290636.html
2. Далее через FindFirst/FindNext/FindClose получаем список файлов/папок.
3. При нахождении очередного файла запрашиваем индекс его иконки и при создании ListItem назначаем его.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:37.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter