Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.26;
Скачать: CL | DM;

Вниз

Image и ScrollBar   Найти похожие ветки 

 
Ender   (2002-09-13 20:01) [0]

Уважаемые мастера, как сделать так, чтоб при изминении Position
ScrollBar"а битмап в Image смещался соответствующим образом, как например в MS Paint?


 
Алексей Ким ©   (2002-09-13 20:08) [1]

s - timage, panel1 - рамка, sb - scroolbar
s.Left := panel1.Width-round((sb.Position / sb.Max) * panel1.Width);
ну сам доделаешь толька это придумал


 
TTCustomDelphiMaster ©   (2002-09-13 20:22) [2]

Используйте ScrollBox


 
softland ©   (2002-09-13 20:25) [3]

Кладешь на форму sb : TScrollBar; в него кладешь im : TImage;
в инспекторе у im устанавливаешь ширину и высоту своего рисунка, конечно можно и в run time. Если размер рисунка больше чем у sb, то он будет скролинговаться, вроде всё...
Или я чего-то не понял???


 
softland ©   (2002-09-13 20:27) [4]

Вот черт, действительно прав TTCustomDelphiMaster, надо TScrollBox :-( извините.


 
mukha ©   (2002-09-13 23:00) [5]

Всё таки TImage и TScrollBar имеют преимущество перед TScrollBox.
Вот пример (код рабочий, проверил):
</unit Unit1;

interface

uses
Windows, Jpeg, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Panel1: TPanel;
Image1: TImage;
ScrollBarHor: TScrollBar;
ScrollBarVert: TScrollBar;
procedure FormCreate(Sender: TObject);
procedure ScrollBarHorChange(Sender: TObject);
procedure ScrollBarVertChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
Panel1.Caption:="";
Image1.Autosize:=true;
Image1.Align:= alNone;
ScrollBarHor.Min:=0;
ScrollBarVert.Min:=0;
Image1.Picture.LoadFromFile("C:\Delphi5\Projects\A\Фото.jpg");
ScrollBarHor.Max:=Image1.Picture.Width-Panel1.Width;
ScrollBarvert.Max:=Image1.Picture.Height-Panel1.Height;
end;

procedure TForm1.ScrollBarHorChange(Sender: TObject);
begin
Image1.Left:=-ScrollBarHor.Position;
end;

procedure TForm1.ScrollBarVertChange(Sender: TObject);
begin
Image1.Top:=-ScrollBarVert.Position;
end;

end.CODE>


 
Ender   (2002-09-14 00:24) [6]

Спасибо всем :)



Страницы: 1 вся ветка

Текущий архив: 2002.09.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
3-85329
greyserg
2002-09-04 12:21
2002.09.26
как правильно скопировать из Interbase в DBaseIII+ ?


6-85639
Leny
2002-07-24 10:38
2002.09.26
Обработка Ошибки


1-85443
Auz
2002-09-15 20:43
2002.09.26
Синтаксический редактор. HELP!!!


3-85404
Извращенец2
2002-09-05 06:38
2002.09.26
prTxtReport на лазерном принтере


4-85744
tamerlan311
2002-08-09 11:04
2002.09.26
Hbitmap & GetPixel