请教高手!坐标转换的问题,不是ClientToScreen那么简单!涉及WinAPI! ( 积分: 100 )

  • 主题发起人 主题发起人 dejoy
  • 开始时间 开始时间
D

dejoy

Unregistered / Unconfirmed
GUEST, unregistred user!
我用GetClipRgn取得了一个控件的可见区域(不规则区域,并不一定是矩形,不然用GetClipBox了,也就不存在这个问题了),取得的句柄rgn是这个控件的坐标系统,我想把这个rgn转换成屏幕坐标系统,必须这样,因为我要和其它屏幕坐标系统的区域进行运算。可是我找不到可以像ClienttoScreen这样的对Hrgn类型的函数,也许有我不知道。请问高手,我该怎么办,是不是有这样的函数可以使用?
 
我用GetClipRgn取得了一个控件的可见区域(不规则区域,并不一定是矩形,不然用GetClipBox了,也就不存在这个问题了),取得的句柄rgn是这个控件的坐标系统,我想把这个rgn转换成屏幕坐标系统,必须这样,因为我要和其它屏幕坐标系统的区域进行运算。可是我找不到可以像ClienttoScreen这样的对Hrgn类型的函数,也许有我不知道。请问高手,我该怎么办,是不是有这样的函数可以使用?
 
用 ClienttoScreen 转换 (0,0)
得到该控件原点(0,0)在屏幕的坐标(x,y)
然后用 OffsetRgn(HRgn,x,y) 把HRgn整个移动x,y,就变成了屏幕坐标
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部