2,728
社区成员
发帖
与我相关
我的任务
分享
*!* 函数名称:GetTextCharacterExtra
*!* 函数功能:获取指定设备环境中当前字符间隔
Clear
Do Decl
#Define TRANSPARENT 1
#Define OPAQUE 2
#Define TA_LEFT 0
#Define TA_CENTER 6
#Define TA_RIGHT 2
Private hWindow, hDC
hWindow = GetActiveWindow()
hDC = GetWindowDC(hWindow)
= SetBkMode (hDC, TRANSPARENT)
Do PrintText With Rgb(192, 0, 0), 600, 100, 0, 0
Do PrintText With Rgb( 0,192, 0), 600, 120, 6, 1
Do PrintText With Rgb( 0, 0,192), 600, 140, 2, 2
Do PrintText With Rgb(192, 0,192), 600, 160, 2, 3
Do PrintText With Rgb(192,192, 0), 600, 180, 0, 1
Do PrintText With Rgb( 0,192,192), 600, 200, 6, 0
= ReleaseDC(hWindow, hDC)
Procedure PrintText (lnColor, lnX, lnY, lnAlign, lnInterChar)
Local lcText, lcFont, lnBufsize
lcFont = Space(250)
lnBufsize = GetTextFace(hDC, Len(lcFont), @lcFont)
lcFont = Left(lcFont, lnBufsize)
= SetTextAlign (hDC, lnALign)
= SetTextCharacterExtra (hDC, lnInterChar)
= SetTextColor (hDC, lnColor)
lcText = ;
"字体名: " + lcFont + ;
", 颜色值: " + Ltrim(Str(GetTextColor(hDC))) + ;
", 字对齐: " + Ltrim(Str(GetTextAlign(hDC))) + ;
", 字间距: " + Ltrim(Str(GetTextCharacterExtra(hDC)))
= TextOut (hDC, lnX, lnY, lcText, Len(lcText))
Procedure Decl
Declare Integer GetActiveWindow In user32
Declare Integer GetWindowDC In user32 Integer HWnd
Declare Integer ReleaseDC In user32 Integer HWnd, Integer hDC
Declare Integer GetTextAlign In gdi32 Integer hdc
Declare Integer SetTextAlign In gdi32 Integer hdc, Integer fMode
Declare Integer SetTextCharacterExtra In gdi32 Integer hdc, Integer nCharExtra
Declare Integer GetTextCharacterExtra In gdi32 Integer hdc
Declare Integer GetTextColor In gdi32 Integer hdc
Declare Integer SetTextColor In gdi32 Integer hdc, Integer crColor
Declare Integer SetBkMode In gdi32 Integer hdc, Integer iBkMode
Declare Integer TextOut In gdi32;
INTEGER hdc, Integer x, Integer Y,;
STRING lpString, Integer nCount
Declare Integer GetTextFace In gdi32;
INTEGER hdc, Integer nCount, String @lpFaceName
Endproc