Фрейм выбора файла
Задайте в свойстве Filter диалога OpenDialog какой-то фильтр файлов, например, «все файлы|*.*». Свойство ShowHint (показать ярлычок подсказки) в компонентах Edit и Button установите в true. В кнопке Button кроме того можете написать текст подсказки Hint, например, «Выбор файла|Выбор файла из каталога».
В обработчик события OnShowHint компонента ApplicationEvents занесите оператор: if HintInfo.HintControl = Edit1 then begin HintStr := Edit1.Text; ApplicationEvents1.CancelDispatch; end;
Этот оператор в момент, когда должен отображаться ярлычок, проверяет, не является ли источником этого события (HintInfo.HintControl) окно редактирования Edit1. Если да, то текст ярлычка (HintStr) подменяется текстом, содержащимся в окне редактирования и принимаются меры (метод CancelDispatch), чтобы это событие не обрабатывалось другими компонентами ApplicationEvents, которые могут присутствовать в приложении. Пояснение всех этих операций см. в .
Теперь введите в модуль фрейма глобальную переменную FileName типа string, в которой будет отображаться выбранный файл. В обработчик щелчка на кнопке введите оператор if OpenDialog1.Execute then begin Edit1.Text := OpenDialog1.FileName; FileName := OpenDialog1.FileName; end; который вызывает диалог открытия файла и помещает в окно редактирования Edit1 и в переменную FileName имя файла, выбранного пользователем, вместе с путем к нему.
В обработчик события OnExit компонента Edit1 поместите оператор FileName := Edit1.Text; заносящий в переменную FileName имя файла, если пользователь не пользовался диалогом, а просто написал в окне имя файла.
Программирование фрейма закончено. Теперь создайте тестовую программу, использующую этот фрейм. Предположим, что вам нужно разместить на форме два фрагмента, описанных вами во фрейме. Перейдите в основной модуль вашего приложения и разместите на форме так, как вы уже делали, два объекта вашего фрейма (Рисунок 7.12 а).