powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / полоса прокрутки самой формы, как реализовать?
9 сообщений из 9, страница 1 из 1
полоса прокрутки самой формы, как реализовать?
    #37164909
Rabi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый программисты подскажите код прокрутки самой формы, пример кода приведенный раннее на форуме с forum.kodenet.ru вызывает у меня ошибку устранить я её ввиду своей неопытности пока не смог
...
Рейтинг: 0 / 0
полоса прокрутки самой формы, как реализовать?
    #37165016
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rabi,

ну и пример кода вы можете приложить ?
...
Рейтинг: 0 / 0
полоса прокрутки самой формы, как реализовать?
    #37165248
Rabi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-duke,

это пример кода взятого с форума:
Option Explicit

Dim oldPos As Integer

Private Sub cmdQuit_Click()
Unload Me
End Sub

Private Sub Form_Load()
Dim iFullFormHeigth As Integer
Dim iDisplayHeight As Integer

iFullFormHeigth = 3765
iDisplayHeight = 1800

Me.Height = iDisplayHeight

With VScroll1
.Height = Me.ScaleHeight
.Min = 0
.Max = iFullFormHeigth - iDisplayHeight
.SmallChange = Screen.TwipsPerPixelY * 10
.LargeChange = .SmallChange
End With
End Sub


Private Sub pScrollForm()
Dim ctl As Control

For Each ctl In Me.Controls
If Not (TypeOf ctl Is VScrollBar) And _
Not (TypeOf ctl Is CommandButton) Then
ctl.Top = ctl.Top + oldPos - VScroll1.Value
End If
Next

oldPos = VScroll1.Value
End Sub

Private Sub VScroll1_Change()
Call pScrollForm
End Sub


Private Sub VScroll1_Scroll()
Call pScrollForm
End Sub

я его попытался приспособить под свою форму у меня там фрейм (на фрейме текстбоксы), лейблы , имаджи плюс полоса прокрутки , когда запускаю проект срабатывает дебаггер
с кодом ошибки ctl.Top = ctl.Top + oldPos - VScroll1.Value , по разному изощрялся ни как не выходит отловить причину, может подскажешь?

С уважением Дамир
...
Рейтинг: 0 / 0
полоса прокрутки самой формы, как реализовать?
    #37166408
bac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я все упростил и все работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
im iTop As Integer

Private Sub Form_Load()
    iTop = Me.Frame1.Top
    Me.VScroll1.Max = Me.Frame1.Height - Me.Height +  500 
End Sub


Private Sub pScrollForm()
    Me.Frame1.Top = iTop - Me.VScroll1
End Sub

Private Sub VScroll1_Change()
    Call pScrollForm
End Sub


Private Sub VScroll1_Scroll()
    Call pScrollForm
End Sub


...
Рейтинг: 0 / 0
полоса прокрутки самой формы, как реализовать?
    #37166794
Rabi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bac,

Спасибо за код, вот только он прокручивает сам фрейм относительно формы это нормально но у меня кроме фрейма есть имажи на форме а они остаются на месте
потому что код затрагивает только сам фрейм , а располгать имажи на самом фрейме мне не желательно, поэтому пока не получилось
...
Рейтинг: 0 / 0
полоса прокрутки самой формы, как реализовать?
    #37166802
Rabi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Frame1 я убрал совсем , теперь на форме у меня только имажи с лейблами
...
Рейтинг: 0 / 0
полоса прокрутки самой формы, как реализовать?
    #37167633
kalamfur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а кто мешает поместить это всё в контейнер, и прокручивать его положение относительно формы?
...
Рейтинг: 0 / 0
полоса прокрутки самой формы, как реализовать?
    #37168056
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотреть здесь.

P.S
Много лет уж как известный пример...
...
Рейтинг: 0 / 0
полоса прокрутки самой формы, как реализовать?
    #37169085
Rabi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за участие,

On Error Resume Next
и все заработало
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / полоса прокрутки самой формы, как реализовать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]