Страница: 1 |
Страница: 1 |
Вопрос: помогите imagebox
Добавлено: 11.06.05 17:14
Автор вопроса: bas | Web-сайт:
Народ, помогите.
Надо чтобы выводилась новая форма и в ней выбранный до этого рисунок. Причем, размер формы должен быть = размеру рисунка (т.е. рисунок 100% на всю форму).
Проблема с размерами. Пробовал так - на форму кинул imagebox (stretch=false,left=0,top=0) и примерно такой код:
Form2.Image1 = LoadPicture("...файл...")
Form2.Show 1
при загрузке 2й формы:
Private Sub Form_Load()
FormImgFull.Height = ImageFull.Height
FormImgFull.Width = ImageFull.Width
End Sub
получаю форму меньше раза в 2 чем картинка, т.е. вижу часть картинки
Помогите!
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #1
Добавлено: 11.06.05 17:32
Рисуешь картинку на одной форме (Form2), а растягиваешь другую: FormImgFull. Это как понимать?
Номер ответа: 2
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #2
Добавлено: 11.06.05 18:37
Picture1.AutoSize ... Потом форму по пикчеру подгониш
Номер ответа: 3
Автор ответа:
bas
Вопросов: 16
Ответов: 30
Web-сайт:
Профиль | | #3
Добавлено: 11.06.05 18:56
когда код в форум переносил изменил имена, но не все) Это одна и таже форма
Form2.Image1 = LoadPicture("...файл..."
Form2.Show 1
при загрузке 2й формы:
Private Sub Form_Load()
Form2.Height = Image1.Height
Form2.Width = Image1.Width
End Sub
Номер ответа: 4
Автор ответа:
bas
Вопросов: 16
Ответов: 30
Web-сайт:
Профиль | | #4
Добавлено: 11.06.05 18:58
HACKER, а с помощью имажебокс?
Номер ответа: 5
Автор ответа:
bas
Вопросов: 16
Ответов: 30
Web-сайт:
Профиль | | #5
Добавлено: 12.06.05 01:43
Обнаружил такую фишку:
Если картинку загружать в обработчике формы2, то почти все путем;
если в форме1 - то фигня.
не тут [I]Form2.Image1 = LoadPicture("...файл..."[/I]
Form2.Show 1
при загрузке 2й формы:
Private Sub Form_Load()
[B]Form2.Image1 = LoadPicture("...файл..."[/B]
Form2.Height = Image1.Height + 500
Form2.Width = Image1.Width + 120
End Sub
Только откуда вылезают 500 и 120? как их получить без подбора?
Кто знает объясните разницу работы в зависимости от того где загр. картинка. В любом случае (1 и 2) размер в пикселях определяет верно.А вот чего такая фигня?
Номер ответа: 6
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #6
Добавлено: 12.06.05 02:40
Только откуда вылезают 500 и 120? как их получить без подбора?
а учитываешь высоту заголовка формы, высоту меню (если оно есть), толщину рамки? это не просто так как даже специально предназначеные для этого дЕла API функции ошибаютсяя если стоит опция "большие шрифты"
Номер ответа: 7
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #7
Добавлено: 12.06.05 04:33
блин, чы вы себе голову морочите, у нас тут на форуме конечно девиз "мы не ищем лёгких путей"... Но всёже
Лепиш на форму пикчебокс, ставиш ему AutoSize=True грузиш в него картинку
Picture1.Picture = LoadPicture(...)
После загрузки пикчебокс САМ подгонит свои размеры по размере картинки. Ну а далее читай эти размеры у пикчебокса (width and height) и присваюй своей форме.
Номер ответа: 8
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #8
Добавлено: 12.06.05 04:36
Сори не дочитал С помощию имеджбокса придётся по другому как то определять размеры картинки, наверное API должны быть. Впрочем пикчебокс можно настроить внешне, он будет таким же как и имедж... Ещё вариант сначала грузить в пикчбокс, потом размеры присваивать имежду и грузить в имидк картинку, но это думаю лишнее.