Вверх ↑
Ответов: 4631
Рейтинг: 749
#1: 2014-04-16 17:21:54 ЛС | профиль | цитата
Эта функция возвращает не позицию курсора, а позицию "карандаша" (Pen) для рисования. Для курсора поищи функции в других разделах, а не GDI. Например, GetCursorPos, а потом из полученных координат - ScreenToClient.

Add(MainForm,9413013,448,231)
{
Width=346
Height=240
Position=1
Point(Handle)
}
Add(InlineCode,4182753,448,280)
{
WorkPoints=#5:doGet|
EventPoints=#5:onGet|9:onGetBOOL|
DataPoints=#6:Handle|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|38:uses kol,Share,Debug,Windows,Messages;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|10: DC:HDC;|14: pos:TPoint;|9: public|21: onGet:THI_Event;|25: onGetBOOL:THI_Event;|22: Handle:THI_Event;|49: procedure doGet(var Data:TData; index:word);|5: end;|0:|14:implementation|0:|56:procedure THiAsmClass.doGet(var Data:TData; index:word);|3:var|13: H: THandle;|5:begin|34: H := ReadInteger(Data,handle,0);|20: GetCursorPos(pos);|25: ScreenToClient(H, pos);|28: _hi_OnEvent(onGet, pos.x);|4:end;|0:|0:|4:end.|
link(onGet,3644855:doText,[])
link(onGetBOOL,1264290:doText,[(488,293)(488,377)])
link(Handle,9413013:Handle,[])
}
Add(Timer,15923945,350,280)
{
Interval=300
link(onTimer,4182753:doGet,[])
}
Add(Edit,3644855,497,280)
{
Left=45
Top=20
Width=70
}
Add(Label,11053676,497,231)
{
Left=10
Top=20
Width=29
Height=17
Caption="pos.x"
}
Add(Edit,1264290,497,371)
{
Left=205
Top=20
Width=70
}
Add(Label,10251844,497,329)
{
Left=145
Top=25
Height=17
Caption="Успешно"
}

карма: 26

1
Голосовали:MAV