Вниз
Скачать: CL | DM;

Перетаскивать за панель.   Найти похожие ветки 

 
vidiv   (2002-10-08 11:46) [0]

Народ, как сделать, чтобы форму можно было перетаскивать за панель. и вообще почему если я ставлю на форму winсонтрол, то сообщени WM_NCHITTEST к этому участку не применяется?


 
Ученик ©   (2002-10-08 12:29) [1]

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then begin
ReleaseCapture;
SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0)
end
end;


 
MBo ©   (2002-10-08 12:54) [2]

по второму вопросу - потому что это уже область wincontrol-а, а не главного окна


 
AlexT1000   (2002-10-08 17:04) [3]

наслаждайся

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DRAGMOVE : Longint = $F012;
begin
if Button <> mbRight then
begin
ReleaseCapture;
SendMessage(Handle, WM_SYSCOMMAND, SC_DRAGMOVE, 0);
end;

end;


 
vidiv   (2002-10-09 03:42) [4]

А я сделал вот так(только не смейтесь):
У панели
var mv:boolean; movX,movY:integer;
procedure TForm1.HeadMouseDown("--"--"--"--");
begin
if button=mbLeft then
begin
mv:=true;
movX:=X;
movY:=Y;
end;
end;
procedure TForm1.HeadMouseUp("--"--"--"--");
begin
mv:=false;
end;
procedure TForm1.HeadMouseMove("--"--"--"--");
begin
if mv then
begin
if x<>movX then left:=left+(X-movX);
if y<>movY then top:=top+(Y-movY);
{и здесь прописал, чтобы за края экрана форма не выходила}
end;
end;

Вот. Всем спасибо!!!



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
3-58999
Dimich1978
2002-10-29 09:01
2002.11.18
Вопрос про реестр и не только ;-)


1-59132
Alesquer
2002-11-08 15:35
2002.11.18
Выполнение Dos-команды из Delphi


1-59187
Кен
2002-11-08 04:14
2002.11.18
Как настроить RichEdit, чтобы он выглядел как Label ? Чтобы нельз


3-59065
Max Zyuzin
2002-10-30 14:46
2002.11.18
Совет нужен


3-59043
Ренат
2002-10-30 09:21
2002.11.18
Extract Database




   Наверх