Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2012, 19:40   #1
CrazyManR
 
Регистрация: 30.04.2012
Сообщений: 8
По умолчанию Скролл мышью

Доброго времени суток! Помогите новичку. Есть форма размером во весь экран, на неё помещена картинка, не помещающаяся в форму. Требуется перемещаться по картинке нажав левую кнопку мыши и двигая её в нужном направлении. Зарание спасибо!
CrazyManR вне форума Ответить с цитированием
Старый 10.11.2012, 19:49   #2
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Слышал я что то про scroll box но сам не использовал..
Кольша вне форума Ответить с цитированием
Старый 10.11.2012, 19:59   #3
CrazyManR
 
Регистрация: 30.04.2012
Сообщений: 8
По умолчанию

это понятно, но как заставить зацепив картинку кликом мыши передвинуть её в скрол боксе??? При этом зацепить кликом именно картинку.

Последний раз редактировалось CrazyManR; 10.11.2012 в 20:05.
CrazyManR вне форума Ответить с цитированием
Старый 10.11.2012, 20:24   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Картинка как отрисовывается? На канве или используется какой-то компонент?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.11.2012, 20:30   #5
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Скорей всего TImage видел где на delphisources.ru несколько примеров как это можно осуществить..
Кольша вне форума Ответить с цитированием
Старый 10.11.2012, 20:51   #6
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

наверное играться с этими тремя событиями:

Событие MouseDown - срабатывает тогда, когда пользователь нажимает кнопку мышки.
Событие OnMouseUp - срабатывает тогда, когда пользователь отпускает эту кнопку мышки
Событие OnMouseMove - возникает в тот момент когда курсор мышки начинает перемещаться.

запоминаешь что было при MouseDown и начинаешь скролить (тягать) картинку через OnMouseMove, и прекращаешь скролить(тягать) при OnMouseUp... теоретически....
пишу код не только за печеньки

Последний раз редактировалось VIK_aka_TOR; 10.11.2012 в 20:53.
VIK_aka_TOR вне форума Ответить с цитированием
Старый 11.11.2012, 08:07   #7
CrazyManR
 
Регистрация: 30.04.2012
Сообщений: 8
По умолчанию

Спасибо разобрался! Но есть ещё один вопросик! У меня 2 монитора один 4:3, другой 16:9. Как заставить элементы формы при разворачивании формы во весь экрнан на разных мониторах отображаться пропорционально рамеру монитора и его разрешению???

Последний раз редактировалось CrazyManR; 11.11.2012 в 08:11.
CrazyManR вне форума Ответить с цитированием
Старый 11.11.2012, 12:03   #8
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

А что они не пропорциональны?Находите разрешение экрана..считаете и уменьшаете свойства height and width
Кольша вне форума Ответить с цитированием
Старый 11.11.2012, 14:00   #9
CrazyManR
 
Регистрация: 30.04.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Кольша Посмотреть сообщение
А что они не пропорциональны?Находите разрешение экрана..считаете и уменьшаете свойства height and width
Ну так компоненты привязаны к левому верхнему углу формы, когда разварачиваю форму на весь экран на мониторе 16:9 получается справа на форме пустота, а нужно, чтобы все компоненты "центровались"
CrazyManR вне форума Ответить с цитированием
Старый 11.11.2012, 14:14   #10
CrazyManR
 
Регистрация: 30.04.2012
Сообщений: 8
По умолчанию

Спасибо тоже разобрался))))
вот кусочек кода
Код:
procedure TForm1.FormResize(Sender: TObject);
begin
Panel1.Left:= (Form1.Width - Panel1.Width) div 2;
Label3.Left:=(Form1.Width - Label3.Width) div 2;
end;
CrazyManR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DBGrideEh - подправить скролл new player Компоненты Delphi 1 19.11.2012 03:02
скролл в excel 2010 geg Microsoft Office Excel 1 25.01.2011 20:10
Горизонтальный скролл!!! AK BULLETS Общие вопросы Delphi 2 26.03.2010 22:17
скролл бар Abuhamed HTML и CSS 3 16.03.2010 14:27
Скролл в Word viter.alex Microsoft Office Word 3 27.01.2009 23:41