Прокрутка формы и загрузка элементов - VB

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, разъясните пожалуйста 2 вопроса чайника: 1) вот имеется форма, вся информация в нее не влазит(ну допустим книжная страница отсканированная), как, есле это возможно, сделать прокрутку окна? 2) Как реализовать вот это- при открытии программы видим 1 кнопку, при ее нажатии, она исчезает, и появляется другая? Спасибо.

Решение задачи: «Прокрутка формы и загрузка элементов»

textual
Листинг программы
Private Sub Form_Load()
    Dim L As Single, T As Single, R As Single, B As Single, S As Single, P As Single
    Dim X As Single, Y As Single, J As Integer, dX As Single, dY As Single
    Me.Show
    Me.Caption = "Пожалуйста подождите..."
    picPage.Visible = False
    picPage.Move 0, 0, 1000, 1000
    P = 1.2
    L = -P: R = P: T = -P: B = P
    S = (P * 2) / picPage.ScaleHeight
    For X = L To R Step S
        dY = 0
        For Y = T To B Step S
            J = 255 - Julia(X, Y, 0.22, 0.58) * 255
            picPage.PSet (dX, dY), RGB(J, J, J)
            dY = dY + 1
        Next
    dX = dX + 1
    Next
    picPage.Visible = True
    Me.Caption = "Scroll tutorial"
End Sub
Private Function Julia(X As Single, Y As Single, a As Single, B As Single) As Single
    Dim Zr As Double, Zi As Double
    Dim Cr As Double, Ci As Double
    Dim tZr As Double
    Dim Count As Single
    Dim R As Single
    Count = 100
    Zr = X: Zi = Y
    Cr = a: Ci = B
    Do While Count > 0 And R < 4
        tZr = Zr
        Zr = Zr * Zr - Zi * Zi
        Zi = tZr * Zi + Zi * tZr
        Zr = Zr + Cr
        Zi = Zi + Ci
        R = Sqr(Zr * Zr + Zi * Zi)
        Count = Count - 1
    Loop
    Julia = Count / 100
End Function
Private Sub Form_Resize()
    Dim W As Single, H As Single
    If Me.ScaleWidth < picPage.Width Then
        hsbScroll.Visible = True: hsbScroll.Max = picPage.Width - Me.ScaleWidth
    Else
        hsbScroll.Visible = False
    End If
    If Me.ScaleHeight < picPage.Height Then
        vsbScroll.Visible = True: vsbScroll.Max = picPage.Height - Me.ScaleHeight
    Else
        vsbScroll.Visible = False
    End If
    hsbScroll.Move 0, Me.ScaleHeight - hsbScroll.Height, Me.ScaleWidth + vsbScroll.Visible * vsbScroll.Width, hsbScroll.Height
    vsbScroll.Move Me.ScaleWidth - vsbScroll.Width, 0, vsbScroll.Width, Me.ScaleHeight + hsbScroll.Visible * hsbScroll.Height
End Sub
Private Sub hsbScroll_Change()
    picPage.Move -hsbScroll.Value, -vsbScroll.Value
End Sub
Private Sub hsbScroll_Scroll()
    hsbScroll_Change
End Sub
Private Sub vsbScroll_Change()
    picPage.Move -hsbScroll.Value, -vsbScroll.Value
End Sub
Private Sub vsbScroll_Scroll()
    hsbScroll_Change
End Sub

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


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

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

11   голосов , оценка 3.818 из 5
Похожие ответы