|
|
Преобразует оконные координаты указанной точки указанного окна в экранные координаты.
Синтаксис
function ClientToScreen(
| hWnd, | Point
| ): Number;
|
Параметры
|
Параметр
| Тип
| Описание
|
hWnd
| Number
| дескриптор окна
|
Point
| TPoint
| оконные/экранные координаты точки
|
|
Возвращаемое значение
true в случае успеха или false в противном случае.
Экранные координаты точки возвращаются в параметре Point, замещая собой оконные координаты.
var tab=15; var tx1="Оконные\nкоординаты мыши: "; var tx2="Экранные\nкоординаты мыши: ";
// Главная форма frm=new TForm(); frm.Caption="JS+ - функция WinAPI ClientToScreen"; frm.Width =450; frm.Height=300; frm.WindowProc=frm_WndProc;
// Строка состояния stb=new TStatusBar(frm); stb.SimpleText=" Перемещайте форму и мышь в пределах формы"
// Текстовая метка для оконных координат lb1=new TLabel(frm); lb1.Caption=tx1; lb1.Left=tab; lb1.Top =tab;
// Текстовая метка для экранных координат lb2=new TLabel(frm); lb2.Caption=tx2; lb2.Left=tab; lb2.Top =lb1.Top+lb1.Height+tab;
frm.ShowModal();
// Оконная процедура формы function frm_WndProc(Sender,Msg,wParam,lParam) { var hWnd=Sender.Handle;
switch (Msg) { case WM_MOUSEMOVE:// Перемещение мыши в окне формы out_Coords(lParam.loWord(),lParam.hiWord()); break;
case WM_DESTROY : SetWindowLong(hWnd,GWL_WNDPROC,Sender.OldWndProc); }
return CallWindowProc(Sender.OldWndProc,hWnd,Msg,wParam,lParam); }
function out_Coords(x,y) { var pnt;
lb1.Caption=tx1+x+", "+y;
pnt=Point(x,y); if (ClientToScreen(frm.Handle,pnt)) { lb2.Caption=tx2+pnt.x+", "+pnt.y; return; }
stb.SimpleText="Ошибка при преобразовании координат"; }
Совместимость
Windows API
|
JS+ | Руководство пользователя
|
|
|
|
|
|