Прототип к варианту 9 - Информация о системе

Страницы работы

Фрагмент текста работы

Прототип к варианту 9 - Информация о системе

Использование программы Syslnfo

Список и связанная с ним надпись отображаются на экране только в режиме вывода системных цветов командой меню System > Col ors. При выделении любой строки в списке фон надписи окрашивается в выбранный системный цвет.

На форме присутствуют два текстовых поля. Когда фокус принадлежит верхнему полю, при нажатии любой клавиши в поле отображается ее имя. Если фокус ввода находится в нижнем поле, в нем создается и отображается квадратная каретка.

Надпись в правом нижнем углу формы используется в сочетании с таймером для вывода текущего состояния клавиш CapsLock, NumLock и ScrollLock.

Описание проекта

Проект Syslnfo состоит из трех файлов. В программе используется всего одна форма, SYSINFO.FRM. Файл SYSINFO.BAS представляет собой единственный модуль программы, в котором находятся объявления констант и функций. В программе также используется файл VBPGUTIL.BAS — набор вспомогательных функций общего назначения, прилагаемый к книге.

Проект Syslnfo был получен в результате переноса исходной 16-разрядной версии приложения Syslnfo из предыдущего издания этой книги. В версии программы для VB4 была сохранена совместимость с 16-разрядным Visual Basic 4.0. Это помогает продемонстрировать различия между двумя платформами.

Описание формы

В листинге 6.2 приведен заголовок файла SYSINFO.FRM, описывающий расположение элементов на форме. На рис. 6.4 показана форма Syslnfo на стадии конструирования (чтобы вам было проще разобраться с расположением элементов).

Таймер Timerl используется для обновления состояния клавиш в элементе LabelKeyState. Если в настоящее время вы отображаете состояние клавиш при помощи специального элемента, я настоятельно рекомендую удалить его и заменить программным кодом в проекте. Замена элемента несколькими простыми вызовами функций API экономит память и ресурсы, а также повышает быстродействие приложения — не говоря уже о сокращении числа элементов, которые приходится распространять с приложением.

При выборе команды меню System > Col ors список ListColor становится видимым и заполняется перечнем объектов Windows, с которыми связаны системные цвета.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ;г,м

Когда фокус передается элементу KeyCheck, при нажатии любой клавиши ее имя отображается в текстовом поле. Для букв имя клавиши совпадает с введенным символом. Для управляющих и функциональных клавиш имя представляет собой описание клавиши.

В качестве цвета фона элемента LabelColor назначается системный цвет объекта, выделенного в списке ListColor.

При поступлении очередного события таймера в элементе LabelKeyState отображается обновленное состояние клавиш CapsLock, NumLock и ScrollLock.

Команды меню MenuGeneral предназначены для получения статистики о системе. Первая команда не реализована для Win32. Две другие команды выводят информацию о времени и используемом оборудовании.

Команды меню MenuSystem используются для определения цветов различных системных объектов, а также для просмотра других системных характеристик, включая информацию о стандартных размерах объектов, данных локального контекста и дополнительных системных параметров.

Программный код Syslnfo

Модуль SYSINFO.BAS (листинг 6.3) содержит объявления констант и глобальных переменных, используемых программой.

Листинг 6.3. SYSINFO.BAS

Константы API, используемые в этом приложений, можно найти в файле приложения на компакт-диске и в файле API32.TXT. Константы Winl6 (смешанные с остальными) определяются в файле API16.TXT. В этом приложении используются константы со следующими префиксами: GFSR_, WF_, VK_, COLOR., SM_, VER_, SPI_, SPIF_, EWX_, PROCESSOR, и LOCALE_. Значения этих констант изменились по сравнению с Winl6. В процессе переноса проекта проще всего удалить все старые константы и добавить новые в расчете на то, что компилятор Visual Basic найдет все необъявленные константы (не забудьте включить команду Option Explicit во все модули и формы

Похожие материалы

Информация о работе