Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо