Вывод графических файлов на компонент 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 Сделал код:
Листинг программы
  1. Option Explicit
  2. Dim a As Single
  3. Private Sub Form_Load()
  4. Image1.Stretch = True
  5. End Sub
  6. Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
  7. If Button.Key = "o" Then Call CommonDialog1.ShowOpen
  8. List1.AddItem CommonDialog1.object.FileName
  9. End Sub
  10. Private Sub List1_Click()
  11. Set Image1.Picture = LoadPicture(List1.List(List1.ListIndex))
  12. a = Image1.Picture.Width / Image1.Picture.Height
  13. Call Form_Resize
  14. End Sub
  15. Private Sub Form_Resize()
  16. Dim w As Long, h As Long
  17. If Me.ScaleWidth < 1000 Or (Me.ScaleHeight - Toolbar1.Height) < 1000 Then Exit Sub
  18. List1.Move Me.ScaleWidth - Me.ScaleWidth / 4, Toolbar1.Height, Me.ScaleWidth / 4, Me.ScaleHeight - Toolbar1.Height
  19. If Not Image1.Picture Is Nothing Then
  20. If a > 1 Then w = Me.ScaleWidth - List1.Width: h = w / a Else h = Me.ScaleHeight - Toolbar1.Height: w = h * a
  21. Image1.Move (Me.ScaleWidth - List1.Width - w) \ 2, (Me.ScaleHeight - Toolbar1.Height - h) \ 2 + Toolbar1.Height, w, h
  22. End If
  23. End Sub
нет только момента с тем, что изображения должны меняться при клике на Image программа по ссылке делает всё что мне надоВывод графических файлов на компонент Image только этот код для пустой формы. в нём все объекты образуются динамически, а мне нужно с использованием объектов формы вопрос:
Листинг программы
  1. Private Sub Imаge1_Click()
  2. If List1.ListCount Then
  3. If Tbr.object.Buttons(1).Value Then [U][B]как записать эту строчку, чтобы она подходила к моему коду?[/B][/U]
  4. If List1.ListIndex Then List1.ListIndex = List1.ListIndex - 1
  5. Else
  6. If List1.ListIndex < List1.ListCount - 1 Then List1.ListIndex = List1.ListIndex + 1
  7. End If
  8. End If
  9. End Sub

Решение задачи: «Вывод графических файлов на компонент Image»

textual
Листинг программы
  1. Option Explicit
  2. Dim a As Single
  3.  
  4. Private Sub Form_Load()
  5. Image1.Stretch = True
  6. End Sub
  7.  
  8. Private Sub Image1_Click()
  9.     If List1.ListCount Then
  10.         If Tbr.object.Buttons(1).Value Then  '[U][B]как записать эту строчку, чтобы она подходила к моему коду?[/B][/U]
  11.            If List1.ListIndex Then List1.ListIndex = List1.ListIndex - 1
  12.         Else
  13.             If List1.ListIndex < List1.ListCount - 1 Then List1.ListIndex = List1.ListIndex + 1
  14.         End If
  15.     End If
  16. End Sub
  17.  
  18. Private Sub List1_Click()
  19. Set Image1.Picture = LoadPicture(List1.List(List1.ListIndex))
  20.  a = Image1.Picture.Width / Image1.Picture.Height
  21.  Call Form_Resize
  22. End Sub
  23.  
  24. Private Sub Form_Resize()
  25.     Dim w As Long, h As Long
  26.     If Me.ScaleWidth < 1000 Or (Me.ScaleHeight - Tbr.Height) < 1000 Then Exit Sub
  27.     List1.Move Me.ScaleWidth - Me.ScaleWidth / 4, Tbr.Height, Me.ScaleWidth / 4, Me.ScaleHeight - Tbr.Height
  28.     If Not Image1.Picture Is Nothing Then
  29.         If a > 1 Then w = Me.ScaleWidth - List1.Width: h = w / a Else h = Me.ScaleHeight - Tbr.Height: w = h * a
  30.         Image1.Move (Me.ScaleWidth - List1.Width - w) \ 2, (Me.ScaleHeight - Tbr.Height - h) \ 2 + Tbr.Height, w, h
  31.     End If
  32. End Sub
  33.  
  34.  
  35. Private Sub Tbr_ButtonClick(ByVal Button As MSComctlLib.Button)
  36.         If Button.Key = "o" Then
  37.             Call CommonDialog1.ShowOpen
  38.             List1.AddItem CommonDialog1.object.FileName
  39.         End If
  40. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы