Вниз
Скачать: 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.011 c
1-59125
Gayrus
2002-11-07 11:45
2002.11.18
mp3


1-59272
iNew
2002-11-07 14:50
2002.11.18
Как лучше всего заменить все ‘*’ в строке на ‘%’, можно конечно


3-59047
Spartak
2002-10-29 21:51
2002.11.18
Привет всем ! База портиьтся при отключении света !


4-59480
RetLion
2002-10-06 15:34
2002.11.18
Кто-нибудь писал сервис с использованием Win API? (Под NT )


1-59148
GIL
2002-11-08 05:26
2002.11.18
TreeView и база данных




   Наверх