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

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

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

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 25.06.2010, 18:59   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию Вставить ScrollBar в Image

Сабж в названии темы. Возможно ли это?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума
Старый 25.06.2010, 19:03   #2
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Смотря что вы имеете в виду. По крайней мере TreeView этого не позволяет.
А если просто поверх - то можно.
_-Re@l-_ вне форума
Старый 25.06.2010, 19:17   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Имею ввиду, чтобы можно было прокручивать изображение за скроллбары)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума
Старый 25.06.2010, 19:35   #4
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Я не совсем понял.... То есть , если изображение слишком большое и не входит в Image, то при нажатии на ScrollBar оно прокручивалось?
Если я правильно понял, то суть такая(только логику подправьте)
Код:
procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
     Image1.Canvas.CopyRect(Rect(x1,y1,x2,y2),Image1.Canvas,Rect(x+20,y,Image1.Width+20,Image1.Height));
    x:=x+20;
end;
Где x1,y1,x2,y2 - координаты вершин Image1, x,y - текущие координаты левого верхнего угла выводимого прямоугольника.

Последний раз редактировалось _-Re@l-_; 25.06.2010 в 19:40.
_-Re@l-_ вне форума
Старый 25.06.2010, 19:39   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Ага Именно так.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума
Старый 25.06.2010, 19:41   #6
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Смотрите #4. Но это для горизонтальной прокрутки...Правда, это вроде в OnPaint делается....
И ещё...Нужно использовать TBitmap.

Последний раз редактировалось _-Re@l-_; 25.06.2010 в 19:46.
_-Re@l-_ вне форума
Старый 25.06.2010, 19:48   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Неа, не рисуется
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума
Старый 25.06.2010, 19:49   #8
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Нужно использовать bmp.
И ещё. Погодите маленько, пришлю код.Я такое уже делал.

Код:
procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
     Paint; //это Form1.Paint, просто форма только одна и можно делать так
     x:=x+20;x1:=x1+20;
end;


procedure TForm1.FormPaint(Sender: TObject);
begin
     B:=TBitmap.Create;
     B.LoadFromFile('c:\go.bmp');
     Canvas.CopyRect(Rect(0,0,400,480),B.Canvas,Rect(x,0,x1,B.Height));
     B.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
     B:=TBitmap.Create;
     B.LoadFromFile('c:\go.bmp');
     x:=0;x1:=400;
end;
Но двигает только влево.Вправо уж сделаете...
Проверил. Работает норм. Не забудьте все переменные добавить в основной var.

Последний раз редактировалось artemavd; 25.06.2010 в 20:20.
_-Re@l-_ вне форума
Старый 26.06.2010, 06:38   #9
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

А не проще на форму кинуть ScriollBox, в него поместить Image с параметром
AutoSize:= true. И уже в этот Image грузить картинку любого размера?
принимаю благодарности в письменном виде( весы слева)...
MaxNik2009 вне форума
Старый 26.06.2010, 06:52   #10
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Четкий ответ на вопрос дал MaxNik2009. Тема закрыта.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
scrollbar grater83 Общие вопросы Delphi 2 08.10.2009 12:00
ScrollBar Rebel123 Общие вопросы Delphi 2 19.07.2009 11:35
Вопрос по Image (скачанная картинка не хочет выводиться в Image) Radnor Мультимедиа в Delphi 2 06.07.2009 02:20
scrollbar street-walker Общие вопросы Delphi 4 29.04.2009 23:45