wm-help.net -> Электронная библиотека -> Delphi -> Вопросы и Ответы по Delphi -> Вопрос и Ответ 18 -> Версия для печати

Вопрос и Ответ 18

Вопрос и Ответ 18

Вопросы и Ответы


      18. Можно ли в Delphi создать хранитель экрана совместимый со стандартными хранителями Windows?

      Конечно можно! Для этого необходимо выполнить следующие шаги:

      1. В файл проекта (*.DPR) добавить строку {$D SCRNSAVE <название хранителя>} после строки подключения модулей (Uses...).
      2. У окна формы убрать системное меню, кнопки и придать свойству WindowState значение wsMaximize.
      3. Предусмотреть выход из хранителя при нажатии на клавиши клавиатуры, мыши и при перемещении курсора мыши.
      4. Проверить параметры с которым был вызван хранитель и если это /c - показать окно настройки хранителя, а иначе (можно проверять на /s, а можно и не проверять) сам хранитель.
      5. Скомпилировать хранитель экрана.
      6. Переименовать *.EXE файл в файл *.SCR и скопировать его в каталог WINDOWS\SYSTEM\.
      7. Установить новый хранитель в настройках системы!

      Название хранителя может состоять из нескольких слов с пробелами, на любом языке.

      При работе хранителя необходимо прятать курсор мыши, только не забывайте восстанавливать его после выхода.

      Все параметры и настройки храните в файле .INI, так как хранитель и окно настройки не связаны друг с другом напрямую.

      Старайтесь сделать свой хранитель как можно меньше и быстрее. Иначе ваши долго работающие (в фоновом режиме) приложения будут работать еше дольше!

      Пример:

      Данный пример довольно большой и стоит скопировать его архив, а здесь рассмотрены основные моменты.

      ............

      {в файле *.DPR}
      {$D SCRNSAVE Пример хранителя экрана}

      ............

      {проверить переданные параметры}
      IF (ParamStr(1) = '/c') OR (ParamStr(1) = '/C') THEN

        ............

      ............

      {скрыть курсор мыши}
      ShowCursor(False);

      ............

      {восстановить курсор мыши}
      ShowCursor(True);

      ............


...предыдущая страница следующая...
оглавление

Rambler's Top100