![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Edit1.Text:=Edit1.Text+ListView1.Selected.Caption+'\';
AddFile(Edit1.Text+'*.*',faAnyFile)
end
else
// Если нет, то это файл и я его запускаю.
ShellExecute(Application.MainForm.Handle, nil,
PChar(Edit1.Text+ListView1.Selected.Caption), '',
PChar(Edit1.Text), SW_SHOW);
end;
В этом коде я в самом начале проверяю по чём мы щёлкнули. Если это директория, то надо перейти в неё, а если файл, то надо его запустить. Для этого я проверяю 5-й дополнительный параметр выделенного элемента: ListView1.Selected.SubItems[5]=’dir’. Когда я добавлял элементы и дополнительные параметры в ListView, то в качестве 5-го указывал для директорий значение ‘dir’, а для файлов ‘file’. Теперь мне надо только проверить этот параметр.
Если выделенная строка – это директория, то я изменяю значение текущей директории в Edit1.Text и перечитываю её с помощью вызова AddFile, указав новое значение директории.
Если выделенная строка – это файл, то его надо запустить. Я люблю это делать с помощью вызова функции ShellExecute. У этой функции следующие параметры:
1. 1. Программа, отвечающая за запуск приложения. Тут можно указать nil, но я указал главное окно моей программы (Application.MainForm.Handle).
2. 2. Строка, указывающая на операцию, которую надо выполнить. Укажем nil для запуска файла.
3. 3. Строка содержащая полный путь к файлу.
4. 4. Строка параметров передаваемых программе в командной строке.
5. 5. Директория по умолчанию.
6. 6. Команда показа. Здесь я указал SW_SHOW для нормального отображения окна. Можно указать и другие параметры (все ты найдёшь в файле помощи), но чаще всего используются SW_SHOW (нормальный режим), SW_SHOWMAXIMIZED (показать максимизировано) или SW_SHOWMINIMIZED (показать в свёрнутом состоянии).
Функция ShellExecute объявлена в модуле Shellapi, поэтому его необходимо добавить в раздел uses, иначе Delphi не сможет откомпилировать проект.
На компакт диске, в директории \Примеры\Глава 11\ListView ты можеш ь увидеть приме р это й программы.
11.23 Подсказки для чайников (TStatusBar)
сли ОС unix создавалась для профессионалов, то Windows создавалась для пользователей, чтобы им легче было работать. Потом она превратилась в ОС для чайников, ну а сейчас Windows превратили в ОС для полных кретинов,
которые с компьютером полностью несовместимы. Так что теперь для успеха любой программы нужно обязательно делать большое количество подсказок, потому что кретины не умеют читать мануалы и файлы помощи. Сейчас уже надо чтобы любой мог сесть за компьютер и сразу начинал работать.
Самым первым способом облегчения жизни бедным юзерам стали строки состояния. Они и сейчас широко используются, потому что просты в использовании и удобны в обращении. Именно с этим компонентом мы сейчас и познакомимся.
- TStatusBar
Поставить компонент на форму, это ещё не значит, что подсказки сразу же сами появятся на панели. Для полноценной работы надо выполнить следующее:
1. 1. У компонента, при наведении на который должна отображаться подсказка, в свойстве Hint должен быть внесён текст подсказки.
2. 2. Если ты хочешь, чтобы подсказка выскакивала не только в строке состояния, но и над компонентом, то у него или у родительского окна в свойстве ShowHint нужно установить true.
3. 3. Мы должны создать обработчик события на подсказки.
Может это звучит сложно, но реально всё просто. Создай новое приложение и брось на него кнопку. Теперь в свойстве Hint напиши «Это кнопка выхода».
Попробуй запустить приложение и навести на кнопку. Никаких сообщений и подсказок пока не должно быть. Закрой программу и переходи опять в Delphi. Теперь попробуй установить в свойстве ShowHint у компонента или у главной формы значение true. Если ты установишь только у компонента, то подсказка будет выскакивать только у него. Если у формы, то подсказка будет появляться у всех компонентов на форме, у которых есть текст в свойстве Hint и ParentShowHint равно true.
Можешь запустить приложение и проверить появление подсказки.
Теперь мы добавим к нашему приложению возможность отображения такого же текста в строке состояния. Брось на форму компонент TStatusBar. Теперь перейди в редактор кода и найди раздел private. В нём добавь объявление процедуры ShowHint:
Дата публикования: 2014-11-04; Прочитано: 367 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!