VFP中GDI+中遇到的问题
在用GDI打印文字时,我想用gpGraphics中的measurestringa来测量文字的宽度和高度,但怎么样试都没有用,不知道有没有大神能给给予指导。用其他语言很容易,但VFP中好多类型没有,实在搞不定。求求了!
DECLARE integer CreateCompatibleDC IN gdi32 integer
DECLARE integer DeleteDC IN gdi32 integer
Set ClassLib To "_gdiplus.vcx"
PUBLIC loGraphics ,lfont
loGraphics = CreateObject("gpGraphics") &&创建画布对象
lfont=CreateObject("gpfont")
form.计算文字宽:
PARAMETERS 计算文本,字体名称,字体大小,字体风格
LOCAL _图形,mdc_id,_文本矩形,_字体
mdc_id=CreateCompatibleDC(0)
IF mdc_id=0
RETURN 0
ENDIF
PUBLIC a,c,d,rect
rect=NEWOBJECT("gprectangle")
IF loGraphics.CreateFromHDC(mdc_id)
lfont.Create(字体名称,字体大小,字体风格,2)
a=loGraphics.MeasureStringw(计算文本,lfont,@rect,,@c,@d)
ENDIF
?c,d
command.click:
thisform.计算文字宽("微软雅黑微软雅黑","微软雅黑",30,)
想要结果:文字相关字体和字号下出来的宽度,但出不来。
出来的是
8 1
用
?a
结果是
对象
[此贴子已经被作者于2023-11-6 08:57编辑过]