Прокрутка для Picture Box'a.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Прокрутка для Picture Box'a.

Сообщение DirectXManiac » 25.12.2005 (Вс) 2:52

Есть Picture Box.В нём рисуються Shape'ы.В том числе и сетка.Как сделать прокрутку для него?Лучше кончно без использование скроллбаорв.Но сними тоже годиться.ПОЖАЛУЙСТА!
#define ROFL 0xDDDD

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 25.12.2005 (Вс) 5:35

А чем тебе Pic1.AutoSize плох?
----

RUSYA
Обычный пользователь
Обычный пользователь
 
Сообщения: 84
Зарегистрирован: 22.07.2005 (Пт) 20:17
Откуда: Харьков

Сообщение RUSYA » 25.12.2005 (Вс) 6:12

2 скрола: (вертикальный и горизонтальный) и 2 пикчера: (с всей картинкой и для показа нужного кусочка), вот код для скролов:


Private Sub VScroll1_Change()
HScroll1_Change
End Sub
Private Sub VScroll1_Scroll()
HScroll1_Scroll
End Sub
Private Sub HScroll1_Change()
On Error Resume Next
Picture2.PaintPicture Picture1.Picture, 0, 0, Picture2.Width, Picture2.Height, HScroll1.Value, VScroll1.Value, Picture2.Width, Picture2.Height
End Sub
Private Sub HScroll1_Scroll()
On Error Resume Next
Picture2.PaintPicture Picture1.Picture, 0, 0, Picture2.Width, Picture2.Height, HScroll1.Value, VScroll1.Value, Picture2.Width, Picture2.Height
End Sub
А как оно на самом деле - Х.З. !

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 25.12.2005 (Вс) 10:30

Пойми Maitris - Я пишу редактор карт и в нём карта огромных размеров.Поэтому какй AutoSize? :shock: .Тем более у меня 3 пикчера.
[b]RUSYA[/b:]Мне не картинку надо прокручивать, а нарисованое в ней: сетку, и геометрические фигуры!
#define ROFL 0xDDDD

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 25.12.2005 (Вс) 13:04

DirectXManiac писал(а):Пойми Maitris - Я пишу редактор карт и в нём карта огромных размеров.Поэтому какй AutoSize? :shock: .Тем более у меня 3 пикчера.

Неправильно делаешь.
Нужно отрисовывать только тот фрагмент карты, который должен отображаться, поэтому в скроллах изменяешь значение переменных X0 и Y0 и перерисовываешь фрагмент карты.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 26.12.2005 (Пн) 10:26

DirectXManiac писал(а):Пойми Maitris - Я пишу редактор карт и в нём карта огромных размеров.Поэтому какй AutoSize? :shock: .Тем более у меня 3 пикчера.


Сходи сюда:

http://vbaccelerator.com/home/VB/Code/Libraries/Subclassing/Adding_Scroll_Bars_To_Forms__PictureBoxes_and_UserControls/article.asp

DirectXManiac писал(а):[b]RUSYA[/b:]Мне не картинку надо прокручивать, а нарисованое в ней: сетку, и геометрические фигуры!


То бишь сетка и то что нарисовано у тебя должны прокручиваться поверх картинки?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 26.12.2005 (Пн) 11:03

Картинки внутри не существует.Picture Boxы это окна видов.В них рисуеться сетка и геометрия.и всё...
#define ROFL 0xDDDD

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 26.12.2005 (Пн) 11:07

Спасибо за статью...! :D
#define ROFL 0xDDDD

beat_swamp
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 107
Зарегистрирован: 05.10.2005 (Ср) 16:16

Сообщение beat_swamp » 27.12.2005 (Вт) 10:59

клевый компонент1 я его юзал примерно в такой же ситтуации (тоже огромные карты, шейпы и имадж боксы на картах)
http://www.neocomponents.com/fs.asp

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 27.12.2005 (Вт) 11:47

Спаибо!Щас скачаю!
#define ROFL 0xDDDD

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 27.12.2005 (Вт) 11:52

DirectXManiac писал(а):Спаибо!Щас скачаю!


Ну и?
Как я понимаю это коммерческая версия того класса ссылку на который я давал. Тебе охота платить денежку за эту ерунду?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 27.12.2005 (Вт) 11:56

Нет! Я скачал! Нормально!
#define ROFL 0xDDDD


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 148

    TopList