VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 752|回复: 6

VB6如何利用API读取屏幕分辨率矫正坐标系不圆度

[复制链接]
发表于 2017-5-23 14:41:30 | 显示全部楼层 |阅读模式
本帖最后由 lwjohn 于 2017-5-23 14:42 编辑

Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Const SM_CXSCREEN = 0----这是什么意思?
Const SM_CYSCREEN = 1----这是什么意思?

这个API可以读取屏幕大小,但是不能排除开始菜单和标题栏所占用的尺寸,没有彻底改善函数画圆的不圆度。
所以在设置SCALE还要适当加个修正个系数。竖的开始菜单和横的开始菜单,修正系数不同。

CIRCLE (X,Y),R,COLOR是修正好的,函数画圆是椭圆。例如
FOR T=0 TO 7 STEP 0.001
X=R*COS(T)
Y=R*SIN(T)
PSET (X,Y),VBRED
NEXT
椭圆出来了
 楼主| 发表于 2017-5-24 10:44:15 | 显示全部楼层
转贴
获取当前显示器屏幕大小:
    int nScreenWidth = ::GetSystemMetrics(SM_CXSCREEN);
    int nScreenHeight = ::GetSystemMetrics(SM_CYSCREEN);

获取当前Working Area大小,不包括任务栏:
    CRect rcWorkArea;
    SystemParametersInfo(SPI_GETWORKAREA, NULL, &rcWorkArea, NULL);

多显示器的时候可以使用SM_XVIRTUALSCREEN、SM_YVIRTUALSCREEN、SM_CXVIRTUALSCREEN和SM_CYVIRTUALSCREEN等参数获取虚拟屏幕的尺寸。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-24 10:46:53 | 显示全部楼层
获取当前显示器屏幕大小:
    int nScreenWidth = ::GetSystemMetrics(SM_CXSCREEN);
    int nScreenHeight = ::GetSystemMetrics(SM_CYSCREEN);

获取当前Working Area大小,不包括任务栏:
    CRect rcWorkArea;
    SystemParametersInfo(SPI_GETWORKAREA, NULL, &rcWorkArea, NULL);

多显示器的时候可以使用SM_XVIRTUALSCREEN、SM_YVIRTUALSCREEN、SM_CXVIRTUALSCREEN和SM_CYVIRTUALSCREEN等参数获取虚拟屏幕的尺寸。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-24 10:47:06 | 显示全部楼层
获取当前显示器屏幕大小:
    int nScreenWidth = ::GetSystemMetrics(SM_CXSCREEN);
    int nScreenHeight = ::GetSystemMetrics(SM_CYSCREEN);

获取当前Working Area大小,不包括任务栏:
    CRect rcWorkArea;
    SystemParametersInfo(SPI_GETWORKAREA, NULL, &rcWorkArea, NULL);

多显示器的时候可以使用SM_XVIRTUALSCREEN、SM_YVIRTUALSCREEN、SM_CXVIRTUALSCREEN和SM_CYVIRTUALSCREEN等参数获取虚拟屏幕的尺寸。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-24 10:49:42 | 显示全部楼层
突然想到,应该利用VB窗体数据自动设置坐标系.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-24 10:54:05 | 显示全部楼层
突然想到,应该利用VB窗体数据自动设置坐标系.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-24 10:54:55 | 显示全部楼层
本帖最后由 lwjohn 于 2017-5-24 16:44 编辑

重复,如何删除?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2017-9-26 01:15

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表