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

Вниз

Как отловить перемещение мыши по экрану   Найти похожие ветки 

 
Micah'GF   (2004-05-29 10:44) [0]

Нужно сделать чтобы форму можно было таскать не за заголовок, а за любое место...


 
Stany ©   (2004-05-29 11:02) [1]

Нужно объявить процедуру в частных объявлениям (после ключевого слова Private):


private
 { Private declarations }
 procedure WMNCHitTest (var M: TWMNCHitTest); message wm_NCHitTest;


В области implementation описываем процедуру так:

implementation
{$R *.DFM}

procedure TForm1.WMNCHitTest (var M:TWMNCHitTest);
begin
 inherited;
 if M.Result = htClient then
   M.Result := htCaption;
end;

Мы выдаём клиентскую область окна за заголовочную область.


 
GuAV ©   (2004-05-29 11:11) [2]

Stany ©   (29.05.04 11:02) [1]

А мне этот способ не нравится, т.к.
1. Для WinControl надо делать htTransparent
2. У label-ов хинты не показываются


 
Stany ©   (2004-05-29 11:13) [3]

а так:

Обрабатываем OnMouseDown:
ReleaseCapture;
Perform(WM_SYSCOMMAND, $F012, 0);


 
grom   (2004-05-29 13:30) [4]

var
 Form1: TForm1;
 b: boolean;
 iX,iY: integer;
....
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin if b then begin
Left:= Left + x - iX;
Top:= Top + y - iy;
end;
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
b:= true;
iX:= x;
iY:= y;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
b:= false;
end;


 
GuAV ©   (2004-05-29 14:42) [5]


> а так:
>
> Обрабатываем OnMouseDown:
> ReleaseCapture;
> Perform(WM_SYSCOMMAND, $F012, 0);


А так - хорошо. Спасибо. Думаю автору ветки тоже понравится.



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

Форум: "WinAPI";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.044 c
11-1076681253
Vital
2004-02-13 17:07
2004.07.11
Как использовать компоненты МСК ?


1-1088174609
Максим
2004-06-25 18:43
2004.07.11
Есть ли ещё способы создания текстового файла, кроме AssignFile?


3-1087450665
Berezne
2004-06-17 09:37
2004.07.11
Кодировка файлов БД dBase


14-1087881956
Ёпрст
2004-06-22 09:25
2004.07.11
Вчера был совершён первый частный полёт в космос


8-1082884490
Menel
2004-04-25 13:14
2004.07.11
Отображение окружности с выделенными точками на ней...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский