Вставка рисунков в программу.



Иногда для пояснения сути расчёта нужно добавить рисунок. Чтобы поместить рисунок на форму программы можно применить элемент управления Рисунок (Image). Важными свойствами <>(по крайней мере в нашем случае) для данного объекта являются:
<> - Picture................../указать путь к рисунку/;

<> - PictureSizeMode..../выбрать один из трёх вариантов/ (удобно применять вариант <>1 <>- frmPictureModeStretch рисунок подгоняется по размеру окна объекта Рисунок (Image) <>)

И так приступим к доработке примера нашей программы (его можно взять из архива Primer3.rar). Сначала создадим рисунок, например такой:

Открываем проект VBA c нашим примером и увеличив размеры формы программы, поместим элемент управления <> Рисунок (Image).

Установим размер объекта примерно равным размеру нашего рисунка. Переходим в окно "Свойства" и для свойства <> Picture выбираем наш рисунок. А для <>PictureSizeMode выбираем значение <>1 <>- <> frmPictureModeStretch. Отрегулируем размер объекта <> Рисунок (Image) так как Вам нужно.

Рис.3. Рисунок для добавления.

И должно получиться примерно следующее:

Рис. 4. Добавлен рисунок с помощью элемента управления "<> Рисунок "(Image).

<>

<>4. Элемент управления -Кнопка выбора (OptionButton).

Иногда нужно рассчитать по длине провода его сопротивление. И если добавить в нашу программу такую возможность, то можно будет смело завершать данный проект, т.к. основные расчётные возможности программы будут реализованы.

Сравним две расчётные формулы: где:

Расчёт длины провода - L=S * R / p L- длина провода (м);

Расчёт сопротивления провода - R=L * p / S S- Сечение провода (мм2);

R- Сопротивление провода(Ом);

p- Удельное сопротивление.

Чтобы произвести расчёт сопротивления провода по длине провода достаточно изменить формулу, а переменные для ввода расчётной величины(R) и вывода результата (L) оставить без изменения. Тогда алгоритм расчёта будет следующим:

ЕСЛИ рассчитываем длину провода по заданному сопротивлению ТО:

L=R *S / p, где L -длина провода(М); R -сопротивление(Ом);

ЕСЛИ рассчитываем сопротивление провода по заданной длине ТО:

L=R *p / S, где L - сопротивление(Ом); R - длина провода(М);

На форме нужно поменять пояснительные надписи и заменить рисунок как показано на Рис.5:

Рис. 5. Пояснение изменений на форме.

Для выбора вида расчёта, в нашем случае, идеально подходят элементы управления " <>Кнопка выбора (OptionButton) " и рамка (Frame). Сделаем копию с файла "RRasch22.xls" и переименуем в "RRasch22.xls". Приступаем к доработке. Поместим на форму Рамку и две кнопки выбора, как показано на Рис.6:

Рис. 6. Элементы управления для выбора вида расчёта.

Изменим свойства для кнопок выбора.

Для OptionButton1 Name= Opb1

Для OptionButton2 Name=Opb2

В процедуре UserForm_Initialize() (в конце)допишем для данных элементов управления код инициализации:

Private Sub UserForm_Initialize()

..............

..............

'***** Начальные установки для "ВЫБОРА ВИДА РАСЧЁТА"

Frame1.Caption = "Что будем рассчитывать?"

Opb1.Caption = "Длину" ' Заголовок элемента

Opb2.Caption = "Сопротивление" ' Заголовок элемента

Opb1.Value = True ' Появится точка выбора

'***************************************************

End Sub

 

Значение свойства Value, для кнопки выбора, может принимать только значение True или False. При изменении значения свойства Value происходит событие Change(). Для каждой кнопки выбора напишем код программы:

 

Private Sub Opb1_Click()

If Opb1.Value = True Then

Opb2.Value = False

Label3.Caption = " Длина (M)"

Label1.Caption = "Сопротивление(Ом)"

lblL.Caption = " "

Me.Caption = "Расчёт длины провода."

Else

Opb2.Value = True

End If

'***** Загрузить картинку ******

PathProecta = Application.Workbooks(1).Path & "\" '***** Определяем путь проекта *****

PPic1 = PathProecta + "R01.jpg"

Image1.Picture = LoadPicture(PPic1)

End Sub

 

Private Sub opb2_Change()

If Opb2.Value = True Then

Opb1.Value = False

Label1.Caption = " Длина(M)"

Label3.Caption = "Сопротивление(Ом)"

lblL.Caption = " "

Me.Caption = "Расчёт сопротивления провода."

Else

Opb1.Value = True

End If

PathProecta = Application.Workbooks(1).Path & "\" '***** Определяем путь проекта *****

PPic1 = PathProecta + "R02.jpg"

Image1.Picture = LoadPicture(PPic1)

End Sub

 

Для изменения заголовка на форме проекта нужно изменить в форме свойство Caption.

При обращении к форме применяем обращение:

 

Me.Caption = "Расчёт сопротивления провода."

Для изменения картинки применяем команду LoadPicture(PPic1), путь к проекту определяем при помощи команды :Application.Workbooks(1).Path. Да приходится обращаться к объекту Workbooks Excel, что бы узнать местонахождение наших картинок:

Рис.7. Расчёт длины провода. Рис. 8. Расчёт сопротивления провода.

 

А теперь главное - код для расчётов (Добавлено всего четыре строчки!!!):

 

Private Sub cmdR_Click()

R = TransD(txtR.Value) 'ВВОД

D = TransD(txtD.Value)

'P = 0.0175 ########### ЗАКОМЕНТИРУЕМ ОПРЕДЕЛЕНИЕ КОЭФ.

'***** Р А С Ч Ё Т

S = (3.1415926 * D ^ 2) / 4

If Opb1.Value = True Then ' Добавлено

L = S * R / P

Else 'Добавлено

L = R * P / S ' Добавлено

End If ' Добавлено

'*****************

lblL.Caption = Format(L, "0.000") ' В Ы В О Д

End Sub

 

Проверить работу программы можно так:

 

вносим сопротивление, например 1 Ом, диаметр 0.1 мм -получаем результат L=0,449 м.

Переключаем на расчёт сопротивления и вносим ранее полученный результат 0,449 м.

Если результат расчёта 1Ом, то всё выполнено правильно.

 

Готовый пример для данных изменений здесь:Primer4.rar

 


Дата добавления: 2015-12-17; просмотров: 13; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!