- •Для специальности
- •230105.51 (2203) Программное обеспечение вычислительной техники и автоматизированных систем
- •Рецензенты: о.В. Фаллер, преподаватель Колледжа МосГу;
- •Содержание
- •7.8. Организация программных комплексов 56
- •7.8. Организация программных комплексов 53
- •1.2. Запуск операционной системы
- •1.3. Координация действий при работе эвм
- •Пояснительная записка
- •1. Общие вопросы теории операционных систем
- •1.1. Классификация программного обеспечения
- •1.4. Понятие файловой системы
- •1.5. Схема отыскания кластеров файла на диске в файловой системе fat16
- •2. Командный язык для управления системой
- •2.1. Особенности командного языка
- •2.2. Организация пакетной обработки информации
- •2.2.1. Формальные параметры командных файлов
- •2.2.2. Дополнительные возможности пакетной обработки. Утилита be
- •3. Конфигурирование ядра ос на примере ms dos
- •3.1. Файл config.Sys
- •3.2. Управление распределением оперативной памяти в реальном режиме работы процессора
- •3.3. Файл автозагрузки autoexec.Bat
- •4. Типы программ
- •5. Системный сервис ms dos
- •6. Организация программных комплексов
- •6.1. Код возврата программы
- •6.2. Программный хвост
- •6.3. Окружение программы
- •6.4. Запуск одной программы из другой
- •6.5. Макрокоманды
- •Пример использования макрокоманды:
- •6.6. Создание процедур и передача параметров
- •6.7. Межсегментный вызов процедур
- •6.8. Модульный принцип построения программ
- •7. Ос Windows. Особенности работы
- •7.1. Работа с файловой системой. Ms Visual Basic ver 6.0
- •7.2. Api Интерфейс Windows на примере Visual Basic ver 6.0
- •7.3. Работа с буфером обмена
- •7.4. Работа со шрифтами
- •7.5. Работа с клавиатурой и мышью
- •7.6. Ole Технология
- •7.7. Работа с мультимедиа
- •7.8. Организация программных комплексов
- •7.9. Sdi и mdi программы
- •8. Разработка справочных систем для Windows 32x
- •8.1. Формат справки WinHelp
- •8.2. Подготовка справочного файла с помощью программы Windows Help Designer
- •8.3. Подключение справочной системы к программе
- •8.4. Разработка справочных систем в формате html
- •8.4.1. Создание тем справочной службы
- •8.4.2. Создание проекта справочной службы
- •8.4.3. Формирование оглавления
- •8.4.4. Задание поисковых индексов
- •8.5. Подключение справочных файлов к программам на Visual Basic
- •9. Общая архитектура операционных систем
- •9.1. Архитектура ос
- •9.2. Ядро и вспомогательные модули ос
- •9.3. Ядро в привилегированном режиме
- •9.4. Многослойная структура ос
- •9.5. Аппаратная зависимость и переносимость ос
- •9.6. Типовые средства аппаратной поддержки ос
- •9.7. Машинно-зависимые компоненты ос
- •9.8. Переносимость операционной системы
- •9.9. Концепция микроядерной архитектуры
- •9.10. Преимущества и недостатки микроядерной архитектуры
- •9.11. Совместимость и множественные прикладные среды
- •9.12. Двоичная совместимость и совместимость исходных текстов
- •9.13. Трансляция библиотек
- •9.14. Способы реализации прикладных программных сред
- •Приложение. Некоторые функции системного сервиса msdos. Прерывание 21h Организация ввода с клавиатуры
- •Организация вывода
- •Файлы и каталоги
- •Запуск одной программы из другой
- •Литература
- •Для специальности
- •230105.51 (2203) Программное обеспечение вычислительной техники
7.4. Работа со шрифтами
В операционной системе Windows шрифты делятся на два основных класса экранные и принтерные. При разработке программ наибольший интерес представляют принтерные шрифты, так как они позволяют выводить документ в том виде как он отображается на экране. Для работы со шрифтами используется системный объект Visual Basic Printer. Основные свойства этого объекта: Fonts – массив наименований системных шрифтов, FontCount – число шрифтов в массиве.
Пример. Шрифтов и вывод их названий в виде списка
For i = 0 To Printer.FontCount
‘Заполнение списка
lstFonts.AddItem Printer.Fonts(i)
Next i
Обнаруженные наименования шрифтов можно использовать в программе, присваивая имя шрифта свойству Font визуальных компонентов форм.
7.5. Работа с клавиатурой и мышью
Большинство программ созданных для работы в среде MS Windows имеют GUI интерфейс (графический интерфейс пользователя). Для работы с такой программой используются определенные клавиатурные комбинации и действия, выполненные с помощью «мыши». Для работы с клавиатурой и «мышью» разработчик программы на Visual Basic может использовать следующие события:
Событие KeyPress. Возникает при нажатии клавиши, когда определенный визуальный компонент интерфейса находится в фокусе.
Private Sub idElement_KeyPress(KeyAscii As Integer)
‘Операторы
End Sub
Где KeyAscii – код нажатой клавиши.
События KeyUp, KeyDown. Порождаются когда пользователь отпускает клавишу, либо нажимает. Для отслеживания этих событий свойство формы KeyPreview формы должно получить значение TRUE. В общем виде события нажатия клавиш имеют структуру:
Private Sub Form_[KeyDown|KeyUp](KeyCode As Integer, Shift As Integer)
‘Код события
End Sub
KeyCode – код клавиши.
Shift – код регистровой клавиши.
В Visual Basic каждой клавише соответствует определенная константа. Например vbKeyA – клавиша A, vbKeyF – клавиша F. Регистр клавиши не учитывается.
Для учета регистровых клавиш используется параметр Shift. Который может принимать одно из следующих значений:
Константа |
Код |
vbShiftMask |
1 |
VbCtrlMask |
2 |
VbAltMask |
4 |
Отслеживание событий «мыши» выполняется с помощью событий:
MouseMove – порождается при перемещении курсора мыши, MouseDown –появляется при нажатии кнопки «мыши», MouseUp – порождается при отпускании кнопки мыши.
Формат события:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
‘Код события
End Sub
Button – код клавиши «мыши».
Shift – код регистровой клавиши.
X,Y – координаты курсора мыши.
Коды клавиш «мыши»:
Константа |
Код |
vbLeftButton |
1 |
vbRightButton |
2 |
vbMiddleButton |
4 |
Пример №1. Нажатие клавиши на командной кнопке.
Private Sub Command1_KeyPress(KeyAscii As Integer)
If KeyAscii = Asc("a") Then MsgBox (" Key - a ")
If KeyAscii = 27 Then MsgBox (" Key - ESC ! ")
End Sub
Пример №2. Проверка набора пользователем ключевого слова EGG при работе с формой. Если ключевое слово набрано, то выводится окно с текстом сообщения.
Dim buffer As String * 3
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
‘Буква Е
If KeyCode = vbKeyE And Shift = vbShiftMask Then
buffer = Mid(buffer, 2) + "E"
End If
‘Буква G
If KeyCode = vbKeyG And Shift = vbShiftMask Then
buffer = Mid(buffer, 2) + "G"
End If
‘Контрольное слово
If buffer = "EGG" Then
MsgBox "OK !", vbInformation, ""
buffer = ""
End If
End Sub
Пример №3. Отслеживание движения курсора «мыши». При нажатой левой кнопке координаты выводятся в заголовке формы.
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim mesXY As String
If Button = vbLeftButton Then ‘левая кнопка
mesXY = "X=" + Str(X) + " Y=" + Str(Y)
End If
Form1.Caption = mesXY ‘вывод координат
End Sub
