Вывод графических файлов на компонент Image - VB (170294)
Формулировка задачи:
задание:
Вывод графических файлов на компонент Image. Файлы выбираются из списка. Список файлов формируется в диалоге открытия файлов (компонент CommonDialog). Картинка масштабируется по размеру компонента Image, который занимает всю форму и изменяет размеры при изменении размеров формы. Смена файлов происходит при щелчке по изображению в зависимости от выбора кнопки на панели инструментов (следующий, предыдущий). Составить в MS Word блок-схему алгоритма выбора файла из списка
на форме есть объекты :Image, ListBox, CommonDialog и ToolBar
в тулбаре 3 кнопки
index:1, Key: o, style: 0-tbrDefault
index:2, Key: fw, style: 2-tbrButtonGroup, Value: 1-tbrPressed
index:3, Key: bk, style: 2-tbrButtonGroup, Value: 0-tbrUnPressed
Сделал код:
нет только момента с тем, что изображения должны меняться при клике на Image
программа по ссылке делает всё что мне надоВывод графических файлов на компонент Image
только этот код для пустой формы. в нём все объекты образуются динамически, а мне нужно с использованием объектов формы
вопрос:
Листинг программы
- Option Explicit
- Dim a As Single
- Private Sub Form_Load()
- Image1.Stretch = True
- End Sub
- Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
- If Button.Key = "o" Then Call CommonDialog1.ShowOpen
- List1.AddItem CommonDialog1.object.FileName
- End Sub
- Private Sub List1_Click()
- Set Image1.Picture = LoadPicture(List1.List(List1.ListIndex))
- a = Image1.Picture.Width / Image1.Picture.Height
- Call Form_Resize
- End Sub
- Private Sub Form_Resize()
- Dim w As Long, h As Long
- If Me.ScaleWidth < 1000 Or (Me.ScaleHeight - Toolbar1.Height) < 1000 Then Exit Sub
- List1.Move Me.ScaleWidth - Me.ScaleWidth / 4, Toolbar1.Height, Me.ScaleWidth / 4, Me.ScaleHeight - Toolbar1.Height
- If Not Image1.Picture Is Nothing Then
- If a > 1 Then w = Me.ScaleWidth - List1.Width: h = w / a Else h = Me.ScaleHeight - Toolbar1.Height: w = h * a
- Image1.Move (Me.ScaleWidth - List1.Width - w) \ 2, (Me.ScaleHeight - Toolbar1.Height - h) \ 2 + Toolbar1.Height, w, h
- End If
- End Sub
Листинг программы
- Private Sub Imаge1_Click()
- If List1.ListCount Then
- If Tbr.object.Buttons(1).Value Then [U][B]как записать эту строчку, чтобы она подходила к моему коду?[/B][/U]
- If List1.ListIndex Then List1.ListIndex = List1.ListIndex - 1
- Else
- If List1.ListIndex < List1.ListCount - 1 Then List1.ListIndex = List1.ListIndex + 1
- End If
- End If
- End Sub
Решение задачи: «Вывод графических файлов на компонент Image»
textual
Листинг программы
- Option Explicit
- Dim a As Single
- Private Sub Form_Load()
- Image1.Stretch = True
- End Sub
- Private Sub Image1_Click()
- If List1.ListCount Then
- If Tbr.object.Buttons(1).Value Then '[U][B]как записать эту строчку, чтобы она подходила к моему коду?[/B][/U]
- If List1.ListIndex Then List1.ListIndex = List1.ListIndex - 1
- Else
- If List1.ListIndex < List1.ListCount - 1 Then List1.ListIndex = List1.ListIndex + 1
- End If
- End If
- End Sub
- Private Sub List1_Click()
- Set Image1.Picture = LoadPicture(List1.List(List1.ListIndex))
- a = Image1.Picture.Width / Image1.Picture.Height
- Call Form_Resize
- End Sub
- Private Sub Form_Resize()
- Dim w As Long, h As Long
- If Me.ScaleWidth < 1000 Or (Me.ScaleHeight - Tbr.Height) < 1000 Then Exit Sub
- List1.Move Me.ScaleWidth - Me.ScaleWidth / 4, Tbr.Height, Me.ScaleWidth / 4, Me.ScaleHeight - Tbr.Height
- If Not Image1.Picture Is Nothing Then
- If a > 1 Then w = Me.ScaleWidth - List1.Width: h = w / a Else h = Me.ScaleHeight - Tbr.Height: w = h * a
- Image1.Move (Me.ScaleWidth - List1.Width - w) \ 2, (Me.ScaleHeight - Tbr.Height - h) \ 2 + Tbr.Height, w, h
- End If
- End Sub
- Private Sub Tbr_ButtonClick(ByVal Button As MSComctlLib.Button)
- If Button.Key = "o" Then
- Call CommonDialog1.ShowOpen
- List1.AddItem CommonDialog1.object.FileName
- End If
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д