Главная страница
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.046 c
4-1080283710
Kalishenko Stas
2004-03-26 09:48
2004.05.30
FindFirstChangeNotification для Novell


7-1081952346
DeMoN_Astra
2004-04-14 18:19
2004.05.30
Запуск приложения до авторизации


3-1083826139
starik30
2004-05-06 10:48
2004.05.30
Хранримая процедура


4-1082308394
8ung
2004-04-18 21:13
2004.05.30
Какое сообщение посылается, при доступе к какой-нибудь дирректори


14-1083873348
SeriousSam
2004-05-06 23:55
2004.05.30
Подключайтесь!