Delphi. Трюки и эффекты. Александр Чиртик

Чтение книги онлайн.

Читать онлайн книгу Delphi. Трюки и эффекты - Александр Чиртик страница 27

Жанр:
Серия:
Издательство:
Delphi. Трюки и эффекты - Александр Чиртик

Скачать книгу

ShowConnection возвращает True в случае удачного подключения и False в противном случае.

      Окно отключения сетевого диска приведено на рис. 2.7.

      Рис. 2.7. Отключение сетевого ресурса

      Функция, показывающая окно отключения сетевого диска, приведена в листинге 2.31.

Листинг 2.31. Окно отключения сетевого ресурса

      function ShowDisconnect(): BOOL;

      begin

      ShowDisconnect :=

      WNetDisconnectDialog(hParentWnd, RESOURCETYPE_DISK) = NO_ERROR;

      end;

      Аналогично ShowConnection функция ShowDisconnect возвращает True, если отсоединен хотя бы один диск, и False в противном случае.

      Системное окно «О программе»

      Этот последний и довольно экзотичный пример приведен на случай, если возникнет желание или необходимость использовать красивое окно О программе, которое выводится для самой операционной системы Windows и ее компонентов. Процедура выведения этого окна приведена в листинге 2.32.

Листинг 2.32. Окно «О программе»

      procedure ShowAbout(strAppName: string; strInfo: string);

      begin

      ShellAbout(hParentWnd, PAnsiChar(strAppName),

      PAnsiChar(strInfo),LoadIcon(0, IDI_ASTERISK));

      end;

      Правда, в окне О программе Windows ХР на информацию о приложении отведено всего две строки (и место для значка слева от окна). Все остальное место занимают информация о регистрации операционной системы и фирменная эмблема Microsoft Windows ХР.

      Демонстрационное приложение

      Теперь пришла очередь рассмотреть небольшое приложение, использующее описанные выше диалоговые окна (проект StandartWindows). Окно этого приложения приводится на рис. 2.8.

      Рис. 2.8. Окно демонстрационного приложения

      Размер ЕХЕ-файла приложения равен 22 Кбайт.

      В листинге 2.33 приводятся объявления используемых глобальных переменных, а также код, реализующий создание окна и элементов управления в нем, цикл обработки сообщений (файл StandartWindows. dpr). Функции работы с рассмотренными выше диалоговыми окнами вынесены в отдельный модуль StdWindows (файл StdWindows.pas). В этом и следующем листинге используются уже знакомые вам функции из модуля Controls.

Листинг 2.33. Глобальные переменные, код создания окна и цикл обработки сообщений

      program StandartWindows;

      {$R *.res}

      uses

      Windows, Messages, CommDlg,

      Controls in 'Controls.pas',

      StdWindows in 'StdWindows.pas';

      var

      hMainWnd: HWND;

      hInst: Cardinal;

      mess: MSG;

      curColor: COLORREF;

      font: LOGFONT;

      hCurFont: HFONT;

      …

      function RegisterWindow():Boolean;

      …

      begin

      hInst := GetModuleHandle(nil);

      //Регистрация и создание главного окна

      if not RegisterWindow() then Exit;

      hMainWnd := CreateWindow(

      'MyWindowClass', //Имя класса окна

      'Стандартные окна Windows', //Заголовок окна

      WS_CAPTION or WS_SYSMENU or WS_CLIPCHILDREN or WS_CLIPSIBLINGS,

      CW_USEDEFAULT, //Координата X по умолчанию

      CW_USEDEFAULT, //Координата Y по умолчанию

      470, 420,

      HWND(nil), //Нет родительского окна

      HMENU(nil),

Скачать книгу