Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.051 c