VB中利用API获取屏幕DPI值和1像素等于多少缇.doc

VB中利用API获取屏幕DPI值和1像素等于多少缇.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VB中利用API获取屏幕DPI值和1像素等于多少缇

VB中利用API获取屏幕DPI值 在屏幕上放置三个label控件,分别为label1 , label2 , label3 ****************************************************** Private Declare Function GetDC Lib user32.dll (ByVal hwnd As Long) As Long Private Declare Function GetDeviceCaps Lib gdi32.dll (ByVal hdc As Long, ByVal nIndex As Long) As Long Private Const LOGPIXELSX As Long = 88 Private Const LOGPIXELSY As Long = 90 Private Sub Form_Load() Dim dpi_x As Long Dim dpi_y As Long Dim hdc0 As Long hdc0 = GetDC(0) dpi_x = GetDeviceCaps(hdc0, LOGPIXELSX) dpi_y = GetDeviceCaps(hdc0, LOGPIXELSY) Label1 = DPI_X= dpi_x Label2 = DPI_Y= dpi_y Label3 = 1 像素 = 1440 / dpi_x 缇 End Sub **************************************************************** 以下为API函数说明 GetDeviceCaps VB声明 Declare Function GetDeviceCaps Lib gdi32 Alias GetDeviceCaps (ByVal hdc As Long, ByVal nIndex As Long) As Long 说明 根据指定设备场景代表的设备的功能返回信息 返回值 Long,参见GetDeviceCaps索引表 参数表 参数 类型及说明 hdc Long,要查询其设备的信息的设备场景 nIndex Long,根据GetDeviceCaps索引表所示常数确定返回信息的类型 Top GetDC VB声明 Declare Function GetDC Lib user32 Alias GetDC (ByVal hwnd As Long) As Long 说明 获取指定窗口的设备场景 返回值 Long,指定窗口的设备场景句柄,出错则为0 参数表 参数 类型及说明 hwnd Long,将获取其设备场景的窗口的句柄。若为0,则要获取整个屏幕的DC 注解 若窗口所属类具有CS_OWNDC, CS_CLASSDC 或 CS_PARENTDC样式,则获取的设备场景属窗口或类专有。vb的窗体和图片框控件也是这种情况,它用该函数取得的结果和控件的hdc属性相同(在autoredraw为FALSE时)。您无须考虑取回的窗体或图片框控件设备场景的默认状态,特别是绘图对象。另外,默认状态随着窗体和控件autoredraw属性的设置而不同。在设备场景释放前您必须回复其状态为初始值。对于没有CS_OWNDC, CS_CLASSDC 或 CS_PARENTDC样式的窗口的设备场景,可从通用windows缓存中获取,其状态为默认值。缓存中可用设备场景数量是有限的,因此只要可能就释放设备场景 用本函数获取的设备场景一定要用ReleaseDC函数释放,不能用DeleteDC Top GetDeviceCaps索引表 常数 返回信息 DRIVERVERSION 设备驱动程序版本 TECHNOLOGY 下列常数之一: DT_PLOTTER:绘图仪。DT_RASDISPLAY:光栅显示器。DT_RASPRINTER:光栅打印机。DT_RASCAMERA:光栅照相机。DT_CHARSTREAM:字符流。DT_METAFILE:图元文件。DT_DISPFILE:显示文件 HORZSIZE 以毫米为单位的显示宽度 VERTSIZE 以毫米为单位的显示高度 HORZRES 以像素为单位的显示宽度 VERTRES 以像素为单位的显示高度 LOGPIXELSX 像素/逻辑英寸(水平) LOGPIXELSY 像素/逻辑英寸(垂直) BITSPIXEL 位/像素(每个调色板) PLANES 调色板个数 NUMBRUSHES 设备内建刷子个数 NUMPENS 设备内建画笔个数 NUM

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档