Форум: "Основная";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];
ВнизПеретаскивание элемента Panel Найти похожие ветки
← →
zep © (2004-05-18 23:39) [0]Привет всем.Подскажите пожалуста
такая ситуация: на Panel1 находится Panel2 и при перетаскивании ее по следующему коду она выходит за граници первой панельки с права и слева подскажите как от етого избавится.
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
move : boolean;
begin
if button <> mbLeft then
move:=false //åñëè íàæàëè íå ëåâîé êíîïêîé, òî ïåðåìåùàòü íå áóäåì!
else
begin
move:=true;
x0:=x; //çàïîìèíàåì íà÷àëüíûå êîîðäèíàòû
end;
end;
procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
move : boolean;
begin
move := false;
end;
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
move : boolean;
begin
if move then
begin
Panel1.Left:=Panel1.Left+x-x0;
end;
end;
← →
zep © (2004-05-19 06:57) [1]ну что ни кто не знает
← →
Думкин © (2004-05-19 07:32) [2]Если именно так делать, то я бы поставил проверку в Panel1MouseMove. И что-то пересчитал. Так видимо.
← →
connect (2004-05-19 07:39) [3]Я скомпилил твой код у меня такого глюка нет. Может у тебя еще где то что то есть. Смотри в другом месте
← →
xman © (2004-05-19 12:52) [4]Может я не точно понял
но может быть у тебя панель2 не лежит в панели из-за этого вылазит
а перетаскивать панель попробуй так:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012;
begin
ReleaseCapture;
panel1.perform(WM_SysCommand, SC_DragMove, 0);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c