Показать диалог для запуска приложения 2Delphi , Программа и Интерфейс , Диалоги и ФреймыПоказать диалог для запуска приложения 2
Оформил: DeeCo { This code uses the undocumented RunFileDlg function to show the "run" dialog } { Dieser Code verwendet die undokumentierte RunFileDlg Funktion, um den Ausfuhren Dialog anzuzeigen } // For Win NT procedure RunFileDlgW(OwnerWnd: HWND; Icon: HICON; lpstrDirectory: PWideChar; lpstrTitle: PWideChar; lpstrDescription: PWideChar; Flags: Longint); stdcall; external 'Shell32.dll' Index 61; // For Win 9x (Win NT to show standard captions ) procedure RunFileDlg(OwnerWnd: HWND; Icon: HICON; lpstrDirectory: PChar; lpstrTitle: PChar; lpstrDescription: PChar; Flags: Longint); stdcall; external 'Shell32.dll' Index 61; const RFF_NOBROWSE = 1; //Removes the browse button. RFF_NODEFAULT = 2; // No default item selected. RFF_CALCDIRECTORY = 4; // Calculates the working directory from the file name. RFF_NOLABEL = 8; // Removes the edit box label. RFF_NOSEPARATEMEM = 14; // Removes the Separate Memory Space check box (Windows NT only). function ShowRunFileDialg(OwnerWnd: HWND; InitialDir, Title, Description: PChar; flags: Integer; StandardCaptions: Boolean): Boolean; var HideBrowseButton: Boolean; TitleWideChar, InitialDirWideChar, DescriptionWideChar: PWideChar; Size: Integer; begin if (Win32Platform = VER_PLATFORM_WIN32_NT) and not StandardCaptions then begin Size := SizeOf(WideChar) * MAX_PATH; InitialDirWideChar := nil; TitleWideChar := nil; DescriptionWideChar := nil; GetMem(InitialDirWideChar, Size); GetMem(TitleWideChar, Size); GetMem(DescriptionWideChar, Size); StringToWideChar(InitialDir, InitialDirWideChar, MAX_PATH); StringToWideChar(Title, TitleWideChar, MAX_PATH); StringToWideChar(Description, DescriptionWideChar, MAX_PATH); try RunFileDlgW(OwnerWnd, 0, InitialDirWideChar, TitleWideChar, DescriptionWideChar, Flags); finally FreeMem(InitialDirWideChar); FreeMem(TitleWideChar); FreeMem(DescriptionWideChar); end; end else RunFileDlg(OwnerWnd, 0, PChar(InitialDir), PChar(Title), PChar(Description), Flags); end; procedure TForm1.Button1Click(Sender: TObject); begin ShowRunFileDialg(FindWindow('Shell_TrayWnd', nil), nil, nil, nil, RFF_NOBROWSE, True); end; Программирование приложения с помощью процедуры | | | Диалог выбора файла | | | [Поле редактирования] [Кнопка просмотра] [ОК] [Отмена] Начальный каталог: [путь к начальному каталогу] Заголовок: [заголовок диалога выбора файла] Описание: [описание диалога выбора файла] Флаги: RFF_НОБРОВСЕ (1) - Удаляет кнопку просмотра RFF_НОДЕФАУЛЬТ (2) - Не выбирается по умолчанию RFF_КАЛКУЛИРУЕТПЕРЕХОД (4) - Вычисляет рабочий каталог из имени файла RFF_НОВЫЙЛАБЕЛЬ (8) - Удаляет метку поля редактирования RFF_НОСЕПАРАТМЕМ (14) - Удаляет чекбокс "Отдельное пространство памяти" (только для Windows NT) Когда вы нажмете кнопку "ОК", диалог вернет булевое значение, указывающее, выбрал ли пользователь файл или нет. В этом примере событийный обработчик
Процедура отобразит диалог выбора файла с полем редактирования и кнопкой просмотра. Пользователь может выбрать файл или ввести путь в поле редактирования, а затем нажать "ОК", чтобы продолжить. Если пользователь нажмет "Отмена", диалог вернет Показать диалог для запуска приложения 2 - код на Delphi, использующий функцию RunFileDlg для отображения диалога запуска. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Диалоги и Фреймы ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |