如何确定字体大小设置

文章翻译 文章翻译
文章编号: 137556 - 查看本文应用于的产品
本文已归档。它按“原样”提供,并且不再更新。
展开全部 | 关闭全部

概要

在本文中的代码演示如何使用 Foxtools.fll 库命令来调用 Windows 应用程序编程接口 (API) 函数,以确定小或大字体是否使用当前的 Windows 会话。使用以下 API 函数:
GetDC()
GetDeviceCaps()
ReleaseDC()
				

更多信息

该程序将第一次加载 Foxtools.fll 库与 FoxPro 为 Windows 提供的。然后它初始化一些变量,并检索显示设备句柄。接下来,它调用 GetDeviceCaps 功能请求的显示宽度和高度的逻辑英寸的像素数。是否等于 96 像素数 Windows 正在运行与小写的字体。是否等于 120 像素数 Windows 正在使用大字体。程序然后释放该句柄以显示设备和库。
SET LIBRARY TO SYS(2004) + "FOXTOOLS.FLL" ADDITIVE

* create variables to pass index to GetDeviceCaps()
* this value cane be found in the WINGDI.H file

LOGPIXELSX = 88
LOGPIXELSY = 90

* get the handle to the device context

lnGetDC = RegFN("GetDC","I","I")
lnHDC = CallFN(lnGetDC,0)

* get the number of pixels per logical inch

lnGetLogPix = RegFN("GetDeviceCaps","II","I")
lnLogPixX = CallFN(lnGetLogPix,lnHDC,LOGPIXELSX)
lnLogPixY = CallFN(lnGetLogPix,lnHDC,LOGPIXELSY)

* determine if small or large fonts, either lnLogPixX or
* lnLogPixY may be used to test for the values 96 or 120

IF lnLogPixX < 96
  WAIT WINDOW "Windows is using smaller than Small Fonts"   
ELSE IF InLogPixX = 96
  WAIT WINDOW "Windows is using Small Fonts"   
ELSE IF InLogPixX < 120
  WAIT WINDOW "Windows is using between Small Fonts and Large Fonts"
ELSE IF IF lnLogPixX = 120
  WAIT WINDOW "Windows is using Large Fonts"
ELSE
  WAIT WINDOW "Windows is using larger than Large Fonts"
ENDIF

* release the handle to the device context

lnRelease = RegFN("ReleaseDC","II","I")
= CallFN(lnRelease,0,lnHDC)

* release the FOXTOOLS.FLL library

RELEASE LIBRARY SYS(2004) + "FOXTOOLS.FLL"
				

参考

Microsoft Windows 软件开发工具包"程序员参考卷 2: 函数,"页 350 354 785。

Foxtools.wri C:\Fpw26\Goodies\Foxtools 目录中。

Wingdi.h C:\C700\Include 目录中

属性

文章编号: 137556 - 最后修改: 2014年2月22日 - 修订: 2.2
这篇文章中的信息适用于:
  • Microsoft FoxPro 2.5b
  • Microsoft FoxPro 2.5a
  • Microsoft FoxPro 2.5b
  • Microsoft FoxPro 2.6 标准版
  • Microsoft FoxPro 2.6a 标准版
关键字:?
kbnosurvey kbarchive kbmt kbfont kbhowto KB137556 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 137556
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com