Пример использования свойства PictureSizeMode
В следующем примере свойство PictureSizeMode используется для демонстрации трех вариантов отображения рисунка: отображение рисунка как есть, изменение размера рисунка с сохранением его исходных пропорций и растяжение рисунка для заполнения пространства.
Чтобы воспользоваться этим примером, скопируйте данный пример кода в раздел описаний формы. Убедитесь, что эта форма содержит:
- Кадр с именем Frame1.
- SpinButton с именем SpinButton1.
- Объект TextBox с именем TextBox1.
- Три элемента управления OptionButton с именами OptionButton1–OptionButton3.
Примечание.
Этот пример является расширенной версией примера свойства PictureAlignment, так как два свойства дополняют друг друга. Расширение заключается в трех подпрограммах события OptionButton, которые контролируют обрезание, изменение размера или растягивание изображения.
Dim Alignments(5) As String
Private Sub UserForm_Initialize()
Alignments(0) = "0 - Top Left"
Alignments(1) = "1 - Top Right"
Alignments(2) = "2 - Center"
Alignments(3) = "3 - Bottom Left"
Alignments(4) = "4 - Bottom Right"
'Specify a bitmap that exists on your system
Frame1.Picture = LoadPicture("c:\winnt2\ball.bmp")
SpinButton1.Min = 0
SpinButton1.Max = 4
SpinButton1.Value = 0
TextBox1.Text = Alignments(0)
Frame1.PictureAlignment = SpinButton1.Value
OptionButton1.Caption = "Crop"
OptionButton1.Value = True
OptionButton2.Caption = "Stretch"
OptionButton3.Caption = "Zoom"
End Sub
Private Sub OptionButton1_Click()
If OptionButton1.Value = True Then
Frame1.PictureSizeMode = fmPictureSizeModeClip
End If
End Sub
Private Sub OptionButton2_Click()
If OptionButton2.Value = True Then
Frame1.PictureSizeMode = fmPictureSizeModeStretch
End If
End Sub
Private Sub OptionButton3_Click()
If OptionButton3.Value = True Then
Frame1.PictureSizeMode = fmPictureSizeModeZoom
End If
End Sub
Private Sub SpinButton1_Change()
TextBox1.Text = Alignments(SpinButton1.Value)
Frame1.PictureAlignment = SpinButton1.Value
End Sub
Private Sub TextBox1_Change()
Select Case TextBox1.Text
Case "0"
TextBox1.Text = Alignments(0)
Frame1.PictureAlignment = 0
Case "1"
TextBox1.Text = Alignments(1)
Frame1.PictureAlignment = 1
Case "2"
TextBox1.Text = Alignments(2)
Frame1.PictureAlignment = 2
Case "3"
TextBox1.Text = Alignments(3)
Frame1.PictureAlignment = 3
Case "4"
TextBox1.Text = Alignments(4)
Frame1.PictureAlignment = 4
Case Else
TextBox1.Text = Alignments(SpinButton1.Value)
Frame1.PictureAlignment = SpinButton1.Value
End Select
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.