Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скролинг области на форме, ........................................ 
:(
    Опции темы
Rain
Дата 11.5.2006, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 4.11.2005
Где: г.Саратов

Репутация: нет
Всего: нет



Привет всем! Опять я со своими проблемами))) Суть вот в чем:

Есть форма. Я добавляю на нее элемент управления( вертикальный скролинг) и мне нужно сделать так, чтобы область на форме на против моего скролинга с помощью него могла прокручиваться! Т.е я как понимаю нужно связать эту область и мой элемент управления.

КАК ЭТО СДЕЛАТЬ?????

Вроде ясно выразился)

Заранее спасибо! 
PM MAIL ICQ   Вверх
Cheburek
Дата 12.5.2006, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 26.3.2006

Репутация: нет
Всего: 1



Не знаю как по другому делать, я всегда top объектов на форме менял, вот к примеру
Код

Private Sub Form_Load()
    Label1.Top = 0
    Label1.Caption = ""
    Label1.AutoSize = True
    Dim i As Integer
    For i = 1 To 100
        Label1.Caption = Label1.Caption & i & Chr(13) & Chr(10)
    Next
    If Form1.Height < Label1.Height Then
        VScroll1.Enabled = True
        VScroll1.Max = Label1.Height - Form1.Height + 200
    Else
        VScroll1.Enabled = False
    End If
End Sub
Private Sub VScroll1_Change()
    Label1.Top = -VScroll1.Value
End Sub
 

Это сообщение отредактировал(а) Cheburek - 12.5.2006, 00:13
PM MAIL   Вверх
cardinal
Дата 12.5.2006, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Я бы только не так
Код

Private Sub VScroll1_Change()
    Label1.Top = -VScroll1.Value
End Sub

сделал, а так
Код

Private Sub VScroll1_Scroll()
    Label1.Top = -VScroll1.Value
End Sub

Так красивее... smile

Добавлено @ 01:05 
А вот другой прикольный вариант.

Код в форме:
Код

Option Explicit

' You have a royalty-free right to use, modify, reproduce and distribute
' the Sample Application Files (and/or any modified version) in any way
' you find useful, provided that you agree that Martin Liss has no warranty,
' obligations or liability for any Sample Application Files.


' All objects that should scroll must be drawn in picI_Scroll

' If you need to edit any of the objects that are below the bottom of the form,
' temporarily change picI_Scroll.Top to -1000, -10000, or whatever it takes

Public Disclaimer

Private Sub cmdExit_Click()

    Unload Me
    Set frmScroll = Nothing
    
End Sub

Private Sub Form_Activate()

    ' So that scrooling will happen if the user immediately presses
    ' PageUp or PageDown
    picI_Scroll.SetFocus
    
End Sub

Private Sub Form_Load()

    
    picWindow.Left = 0
    picWindow.Width = Me.Width - VScroll1.Width
    
    VScroll1.Height = picWindow.Height
    VScroll1.Max = picI_Scroll.Height - picWindow.Height
    VScroll1.SmallChange = 100
    VScroll1.LargeChange = picWindow.Height
    VScroll1.Left = Me.Width - VScroll1.Width - 60
    VScroll1.Top = 0
    
    picI_Scroll.Left = 0
    picI_Scroll.Width = picWindow.Width
    
End Sub


Public Sub CheckKeyCode(KeyCode As Integer)
'***************************************************************************
'Purpose: Intercept and act on special keys on me so
'         that up and down arrows and scroll bar works as expected. Also
'         automatically scroll screen when Tab key would otherwise disappear
'         off the screen.
'Inputs:  KeyCode - The ASCII(?) value of the key pressed
'Outputs: None
'***************************************************************************

    Dim nScrollValue As Double
    Dim nOnePage As Integer
    
    nOnePage = Me.VScroll1.Height
    
    If KeyCode = vbKeyPageUp Or KeyCode = vbKeyPageDown Then
        If KeyCode = vbKeyPageDown Then
            nScrollValue = -Me.picI_Scroll.Top + nOnePage
        Else
            nScrollValue = -Me.picI_Scroll.Top - nOnePage
        End If
        'Make sure that the scroll bar 'handle' is not attempted to be positioned
        'below the bottom of the scroll bar.
        If nScrollValue > Me.VScroll1.Max Then
            nScrollValue = Me.VScroll1.Max
            Me.picI_Scroll.Top = -Me.VScroll1.Max
        End If
        If nScrollValue > 0 Then
            Me.VScroll1.Value = nScrollValue
        Else
            Me.VScroll1.Value = 0
        End If
    End If
    
End Sub


Private Sub picI_Scroll_KeyDown(KeyCode As Integer, Shift As Integer)

    CheckKeyCode KeyCode
    
End Sub

Private Sub VScroll1_Change()

    picI_Scroll.Top = -(VScroll1.Value)
    
    ' So that the scrollbar doesn't blink
    cmdExit.SetFocus

End Sub

Пример взят на: www.vbforums.com 

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  scroll.frm 5,71 Kb


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0593 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.