Текущий архив: 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.014 c