Главная страница
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.48 MB
Время: 0.027 c
3-1084825843
Dmitry Vyacheslavovich
2004-05-18 00:30
2004.06.06
Путь к базе данных


1-1085160854
Черный дембель
2004-05-21 21:34
2004.06.06
Как привести блок данных к OleVariant


1-1085514267
Lena19
2004-05-25 23:44
2004.06.06
прозрачность и Topendialog


1-1085119168
IrBisoff
2004-05-21 09:59
2004.06.06
Правильная передача в Dll структуры данных.


1-1085424083
ГудБой
2004-05-24 22:41
2004.06.06
Как зделать чтобы, самопальный шел быстро стартовал?