![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Я поместил Panel на край формы (panel1.align:=alleft). Что надо написать чтобы когда я нажимаю на panel и двигаю мышью изменялся размер формы?
|
#2
|
||||
|
||||
![]() Можно написать просто, мышь на панели:
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Panel1.Width := 300; или Height - если не (panel1.align:=alleft) end; При нажатии на панель: procedure TForm1.Panel1Click(Sender: TObject); begin Panel1.Width := 255; end; Ну и соответственно когда мышь на форме, и т.д. Просто вопрос, двигаю мышью? по каким событиям должно отлавливаться? Или ты хочешь медленно передвигая мышь по чему либо изменять его размер? Да, и если будет MouseMove и Click то последним сработает MouseMove можно даже не заметить изменения. Последний раз редактировалось Dimanus, 06.10.2007 в 20:17. |
#3
|
||||
|
||||
![]() Добавь код:
Код:
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button = mbLeft then begin ReleaseCapture; SendMessage(Form1.Handle, WM_NCLBUTTONDOWN, Windows.HTLEFT, 0); SendMessage(Form1.Handle, WM_NCLBUTTONDOWN, Windows.HTTOP, 0); end; end; |
#4
|
||||
|
||||
![]() Можно сделать еще красивие:
Код:
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button = mbLeft then begin ReleaseCapture; SendMessage(Form1.Handle, WM_NCLBUTTONDOWN, Windows.HTBOTTOMRIGHT, 0); //или: //SendMessage(Form1.Handle, WM_NCLBUTTONDOWN, Windows.HTTOPLEFT, 0); end; end; |
#5
|
|||
|
|||
![]() Надо так как в окнах винды. Внизу и по краям есть полоски. Если на одну из них навести мышь - появятся стролочки. Если подвигать нажимая на стрелочки - размер формы будет меняться. Мне надо также.
|
#6
|
||||
|
||||
![]() Вот код, показывает стрелки только с левой строны и сверху, справа и снизу дамаю сам допишешь:
Код:
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if X=Button1.Height div 10 div Button1.Height then Button1.Cursor:=crSizeWE else Button1.Cursor:=crDefault; if Y=Button1.Width div 10 div Button1.Width then Button1.Cursor:=crSizeNS; if X=Button1.Height div 10 div Button1.Height then Button1.Cursor:=crSizeWE else Button1.Cursor:=crDefault; end; end. |
#7
|
||||
|
||||
![]() вот попробуй мой пример проги (с коментариями)
|