GetWindowRect() 得到的是在屏幕坐标系下的RECT(即以屏幕左上角为原点)
GetClientRect() 得到的是在客户区坐标系下的RECT(即以所在窗口左上角为原点,去掉了标题栏计算,仅仅是个大小,返回值的左上角永远为0,0)
ScreenToClient() 就是把屏幕坐标系下的RECT坐标转换为客户区坐标系下的RECT坐标。
我的总结:
如果需要获得窗体在屏幕上的位置,使用GetWindowRect
如果需要获得窗体的大小,使用GetClientRect
1、首先在电脑中打开VB软件,然后点击窗口。
2、然后找到窗体布局窗口,就可以在这里,直接拖曳鼠标,设置窗体的位置。
3、如果没有默认打开,回到 *** 作页面中,找到并点击如下图的按钮。
4、也可以找到stateUpPosition这个属性。
5、然后在打开点页面中,就可以根据自己的需要,设置预设的类型了。
版本 2
DLL命令 取目标窗口大小, , "user32dll", "GetClientRect", , 取窗口大小
参数 目标窗口, 整数型, , 目标窗口句柄
参数 lpRect, 整数型, 数组, 数组。左上角坐标X,Y;右下角坐标X,Y
'模块中
Declare Function GetDC Lib "user32" (ByVal hwnd As Long) _
As Long
Public Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Declare Function BitBlt Lib "gdi32" _
(ByVal hDestDC As Long, ByVal x As Long, _
ByVal y As Long, ByVal nWidth As Long, _
ByVal nHeight As Long, ByVal hSrcDC As Long, _
ByVal xSrc As Long, ByVal ySrc As Long, _
ByVal dwRop As Long) As Long
'form1中
Private Sub Command1_Click()
Dim hDCtmp As Long, picWidth As Double, picHeight As Double
Dim x As Double
Dim y As Double
x = Val(Text2Text)
y = Val(Text3Text)
picWidth = Val(Text3Text)
picHeight = Val(Text4Text)
hDCtmp = GetDC(0)
BitBlt Picture1hdc, 0, 0, picWidth, picHeight, hDCtmp, x, y, vbSrcCopy
ReleaseDC 0, hDCtmp
End Sub
目的: 将屏幕按照指定坐标和大小进行截取成图,在picture1显示
问题: 大小是相同了,为什么截取的坐标不对,只是屏幕上的左上
相信大家都用过QQ截图功能。不过很多人并没有真正掌握好它的用法。将QQ截图与其它截屏和制图软件配合使用,会有意想不到的效果。
获取颜色的RGB值
我们在编辑或网页的时候,经常需要获取某种颜色的“RGB值”,所以很多人都安装了第三方的颜色吸取工具。其时用QQ截图键即可获取屏幕上任意颜色的RGB值。
当按下“Ctrl+Shift+A”d出“截图”提示框时,提示框中的“当前像素RGB”即为当前鼠标屏幕位置的颜色RGB值,将鼠标移动到你想查看的屏幕颜色上即可获得相应的RGB值(如图1)。
图1精确截取大小
有时我们对要使用的截图尺寸有严格要求,比如论坛签名或QQ头像等。用QQ截图键可以按尺寸精确截取,一步到位无需再进行后期裁剪了。
按下QQ截图键,按住鼠标不放选取截取范围时,在鼠标上方会有一个信息框显示当前范围的详细信息,其中“矩形大小”就是以像素来表示的的尺寸大小,括号内的数字分别表示的是长和高(如图2)。松开鼠标调整截图框时,对照“矩形大小”就可以按需要的尺寸来精确截图范围,然后用鼠标点住截图框将截图框拖到要截取的上,双击即可获得所需尺寸的了。
图2拼贴好帮手
大部分的截图软件一次只能截取一张,当要截取多张并进行拼贴组合时,就需要一张一张截取全部保存后再进行拼贴 *** 作,非常麻烦。
我们知道用QQ截图键截取的可以在任一个可以粘贴的程序中使用,这样只需用截图软件进行一次截图 *** 作,剩下的用QQ截图键来截取,然后依次粘贴到截图软件的窗口中即可快速进行拼贴 *** 作了,是不是很方便啊。
小提示:QQ截图键无需打开聊天窗口即可使用,截取的在任一可粘贴的程序窗口中如画图、Word等,使用“粘贴”命令即可使用
以上就是关于VC中如何获取窗口相对桌面的位置全部的内容,包括:VC中如何获取窗口相对桌面的位置、VB获取窗口句柄的详细教程、易语言怎么取指定窗口在屏幕中的位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)