Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УчебноеПособие по VB_6.doc
Скачиваний:
21
Добавлен:
24.12.2018
Размер:
3.17 Mб
Скачать

Метод Scale

Для установки другого масштаба, пользовательского, используется метод Scale. Синтаксис метода:

[имяОбъекта]. Scale (x1,y1) – (x2,y2)

где x1,y1 – координаты верхнего левого угла экрана; x2,y2- координаты правого нижнего угла экрана.

При отрицательных значениях координат меняется ориентация объекта.

Scale(-5,-10)-(5,10) ‘ исходная, экранная система координат

Scale(-5,10)-(5,-10) ‘ изменена ориентация оси Y

Можно использовать и такой способ установки координат:

Object. ScaleLeft =xxxx - левый угол (верхний)

Object. ScaleTop = xxxx - верхний угол (левый)

Например:

Picture1. ScaleLeft =100 - левый угол (верхний)

Picture1. ScaleTop = 50 - верхний угол (левый)

Можно также использовать для установки пользовательской системы измерений значение свойств ScaleWidth, ScaleHeight:

ScaleWidth = 3200 - масштаб по ширине

ScaleHeight = 2000 - масштаб по высоте.

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

Объект Screen

Экран в VB представляет собой системный объект Screen. Наряду с объектом Screen существует и свойство Screen объекта Global.

Поскольку имеется только один единственный экран Windows, переменная типа Screen не объявляется, а используется системный объект Screen.

Объект Screen имеет ряд свойств:

ActiveControl - определяет активный элемент управления;

ActiveForm - определяет активную форму;

FontCount - количество доступных шрифтов;

Fonts( ) - возвращает имена всех доступных шрифтов;

Height - высота экрана;

MouseIcon - позволяет установить пользовательскую пиктограмму для курсора мыши;

TwipsPerPixelX - количество твипов в пикселе (разрешение по горизонтали);

TwipsPerPixelY - количество твипов в пикселе (разрешение по вертикали);

Width - ширина экрана.

Параметры экрана по умолчанию измеряются в твипах:

HeightInTwips = Screen.Height

WidthInTwips = Screen.Width

Эти параметры можно пересчитать и в пиксели:

HeigtInPixel = Screen.Height / Screen.TwipsPerPixelY

WidthInPixel = Screen.Width / Screen.TwipsPerPixelX

Свойство ActiveControl позволяет обращаться к объектам без указания конкретного объекта. Чтобы обратиться к активному элементу, нужно написать текст программы следующего вида

Screen.ActiveControl.Свойство

Например:

Private Sub mnuDelete_Click ( )

‘Удаление выделенного текста.

Screen. ActiveControl.SelText =””

End Sub.

Аналогично обращаются и к активной форме:

Screen.ActiveForm.ActiveControl.SelText = “”

Ключевое слово TypeOf позволяет проверить тип активного элемента управления:

Private Sub mnuDelete_Click()

If TypeOf Screen.ActiveControl Is TextBox Then

'Удаляется текст.

Screen.ActiveControl.SelText = ""

ElseIf TypeOf Screen.ActiveControl Is PictureBox Then

'Удаляется рисунок

Screen.ActiveControl.Picture = LoadPicture()

End If

End Sub

В данной процедуре делается проверка: если активный элемент TextBox, то удаляется выделенный текст, а если активным является элемент PictureBox, то удаляется рисунок (удаление рисунка осуществляется путем загрузки “пустого” рисунка – LoadPicture ()).

В приведенном примере текст программы включен в обработчик события пункта меню. Пункт меню не имеет фокуса. Нельзя использовать для удаления теста кнопку, так как она имеет фокус. Поэтому при щелчке мышью по кнопке она получает фокус и программа будет пытаться удалить текст с кнопки, но так как кнопка не имеет свойства SelText, то будет выдано сообщение об ошибке.