Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Показать диалог для организации избранных документов

Delphi , Программа и Интерфейс , Диалоги и Фреймы

Показать диалог для организации избранных документов

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

uses
   SHDocVw, ShlObj, ShellApi;

 {....}

 function OrganizeFavorite(h: THandle; path: PChar): Boolean;
   stdcall external 'shdocvw.dll' Name 'DoOrganizeFavDlg';


 {....}


 function GetSpecialFolderPath(CallerHandle: THandle; CSIDL: Integer): PChar;
 var
   exInfo: TShellExecuteInfo;
   Buf: PChar;
 begin
   // initialize all fields to 0 
  FillChar(exInfo, SizeOf(exInfo), 0);
   with exInfo do
   begin
     cbSize := SizeOf(exInfo);
      fMask  := SEE_MASK_FLAG_DDEWAIT or SEE_MASK_IDLIST;
     Wnd    := CallerHandle;
     nShow  := SW_SHOWNORMAL;
     Buf    := StrAlloc(MAX_PATH);
     SHGetSpecialFolderPath(wnd, Buf, CSIDL, True);
     Result := Buf;
   end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   OrganizeFavorite(Handle, GetSpecialFolderPath(Handle, CSIDL_FAVORITES));
 end;

Заголовок Диалога: Организовать Избранные Документы

Основная Функциональность: Программа позволяет пользователям организовывать свои избранные документы, вызывая функцию OrganizeFavorite. Эта функция использует библиотеки SHDocVw и ShlObj, чтобы взаимодействовать с оболочкой.

Процедура GetSpecialFolderPath: Эта процедура используется для получения пути к специальному папке, например, папки Избранное. Она принимает два параметра: CallerHandle, который является handle вызывающего окна, и CSIDL, которое является целым числом, указывающим тип папки (в этом случае, папка Избранное).

Процедура Button1Click: Когда кнопка "Организовать Избранные Документы" кликается, она вызывает функцию OrganizeFavorite с двумя параметрами:

  • Handle: Это handle вызывающего окна.
  • GetSpecialFolderPath(Handle, CSIDL_FAVORITES): Это получает путь к папке Избранное, используя процедуру GetSpecialFolderPath.

Функция OrganizeFavorite затем использует этот путь для организации избранных документов.

Альтернативное Решение: Вместо жесткого кодирования пути к папке Избранное, вы могли создать комбо-бокс, который позволяет пользователям выбрать свою предпочтительную папку. Затем вы передаете выбраный путь папки в функцию OrganizeFavorite как параметр. Это сделает программу более пользовательски и гибкой.

Пример:

var
  FolderCombo: TComboBox;

...

procedure TForm1.Button1Click(Sender: TObject);
begin
  OrganizeFavorite(Handle, FolderCombo.Text);
end;

В этом примере FolderCombo - это комбо-бокс, содержащий список путей папок. Когда кнопка кликается, она вызывает функцию OrganizeFavorite с двумя параметрами:

  • Handle: Это handle вызывающего окна.
  • FolderCombo.Text: Это получает выбраный путь папки из комбо-бокса.

Эта APPROACH позволит пользователям легко переключаться между разными папками и организовывать свои документы соответственно.

В статье описывается код на Delphi для организации избранных документов, используя диалог для управления папкой 'Избранное' в Windows.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Диалоги и Фреймы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 09:18:19/0.0079119205474854/1