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

Вниз

Перетаскивание элемента 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 //&#229;&#241;&#235;&#232; &#237;&#224;&#230;&#224;&#235;&#232; &#237;&#229; &#235;&#229;&#226;&#238;&#233; &#234;&#237;&#238;&#239;&#234;&#238;&#233;, &#242;&#238; &#239;&#229;&#240;&#229;&#236;&#229;&#249;&#224;&#242;&#252; &#237;&#229; &#225;&#243;&#228;&#229;&#236;!
 else
 begin
   move:=true;
   x0:=x; //&#231;&#224;&#239;&#238;&#236;&#232;&#237;&#224;&#229;&#236; &#237;&#224;&#247;&#224;&#235;&#252;&#237;&#251;&#229; &#234;&#238;&#238;&#240;&#228;&#232;&#237;&#224;&#242;&#251;

 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.054 c
3-1084345728
roadstar
2004-05-12 11:08
2004.05.30
SQL-запрос?


4-1081716403
pohil
2004-04-12 00:46
2004.05.30
Привилегии


14-1084502074
Helpme
2004-05-14 06:34
2004.05.30
Извините


3-1083421788
Mishenka
2004-05-01 18:29
2004.05.30
Данные в таблицах.


7-1082463805
YuRock
2004-04-20 16:23
2004.05.30
Доступ к COM порту по сети