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

Вниз

перемещение Image a   Найти похожие ветки 

 
zep ©   (2004-05-22 15:46) [0]

Привет всем.Подскажите пожалуста
такая ситуация:

на форме расположена Panel1 с размерами Height = 27 и Width = 227 на этой панели находится Image1
с размерами Left = 1, Top = 1, Width = 110, Height = 25 и картенка во весь Image и. при
перемещении ее по коду превиденному ниже как сделать так чтобы Image доходил до Left = 3 с лева
и до Left= 118 лева и останавливался
короче ограничить его область перемещения.  

var
move : boolean;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);

begin
 if button <> mbLeft then
   move:=false
 else
 begin
   move:=true;
   x0:=x;

 end;

end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);

begin
 move := false;

end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
   
begin
   if move then
 begin
   Image1.Left:=Image1.Left+x-x0;
end;
 end;


 
Jel ©   (2004-05-22 16:06) [1]


> procedure TForm1.Image1MouseMove(Sender: TObject; Shift:
> TShiftState; X,
>  Y: Integer);
>    
> begin
>    if move then
>  begin
    if ((x-x0) > 3) and ((x-x0) < 118) then
>      Image1.Left:=Image1.Left+x-x0;
> end;
>  end;


 
zep ©   (2004-05-22 16:17) [2]

чтото не работает


 
zep ©   (2004-05-22 17:20) [3]

если делать так то появляется дребезжание краев imaga как от етого избавится.
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);

begin
if move then
begin
if (Image1.Left+x-x0>118) or (Image1.Left+x-x0<3) then exit;

Image1.Left:=Image1.Left+x-x0;

x0:=x;
end;
end;


 
zep ©   (2004-05-22 22:51) [4]

ну что не кто не знает


 
Mim1 ©   (2004-05-22 23:05) [5]

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
 if move and (Image1.Left+x-x0<=118) and (Image1.Left+x-x0>=3) then
   Image1.Left:=Image1.Left+x-x0;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.04 c
14-1085135293
default
2004-05-21 14:28
2004.06.06
MathCad


9-1076082395
Станислав
2004-02-06 18:46
2004.06.06
DirectX vs OpenGL


4-1082710431
dmchet
2004-04-23 12:53
2004.06.06
ярлыки


4-1082652337
37
2004-04-22 20:45
2004.06.06
ctrl+A


1-1085340678
Alex Friend
2004-05-23 23:31
2004.06.06
Формы в DLL