![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WM_MOUSEMOVE для STATIC
M.A. © (2014-11-03 23:08:00)Здравствуйте.
Как получить координаты мыши только над STATIC'ом со стилем SS_NOTIFY?
Подскажите пожалуйста.
Спасибо.
Rouse_ (2014-11-05 20:07:00) [1]Что ты такое "забавное" пишешь?
M.A. (2014-11-04 11:49:00) [2]Вопрос снят.
var
XStat, YStat : Integer;
hpbPrev : Pointer;
...
function pbWndProc(Wnd : HWND; Msg, wParam, lParam : Longint) : Longint; stdcall;
begin
Result := CallWindowProc(hpbPrev, Wnd, Msg, wParam, lParam);
case Msg of
WM_MOUSEMOVE : //MessageBox(Wnd, 'ProgressBar1Click', 'Click', MB_OK);
begin
XStat := LOWORD(lParam);
YStat := HIWORD(lParam);
SetWindowText(Form, PChar(IntToStr(XStat) + ' ' + IntToStr(YStat)));
end;
end;
end;
WM_CREATE:
begin
StatProg := CreateWindowEx(0, 'Static', '111', WS_CHILD or WS_VISIBLE {or SS_LEFT} or SS_NOTIFY, 0, Rect.Bottom - 70, Rect.Right, 20, Forma, StatProgID, HInstance, nil);
hpbPrev := Pointer(GetWindowLong(StatProg, GWL_WNDPROC));
SetWindowLong(StatProg, GWL_WNDPROC, Longint(@pbWndProc));
end;