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

Вниз

Drag&drop   Найти похожие ветки 

 
sergeyst ©   (2007-02-01 13:46) [0]

Всем привет!
Есть ScrollBox, в нем TImage. Размер TImage может менятся и, естественно, быть больше ScrollBox.Width. TImage "таскается":

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 MouseXY.X := X;
 MouseXY.Y := Y;
 Image1.BeginDrag(True);
end;

procedure TForm1.Image1DragOver(Sender, Source: TObject; X, Y: Integer;
 State: TDragState; var Accept: Boolean);
var
 T: TPoint;
begin
 T:=Mouse.CursorPos;
 T:= ScrollBox1.ScreenToClient(T);
 Image1.Top:=T.Y-MouseXY.Y;
 Image1.Left:=T.X-MouseXY.X;
end;

Надо, чтобы при перемещении TImage, край картинки не выходил за клиентскую область ScrollBox"а. Как это сделать?


 
Сергей М. ©   (2007-02-01 14:02) [1]


> Надо, чтобы при перемещении TImage


Не понятно, причем здесь драгндроп ?


 
sergeyst ©   (2007-02-01 14:52) [2]


> Сергей М. ©   (01.02.07 14:02) [1]


> Не понятно, причем здесь драгндроп ?

Ну, я так его (Image) таскаю в ScrollBar"а. И, так понимаю, что где-то в собsтиях Drag&Drop можно контролировать координаты "таскаемого" объекта. Есть способ как "таскать" без Drag&Drop? Я такого не знаю.
   А... может я не правильно вопрос задал? Как объяснить-то? Ну... А... Ме... Блин!  
Надо:
if Image.Left + Image.Width >= ScrollBox.Width then
 Image.Left := Image.Left - 1;
Это по одной оси, в одном направлении. Но где это написать? И, как мне кажется, по-другому.



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

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

Наверх




Память: 0.47 MB
Время: 0.06 c
9-1144169967
Pa5ha
2006-04-04 20:59
2007.02.18
Эффекты на OpenGL


2-1170318726
Lera
2007-02-01 11:32
2007.02.18
Имя процедуры


15-1170163084
DevilDevil
2007-01-30 16:18
2007.02.18
FastMem для C++Builder


2-1170326279
WhiteBarsik
2007-02-01 13:37
2007.02.18
В EXE не желает включаться "designide"


15-1169617089
Александр Иванов
2007-01-24 08:38
2007.02.18
Как я сертификат пытался получить