Большая форма в маленьком окошке, прокрутка.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Большая форма в маленьком окошке, прокрутка.

Сообщение TiG » 28.11.2006 (Вт) 16:49

Создал новый проект. Form1.pictures = c:\1.bmp. Этот файл имеет разрешение 1280*1024, а ноутбук к сожалению позволяет выставить в windows только 1024*768. Как сделать ползуночки, чтобы я мог добираться до заэкранных областей рисунка? В VB возможно уже есть готовое решение, но я не знаю где. Подскажите пожалуйста.
Все мои игрушки мама разметало ураганом...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 28.11.2006 (Вт) 16:51

1) Выставление спциального стиля + сабклассинг поможет тебе.
либо
2) HScroll&VScrolll и свойства Top, Left помогут тебе.

Способов сделать масса.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 28.11.2006 (Вт) 16:56

Хакер
в перечне свойств формы, не нашел "стиля"

Здесь, тоже что-то не то делается, чем хотелось бы.
Private Sub HScroll1_Change()
Form1.Left = 1200
End Sub
Последний раз редактировалось TiG 28.11.2006 (Вт) 17:00, всего редактировалось 1 раз.
Все мои игрушки мама разметало ураганом...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 28.11.2006 (Вт) 16:58

перечень свойст формы для ламеров.

у формы нет стилей. стили есть у окон. окна это объекты системы. User объекты. Для выставления стиля использую SetWindowLong/GetWindowLong функции.

Однако я советую юзать способ 2.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 28.11.2006 (Вт) 17:06

Хакер
про второй способ расскажи пожалуйста кодом, что в предыдущем посте по второму способу неправильно?
Все мои игрушки мама разметало ураганом...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 28.11.2006 (Вт) 17:57

ну поиск же есть, поищи по форуму, таких проектов про скроллинг уже уйма здесь с готовыми решениями :wink:

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 28.11.2006 (Вт) 18:03

Left должны устанавливаться в минус значение скролла.

А сам PB должен лежать в контейнере, который меньше чем PB.

Свойство Max у прогрессбара надо установить в размер документа-размер контейнера.

А размер слайдера установить равный размеру контейнера.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

blinow
Обычный пользователь
Обычный пользователь
 
Сообщения: 53
Зарегистрирован: 27.06.2005 (Пн) 3:13

Сообщение blinow » 29.11.2006 (Ср) 4:49

Если, других задач у проекта нет, самое простое, создай MDI форму и создай Child форму, рисунок на форму и двигай как хочешь, ползунки сами полявляются
P.S. у Child формы вообще убери рамку и получиться класный эфект, легко добавить код на MouseDown, MouseMove MouseUp и таскай мышкой рисунок. :)
Да размер Child формы делай размером с рисунок.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.11.2006 (Ср) 11:52

имхо, никто так ещё не извращался с MDI формой. Я помню когда то давно делал игрушку, так там чтобы не лепить все контроллы на одну форму, раскидал всё таки их по форме, сделал чиладми, убрал рамку.
Но это было ещё во времена DirectX7. И мне сейчас стыдно что я так делал. Потому что во первых есть контейнеры, типа PictureBox, и SetParent на все случаи жизни.

Но чтобы юзать МДИ ради появляющихся скроллов... :lol:
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

blinow
Обычный пользователь
Обычный пользователь
 
Сообщения: 53
Зарегистрирован: 27.06.2005 (Пн) 3:13

Сообщение blinow » 01.12.2006 (Пт) 4:10

Код занимает несколько строчек, и ни каких заморочек. Этот пример используется в книгах. И что ж здесь такого, если других задач у проги нет, то почему и не использовать уже готовое решение :)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 01.12.2006 (Пт) 13:44

blinow
Да вы просто стихопат какой то.

если других задач у проги нет, то почему и не использовать уже готовое решение

Это ты ГСерга спроси. У него есть свои мнения на счёт того, какие решения нужно юзать если ты хочешь носить звание "Программер". В данном случае, я с ним согласен.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 04.12.2006 (Пн) 13:56

Надеялся что контора не будет тупить, но ступила и купила ноут 1280*800, и нафих он мне))) шо тот 1024*768, шо этот - ничего не изменилось...
Поэтому вернемся к данному счикотливаму вапросу с ползунками проклятыми.
Что значит у проги не будет других задач)? задач очень много и графических и сетевых и работа с портом, в общем много, и работать с пикчер боксом я не жалаю, т.к уже всё сделано, а мди форма это шо то мне воще непонятно, не юзал еёне разу.
Стандартная форма,в которой загружен рисуно и налеплены кнопочки всякие и ещё апи графику кое гдеюзаю.
Решение есть без изменения скелета?
Все мои игрушки мама разметало ураганом...

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 04.12.2006 (Пн) 14:04

blinow
MDI форму создал)) а вот как чилдрен создать в ней)?
Все мои игрушки мама разметало ураганом...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 04.12.2006 (Пн) 14:08

TiG, может стоит вернуться к посту номер раз и перечитать ответ от Хакер?

А заодно и подучить русский язык
Весь мир матрица, а мы в нем потоки байтов!

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 04.12.2006 (Пн) 14:10

!Viper!
я код просил от хакера
албанский не умрет!
Все мои игрушки мама разметало ураганом...

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

Сообщение Andrey Fedorov » 04.12.2006 (Пн) 14:10

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

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 04.12.2006 (Пн) 14:23

Andrey Fedorov
скопировал код, но работать его заставить не удалось, если можно прокоментируй его на русском языке в крации.
Все мои игрушки мама разметало ураганом...

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 04.12.2006 (Пн) 14:39

TiG, покажи, как проект (как ты заставлял его работать), и тут же быстренько укажем на ошибки.
Ты не заметил слева сверху в статье демонстрационный проект?

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 04.12.2006 (Пн) 15:03

2 Amed

Теперь увидел.
При запуске пишет что нет библиотеки.
m_emr As EMsgResponse

скачал SSubTmr6.dll

запустил, уже другая ошибка, ~ не может быть создан активикс контрон
запустил ещё раз, заработало... странновато.

На главной форме этой программы сделал все элементы невидимыми и вставил свои рисунки и кнопочки, соответственно код тоже) Призапуске ползунки есть, но ничего от них не прокручивается)))

Скажите как чилдрен форму создать(попробую вариант с мди формой), мне главное, чтобы работало хоть как-то это на ноутбуке с мелким разрешением, а релиз будет на подходящем мониторе, т.к. на ноутбуке только отладка проги в командировках.
Последний раз редактировалось TiG 04.12.2006 (Пн) 15:29, всего редактировалось 2 раз(а).
Все мои игрушки мама разметало ураганом...

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 04.12.2006 (Пн) 15:26

Перед запуском SSubTmr6.dll надо регистрировать... Дежурный вопрос :)

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 04.12.2006 (Пн) 15:30

Amed
отредактировал предыдущий пост, добавил.
Ап
Все мои игрушки мама разметало ураганом...

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 05.12.2006 (Вт) 9:30

blinow
только ты знаешь как создать чилдрен форму
Все мои игрушки мама разметало ураганом...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 05.12.2006 (Вт) 13:27

Да блин. :x

Чилд-форма создаётся выставлением свойства MDIChild у обычной формы в True. Зател её надо просто Show.

ЗЫ. Какие то пошлые ассоциации вызвает у меня название этой темы, ей Богу...
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

blinow
Обычный пользователь
Обычный пользователь
 
Сообщения: 53
Зарегистрирован: 27.06.2005 (Пн) 3:13

Сообщение blinow » 10.12.2006 (Вс) 6:07

TiG писал(а):blinow
только ты знаешь как создать чилдрен форму

Прошу прощение за долгое молчание, вот примерчик.
Совсем маленький, но выполняет, все и мышкой таскает, маленько напрячся и масштабирование можно сделать.
Вложения
IMGp.rar
(6.89 Кб) Скачиваний: 41

blinow
Обычный пользователь
Обычный пользователь
 
Сообщения: 53
Зарегистрирован: 27.06.2005 (Пн) 3:13

Сообщение blinow » 10.12.2006 (Вс) 6:11

Хакер, чего-то набросился.
А зачем мудрить, то когда решение на поверхности.
И сам себя я перемудрил, ни что не мешает приладе и другими задачами заниматься.
Кстати, попробовал на NET подобное сделать, что-то грустно получилось, тормозит жутко (без MDI), но в принципе в детали не вдавался.
Можно скролл и на форме делать, т.е. таскать контейнер по форме, в частности PictureBox, он вообще что угодно может содержать.
Таким образом выполнил, просмотр печати, без всяких Data... траляля, но кода много :(

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 10.12.2006 (Вс) 14:09

1) Кнопка правка рулит.
2)
Можно скролл и на форме делать, т.е. таскать контейнер по форме, в частности PictureBox, он вообще что угодно может содержать.


Да именно так и нужно делать. Только не контейнер по форме а контейнер с картинкой, по родительскому контейнеру. А по бокам от родительского контейнера размешать скроллы.

3) TiG
не чилдрен форму, а чилд-форму. Чилдрен - это плюральная форма слова child
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 17.01.2007 (Ср) 16:12

вот один из вариантов:
Вложения
Scrolled ViewPort.rar
(92.9 Кб) Скачиваний: 41


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 114

    TopList