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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
1-37667
BaDeVlad
2003-12-25 16:14
2004.01.13
Чтобы шрифт выводился без сглаживания


3-37572
Oleg_em
2003-12-15 08:38
2004.01.13
как программно получить список алиасов BDE


1-37632
Steven V Uspen
2003-12-27 17:48
2004.01.13
Подскажите как проект из D6 сохранить в D5?


11-37592
Сызганов Николай
2003-04-21 12:52
2004.01.13
Работа с DBExpress ( D7) из-под КОЛ возможна?


1-37630
Cyberjack
2003-12-27 19:18
2004.01.13
DHTMLEdit





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