Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Вниз

Как перемещать форму удерживая за любое свободное на ней место?   Найти похожие ветки 

 
DimaLos ©   (2004-03-15 10:08) [0]

Подскажите как перемещать форму удерживая за любое свободное на ней место?


 
Serge ©   (2004-03-15 10:10) [1]

Пиши процедуру по обработке WM_NCHITTEST


 
DimaLos ©   (2004-03-15 10:12) [2]

Пожалуйста, можно подробнее?


 
ssk   (2004-03-15 10:17) [3]

procedure Form1.OnMouseMove(...);
begin
if ssleft in shift then
  begin
    ReleaseCapture;
    Form1.perform(WM_syscommand, $F012, 0);
  end;
end;


 
serge ©   (2004-03-15 10:22) [4]

Либо

procedure WMNCHITTEST (var Msg : TWMNCHit); message WM_NCHITTEST;
...
procedure TForm1.WMNCHITTEST (var Msg : TWMNCHit);
Begin
inherited;
With Msg do
begin
if Msg.Result = htClient then
result:=htCaption;
end;
End;

Код писал на память, если что не так - старею значит :)
Удачи.


 
serge ©   (2004-03-15 10:25) [5]

var Msg : TWMNCHit --> var Msg: TWMNCHitTest


 
DimaLos ©   (2004-03-15 11:21) [6]

Огромное спасибо!


 
$tranger ©   (2004-03-15 14:11) [7]

Можно еще и так:
procedure TForm1.Form1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const
 SC_DragMove = $F012;
 begin
 ReleaseCapture;
 Form1.perform(WM_SysCommand, SC_DragMove, 0);
end;


 
$tranger ©   (2004-03-15 14:13) [8]

Можно еще и так:
procedure TForm1.Form1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const
 SC_DragMove = $F012;
 begin
 ReleaseCapture;
 Form1.perform(WM_SysCommand, SC_DragMove, 0);
end;


 
dr Tr0jan ©   (2004-03-15 14:14) [9]

Еще один способ есть. Механизм работы такой же.
var
 xm,ym:integer;

...

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
 if (ssleft in shift) then begin
   left:=left+(x-xm);
   top:=top+(y-ym);
 end;
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 xm:=x;
 ym:=y;
end;



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

Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.031 c
14-1078909070
vidiv
2004-03-10 11:57
2004.04.04
Мнение по поводу телефона LG G7100


3-1078912245
Krush
2004-03-10 12:50
2004.04.04
Как установить индикатор сортировки в TRxDBGrid?


8-1070365735
Denis555
2003-12-02 14:48
2004.04.04
Медлительность TImage


8-1070322740
SkyRanger
2003-12-02 02:52
2004.04.04
RGB => HSB и обратно


3-1078467856
Russko
2004-03-05 09:24
2004.04.04
CheckBox в DBGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский