- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Программирование для карманных компьютеров - Владимир Волков
Шрифт:
Интервал:
Закладка:
В табл. 3.2 приведено описание свойств компонента Form.
Таблица 3.2. Свойства компонента FormСобытия компонента Form
В этом разделе описываются события компонента Form. Все они приведены в табл. 3.3.
Таблица 3.3. События компонента FormУпражнение 3.4
Рто упражнение демонстрирует работу СЃ методами объекта Form.
1. Создать новый проект с формой и сохранить его в папке FormMethods, задав имя файла FormMethods.ebp. Будет создан проект с формой Form1.
2. Нажать кнопку AddForm, что приведет к добавлению к проекту еще одной формы с именем Form2.
3. Разместить на форме Form1 две кнопки так, как это показано на рис. 3.19.
Рис. 3.19. Размещение кнопок на форме Form1.4. Пользуясь инспектором свойств, установить для формы Form1 значение true для свойства AutoRedraw и значение 20 для свойства DrawWidth. Остальным свойствам можно оставить их значения по умолчанию.
5. В окне Project Explorer выбрать форму Form2. Необходимые значения свойств для этой формы приведены в табл. 3.4. Остальные свойства нужно оставить без изменений.
Таблица 3.4. Свойства формы Form26. Форма изменит цвет и размеры. На форме Form2 требуется разместить компонент Timer, как это показано на рис. 3.20.
Рис. 3.20. Форма Form2 после редактирования свойств и размещения таймера.7. Щелчком мыши выделить компонент Timer1 и для его свойства Interval установить значение 150.
8. Двойным щелчком мыши на компоненте Timer1 создать подпрограмму обработки события одного тика таймера и ввести в нее код, приведенный в листинге 3.3.
Листинг 3.3Private Sub Timer1_Timer()
i=i+a
j=j+b
If i > 1600 Then a = – a: BackColor = &HFF&:
DrawCircle 500, 500, 400, &HFF00FF:
DrawLine 1100, 1100, 1800, 1800, &HFF00FF, vbLineBoxFill
If j > 2500 Then b = – b: BackColor = &HFFFF&:
DrawCircle 500, 500, 400, &HFF00FF:
DrawLine 1100, 1100, 1800, 1800, &HFF00FF, vbLineBoxFill
If i < 0 Then a = – a: BackColor = &HFF00&:
DrawCircle 500, 500, 400, &HFF00FF:
DrawLine 1100, 1100, 1800, 1800, &HFF00FF, vbLineBoxFill
If j < 0 Then b = – b: BackColor = &HFF0000:
DrawCircle 500, 500, 400, &HFF00FF:
DrawLine 1100, 1100, 1800, 1800, &HFF00FF, vbLineBoxFill
Move i, j
End SubРтот РєРѕРґ демонстрирует применение методов DrawCircle, DrawLine Рё Move для того, чтобы перемещать форму Form2 Рё рисовать РЅР° ее поверхности РєСЂСѓРі Рё прямоугольник.
9. Кроме кода обработчика события тика таймера необходимо после строки Option Explicit ввести еще один блок кода объявления и инициализации переменных, приведенный в листинге 3.4.
Листинг 3.4Dim a, b, i, j
i=0
j=0
a = 100
b = 5010. В окне Project Explorer необходимо переключиться на объект Form1. Для кнопок Command1 и Command2 свойство Caption должно получить значения Показать и Очистить соответственно.
11. Двойным щелчком на кнопке Command1 создать обработчик события щелчка на кнопке и ввести для него код, приведенный в листинге 3.5.
Листинг 3.5Private Sub Command1_Click()
If ShFrm2 Then
Form2.Show
ShFrm2 = False
Command1.Caption = «Скрыть»
Else
Form2.Hide
ShFrm2 = True
Command1.Caption = «Показать»
End If
End SubРтот метод демонстрирует применение методов Show Рё Hide для отображения Рё скрытия формы Form2 РїСЂРё нажатии РєРЅРѕРїРєРё Command1.
12. Двойным щелчком на кнопке Command2 создать обработчик события щелчка на кнопке и ввести для него код, приведенный в листинге 3.6.
Листинг 3.6Private Sub Command2_Click()
Cls
Form2.Z0rder vbBringToFront
End SubКоманда Cls очищает поверхность формы Form1 от нарисованных на ней линий, а метод ZOrder выводит форму Form2 на передний план после выполнения этой команды. Без этого метода она становится невидимой, так как ее заслоняет форма Form1.
13. Ввести еще один блок кода в этом же модуле, приведенный в листинге 3.7.
Листинг 3.7Private Sub Form_Load()
DrawLine 1100, 1100, 9000, 18000, &HFF&
DrawLine 1100, 1100, 18000, 10000, &HFF&
DrawLine 1100, 1100, 18000, 18000, &HFF&
End SubПри помощи этого кода в момент загрузки формы Form1 на ней будут нарисованы три линии красного цвета.
14. В начале этого же блока следует объявить и проинициализировать переменную, которая будет хранить состояние формы. Делается это при помощи кода, приведенного в листинге 3.8.
Листинг 3.8Option Explicit
Dim ShFrm2 As Boolear
ShFrm2 = True15. Сохранить проект. В качестве целевого устройства нужно выбрать в списке значение Pocket PC 2002 Emulation, после чего следует выполнить команду Run ? Execute. На экран эмулятора будет выведена форма Form1 с нарисованными на ней линиями. После нажатия кнопки Показать на экран будет выведена форма Form2 с нарисованными на ней окружностью и квадратом, а надпись на кнопке изменится на Скрыть (рис. 3.21).
Р РёСЃ.В 3.21. Программа FormMethods РІ работе/Форма Form2 будет перемещаться РїРѕ экрану Рё изменять цвет РІ момент столкновения СЃ границами экрана. Нажатие РєРЅРѕРїРєРё Очистить приведет Рє тому, что Р±СѓРґСѓС‚ стерты линии СЃ поверхности формы Form1. РџСЂРё работе СЃ приложением стоит несколько раз скрыть Рё СЃРЅРѕРІР° отобразить форму Form2. Рто покажет, что форма РЅРµ уничтожается РїСЂРё скрытии Рё продолжает СЃРІРѕРµ перемещение РІ невидимом состоянии.
Упражнение 3.5
Рто упражнение демонстрирует, как работают события объекта Form.
1. Создать новый проект с формой и сохранить его под именем FormEvents.
2. Разместить на форме компоненты TextBox, ListBox и три кнопки CommandButton так, как это показано на рис. 3.22.
Рис. 3.22. Размещение компонентов на форме.3. При помощи инспектора свойств нужно установить значения свойств для компонентов. Все необходимые значения приведены в табл. 3.5. Таблица 3.5. Значения свойств кнопок

