Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/31: Рейтинг темы: голосов - 31, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 37

Прокрутка колесом мыши изображения в PictureBox

08.03.2012, 17:55. Показов 7081. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
объясню наглядно ? вот что нужно в picturebox
Миниатюры
Прокрутка колесом мыши изображения в PictureBox   Прокрутка колесом мыши изображения в PictureBox  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.03.2012, 17:55
Ответы с готовыми решениями:

В VBE не работает прокрутка колесом мыши редактора кода
Можно подправить VB6, чтобы в VBE работало колесико мыши? Достает, однако.

Прокрутка TrackBar колесом мыши
Доброго дня. Столкнулся с проблемой прокрутки. При клике на свою панель делаю TrackBar1->SetFocus(); и все работает как надо, но если...

Прокрутка TrackBar колесом мыши
Помогите разобраться с Trackbar. Создал я значит свой ползунок, сделал горизонтальное расположение и сразу столкнулся с проблемой....

39
 Аватар для Dimon_bogoduhov
127 / 62 / 2
Регистрация: 15.02.2012
Сообщений: 127
08.03.2012, 18:37
Цитата Сообщение от denrashodchikov Посмотреть сообщение
вот что нужно в picturebox
Что бы можно было колёсиком прокручивать??
0
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 37
08.03.2012, 18:42  [ТС]
так точно))
0
 Аватар для morgann55
1365 / 207 / 37
Регистрация: 09.02.2012
Сообщений: 745
08.03.2012, 19:05
А я просто прищепляю правой мышки и таскаю....
0
 Аватар для Dimon_bogoduhov
127 / 62 / 2
Регистрация: 15.02.2012
Сообщений: 127
08.03.2012, 20:16
Вот исходник. Только надо организовать смещение картинки по PictureBox.
Вложения
Тип файла: rar MouseScroll.rar (223.0 Кб, 223 просмотров)
0
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 37
08.03.2012, 20:49  [ТС]
не помогло , мне нужно чтобы картинку
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
08.03.2012, 21:04
Нужно создать два PictureBox, одну расположить внутри другого и сделать AutoSize = True.
На контейнер расположить Скролбары и при событии Scroll у этих элементов перемещать внутреннюю PictureBox. Вот тебе самый хороший способ.
1
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 37
08.03.2012, 21:24  [ТС]
Цитата Сообщение от coderxx Посмотреть сообщение
На контейнер расположить Скролбары и при событии Scroll у этих элементов перемещать внутреннюю PictureBox.
как это сделать

Добавлено через 13 минут
все нашел !!
Visual Basic
1
2
3
4
5
6
7
Private Sub VScroll1_Change()
Picture3.Top = -VScroll1.Value
End Sub
 
Private Sub VScroll1_Scroll()
Picture3.Top = -VScroll1.Value
End Sub
Добавлено через 16 секунд
все нашел !!
Visual Basic
1
2
3
4
5
6
7
Private Sub VScroll1_Change()
Picture3.Top = -VScroll1.Value
End Sub
 
Private Sub VScroll1_Scroll()
Picture3.Top = -VScroll1.Value
End Sub
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
08.03.2012, 21:31
Вот пример
Вложения
Тип файла: rar MouseScroll.rar (221.7 Кб, 204 просмотров)
0
 Аватар для coderxx
469 / 183 / 16
Регистрация: 25.02.2012
Сообщений: 418
Записей в блоге: 2
08.03.2012, 21:33
Цитата Сообщение от denrashodchikov Посмотреть сообщение
все нашел !!
Хорошо что, сам нашел.
P.S. Не посмотрел предыдущее сообщение
0
 Аватар для Dimon_bogoduhov
127 / 62 / 2
Регистрация: 15.02.2012
Сообщений: 127
08.03.2012, 21:48
вот доделанный проект с использованием колесика мышки.
Вложения
Тип файла: rar MouseScroll1.rar (223.2 Кб, 163 просмотров)
2
 Аватар для Dalein
5 / 5 / 0
Регистрация: 16.02.2011
Сообщений: 21
06.08.2012, 18:19
Зачем создавать 2 пикчербокса? Все прекрасно работает и с одним.
1
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
09.12.2024, 15:57
Цитата Сообщение от Dalein Посмотреть сообщение
Зачем создавать 2 пикчербокса? Все прекрасно работает и с одним.
Да я уже битый час пытаюсь сделать с одним, пока не знаю как это осуществить вообще.

Добавлено через 57 секунд
Про два пикчебокса я сразу даже и не подумал кстати. Это хорошая версия для ленивых. Но я хотел бы сделать всё правильно и с одним пикчебоксом. Чтобы за горизонтальную полосу прокрутки можно было крутить изображение влево-вправо.

Добавлено через 1 минуту
Цитата Сообщение от Dimon_bogoduhov Посмотреть сообщение
вот доделанный проект с использованием колесика мышки
кстати колёсико мыши в этом примере и не работает. слава богу что оно мне не надо, мне нужна просто полоса прокрутки.

Добавлено через 2 минуты
Мне нужен точно такой же проект, только чтобы реализация была более правильной - с одним пикчебоксом.
Вопрос: как в пикчебоксе передвинуть картинку? Я сейчас пытаюсь через Picture1.Image.Render, правильное ли это направление я даже не знаю, но и с этим у меня плохо получается...
0
sleep
 Аватар для I can
4914 / 4556 / 837
Регистрация: 13.04.2015
Сообщений: 9,679
09.12.2024, 16:24
Цитата Сообщение от HackerVlad Посмотреть сообщение
правильное ли это направление
Для тебя - чем сложнее, тем лучше? Ну мучайся тогда Обычно PictureBox помещают в контейнер и там двигают его.
А про один PictureBox наверное имелось в виду, что форма - тоже контейнер.
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
09.12.2024, 16:51
Меня очень разочаровало что даже иностранцы делают это двумя пикчебоксами. Вот здесь в теме: https://www.vbforums.com/showt... ost5664777 А я хочу одним пикчебоксом. Нахрена создавать два пикчебокса только память засорять. Неправильно это. Надо придумать как крутить изображение одним пикчебоксом.
0
1381 / 837 / 89
Регистрация: 08.02.2017
Сообщений: 3,507
Записей в блоге: 1
09.12.2024, 17:09
Первое что приходит это поместить пикчу на фрейм, а у фрейма настроить прокрутку так как надо.
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
09.12.2024, 18:08
Мало ли что к вам в ленивые головы приходит на ум. Использование контейнеров - это неправильное решение.
Я уже сделал через Render. Пару часов всего лишь пришлось повозиться.

Добавлено через 8 минут
И строк кода, кстати, гораздо меньше получилось, чем если использовать два пикчебокса.
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
09.12.2024, 18:30
Я вот не поленился и сделал нормальное решение:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Option Explicit
Dim cPic As StdPicture
' Картинку тут будем крутить от 0 до -319 (всего 320)
 
Private Sub DrawFit(ByVal hDC As Long, ByVal cPic As IPicture, ByVal NewX As Long)
    Dim lsw As Long
    Dim lsh As Long
    
    lsw = CLng(((cPic.Width / 2540) * 1440) / Screen.TwipsPerPixelX)
    lsh = CLng(((cPic.Height / 2540) * 1440) / Screen.TwipsPerPixelY)
    
    cPic.Render hDC, -NewX, 0, lsw, lsh, 0, cPic.Height, cPic.Width, -cPic.Height, ByVal 0&
End Sub
 
Private Sub Paint_Picture()
    Dim NewValueX As Long
    
    NewValueX = ctlFlatSB1.Value
    Me.Caption = NewValueX
    
    Picture1.Cls
    DrawFit Picture1.hDC, cPic, NewValueX
End Sub
 
Private Sub ctlFlatSB1_Change()
    Paint_Picture
End Sub
 
Private Sub ctlFlatSB1_Scroll()
    Paint_Picture
End Sub
 
Private Sub Form_Load()
    Set cPic = LoadPicture(App.Path & "\123456789.jpg")
    ctlFlatSB1.Max = Picture1.ScaleWidth
    Paint_Picture
End Sub
Миниатюры
Прокрутка колесом мыши изображения в PictureBox  
Вложения
Тип файла: zip HVGScroll.zip (50.0 Кб, 18 просмотров)
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
09.12.2024, 18:32
Блин, вроде сделал всё нормально, в IDE работает отлично, а вот в EXE косяк какой-то появляется, чёрная полоса сверху почему-то вылезает... Странно...
0
sleep
 Аватар для I can
4914 / 4556 / 837
Регистрация: 13.04.2015
Сообщений: 9,679
09.12.2024, 18:40
Цитата Сообщение от HackerVlad Посмотреть сообщение
сделал нормальное решение:
А вообще без PictureBox-а ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.12.2024, 18:40
Помогаю со студенческими работами здесь

Прокрутка ScrollBox колесом мыши
Всем доброго времени суток. На форме имеется PageControl на каждой странице которого расположено по ScrollBox-у, на них StringGrid-ы....

Прокрутка ScrollView колесом мыши
Здравствуйте. Возник такой вопрос: при прокрутке колесиком ScrollViewer прокручивается по вертикали. Как сделать, чтобы при нажатии...

Прокрутка скролла колесом мыши
Добрый вечер. У меня возникла следующая проблема... Сделал прокрутку скролла колесом мыши, а она работает, только если зажать CTRL ...

AutoScroll на контейнере Panel. Прокрутка колесом мыши
Работаю на Visual Studio 2010/VB 2010 Как сделать чтобы можно было скройлить колёсиком мыши? Помогите пожалуйста

Прокрутка изображения PictureBox
Добрый день. Помогите пожалуйста организовать прокрутку изображения загруженного в PictureBox.Image. Пытался делать на форме(на которой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru