Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Установление лимитов измерения окна




Установление начала координат

Установление единиц измерения

• В конструкторе проекта выделить желаемый графический объект PictureBox.

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

 

ScaleMode 6-Millimeter

 

По умолчанию графическое окно имеет следующую систему координат:

 

 

Чтобы поместить начало отсчета координат в новое место со значениями X0, Y0 надо задать программные строки, изменяющие свойства, например:

ris1.CurrentX = X0

ris1.CurrentY = Y0

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

Данная команда сразу устанавливает пределы измерения в прямоугольнике окна. А пределы измерения сразу определят логически начало координат и направление осей и единицы измерения. Данная строка обращается к методу объекта:

ris2.Scale (-3, 20)-(3, -20)


ФУНКЦИИ УПРАВЛЕНИЯ ЦВЕТОМ

Функция RGB возвращает числовое представление цвета (тип возвращаемого значения при этом long) в соответствии с интенсивностью трех цветовых составляющих. Интенсивность этих трех основных цветов задается шкалой чисел от О до 255.

RGB (Red, Green, Blue)

· Red — интенсивность красного цвета от 0 до 255;

· Green — интенсивность зеленого цвета от 0 до 255;

· Blue — интенсивность синего цвета от 0 до 255.

Например, чтобы сделать фон объекта бирюзовым, необходимо присвоить свойству BackColor формы следующее значение:

NameObject.BackColor = RGB (0,255,255)

Функция QBColor – предназначена для удобства работы со стандартными цветами и возвращает числовое представление одного из 16 цветов.

0Черный 1Синий 2Зеленый 3Бирюзовый 4Красный 5Пурпурный 6Желтый 7Белый 8Серый 9Светло-синий (голубой) 10Светло-зеленый 11Светло-бирюзовый 12Светло-красный 13Светло-пурпурный 14Светло-желтый 15Ярко-белый

 

QBColor (NumberColor)

NameObject.BackColor = QBColor(3)

 

Задачи на построение.

Задача 38. Запрашивается радиус круга. Напишите программу, которая вычисляет площадь этого круга и строит, в зависимости от введенного радиуса, окружность.

Private Sub Command1_Click()

Picture1.Scale (0, 0)-(100, 100)

a = Val(Text1)

s = 3.14 * a ^ 2

Picture1.Circle (50, 50), a, vbRed

Text2 = s

End Sub

 

Задача 37. Вычислите диагональ квадрата со стороной А и постройте на форме квадрат, в соответствии с введенной стороной.

Private Sub Command1_Click()

a = Val(Text1)

d = a * Sqr(2)

Text2 = d

Picture1.Scale (0, 0)-(200, 200)

Picture1.Line (50, 50)-(50 + a, 50 + a), vbRed, B

Picture1.Line (50, 50)-(50 + a, 50 + a), vbRed

End Sub

 

Задача 40. Запрашиваются диагонали ромба. Создайте проект, вычисляющий площадь ромба и строящий в соответствии с введенными диагоналями сам ромб.

 

Private Sub Command1_Click()

a = Val(Text1)

b = Val(Text2)

s = 1 / 2 * a * b

Text3 = s

c = b / 2

l = a / 2

Picture1.Scale (0, 0)-(300, 300)

Picture1.Line (50, 50)-(50, 50 + c)

Picture1.Line (50, 50 + c)-(50, (50 + c) + c)

Picture1.Line (50, 50 + c)-(50 - l, 50 + c)

Picture1.Line (50, 50 + c)-(50 + l, 50 + c)

Picture1.Line (50, 50)-(50 - l, 50 + c)

Picture1.Line (50 - l, 50 + c)-(50, (50 + c) + c)

Picture1.Line (50, (50 + c) + c)-(50 + l, 50 + c)

Picture1.Line (50 + l, 50 + c)-(50, 50)

End Sub

 

Private Sub Command2_Click()

End

End Sub

 

 

Задача 42. Вычислите объем цилиндра с радиусом основания R и высотой Н. Цилиндр должен быть нарисован.

 

Private Sub Command1_Click()

r = Val(Text1)

h = Val(Text2)

v = 3.14 * r ^ 2 * h

Text3 = v

Picture1.Scale (0, 0)-(200, 200)

Picture1.Circle (100, 150), r, vbGreen,,, 0.2

Picture1.Circle (100, 150 - r), r, vbGreen,,, 0.2

Picture1.Line (100 - r, 150)-(100 - r, 150 - r), vbGreen

Picture1.Line (100 + r, 150)-(100 + r, 150 - r), vbGreen

End Sub

Private Sub Command2_Click()

Text1 = ""

Text2 = ""

Text3 = ""

End Sub

 

 

Задача 44. Даны декартовы координаты трех вершин треугольника на плоскости Разработайте проект, вычисляющий площадь и периметр данного треугольника. Треугольник должен присутствовать на форме.

 

 

Private Sub Command1_Click()

X1 = Val(Text1)

Y1 = Val(Text2)

X2 = Val(Text3)

Y2 = Val(Text4)

X3 = Val(Text5)

Y3 = Val(Text6)

a = Sqr((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)

b = Sqr((X3 - X2) ^ 2 + (Y3 - Y2) ^ 2)

c = Sqr((X3 - X1) ^ 2 + (Y3 - Y1) ^ 2)

p = (a + b + c) / 2

p1 = a + b + c

Text7 = p1

s = Sqr(p * (p - a) * (p - b) * (p - c))

Text8 = s

Picture1.Scale (0, 0)-(200, 200)

Picture1.Line (X1, Y1)-(X2, Y2)

Picture1.Line (X2, Y2)-(X3, Y3)

Picture1.Line (X3, Y3)-(X1, Y1)

End Sub

 

 




Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 325; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.02 сек.