Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.13;
Скачать: CL | DM;

Вниз

WM_NCHITTEST   Найти похожие ветки 

 
_юзер_   (2003-12-26 14:24) [0]

Хочу реализовать следующее: на форме есть панель. надо чтобы она вела себя аналогично title bar-у формы, т. е. чтобы можно было за неё потянуть форму.
делаю это так:

procedure TForm1.WMNCHitTest(var M: TMessage);
var Ctrl: TControl;
begin
Ctrl:=ControlAtPos(ScreenToClient(SmallPointToPoint(TWMNCHitTest(M).Pos)), false);
if (Ctrl<>nil) and (Ctrl.Name=Panel1.Name)
then M.Result:=HTCAPTION
else inherited;
end;

если вместо панели использовать любой не TWinControl, то всё работает. В случае TWinControl-а WM_NCHITTEST перехватывает сам винконтрол и до формы это сообщение не доезжает.
Как это побороть?


 
Романов Р.В.   (2003-12-26 14:42) [1]

Написать потомка панели или подменить ее WindProc


 
_юзер_   (2003-12-26 14:54) [2]

>>подменить ее WindProc
каким образом? если можно, хотелось бы код подменённого WndProc-а
увидеть


 
Романов Р.В.   (2003-12-26 15:25) [3]

http://clubpro.spb.ru/ubb/Forum18/HTML/000022.html
В самом низу


 
_юзер_   (2003-12-26 15:42) [4]

как свой wndproc написать я и так знаю. мне надо, чтобы WM_NCHITTEST доезжал до wndproc-а формы, когда у меня мышка над панелью находится.


 
DVM   (2003-12-26 16:37) [5]

Может так проще:

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Form1.Perform(WM_SYSCOMMAND, $F012, 0);
end;


 
_юзер_   (2003-12-26 16:57) [6]

2DVM:
как раз то, что надо. а что это за команда $F012? у неё имя какое-нибудь есть?
$F010 = SC_MOVE - только это чуть-чуть не то


 
Бушин Сергей   (2003-12-26 17:00) [7]

Магическое число


 
_юзер_   (2003-12-26 17:21) [8]

2Бушин Сергей:
отличная шутка, я и сам так пошутить люблю на досуге. сам придумал или подсказал кто? если у тебя есть что по смыслу написать, то напиши, а если потрепаться хочешь - тут отдельный форум есть


 
DVM   (2003-12-26 17:24) [9]


> _юзер_ (26.12.03 17:21) [8]

Ты зря так. Эти числа (а это не единственное) на самом деле получили прозвища "магических", потому как нигде не описаны в документации, но все ими пользуются.


 
_юзер_   (2003-12-26 17:30) [10]

я, например, про вышеупомянутые числа ничего не знал до этого момента, поэтому [7] выглядело со стороны как издевательство.
2DVM:
а где можна достать какаю-нибудь информацию про эти "магические"
числа?



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

Текущий архив: 2004.01.13;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.008 c
14-37855
Ермек
2003-12-23 01:28
2004.01.13
Руссифицированный IbExpert


3-37524
OlegM
2003-12-16 10:00
2004.01.13
Добавить изображение в Blob поле


4-37978
Vovchik
2003-11-02 15:39
2004.01.13
Как перехватить событие смены активного окна?


1-37602
BlackLord2003
2004-01-01 12:45
2004.01.13
Перекодировка текста


14-37882
vic_774N
2003-12-02 21:46
2004.01.13
Ищу шрифт Blagovest и подобные ему





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