| |
|
|
| CompileMarkSeparationSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Text: Stringweite und -höhe im aktiven Fenster berechnen
PRFellow-Vorlage
Autor: Thomas Hölzer, 1999
Höhe und Weite eines Strings im aktiven Fenster berechnen
Def GetTextExtentPoint32(4) !GDI32,GetTextExtentPoint32A
Def GetDC(1) !USER32,GetDC
Def ReleaseDC(2) !USER32,ReleaseDC
Declare _size#,_text#
Proc GetTextExtent
Parameters t$,w%
Declare result&,hdc&
Dim _text#,Add(Len(t$),1)
Dim _size#,8
String _text#,0=t$
Let hdc&=GetDC(GetActiveWindow())
GetTextExtentPoint32(hdc&,_text#,Len(t$),_size#)
Let result&=Long(_size#,4)
Case w%: Let result&=Long(_size#,0)
ReleaseDC(GetActiveWindow(),hdc&)
Dispose _text#
Dispose _size#
Return result&
EndProc
Proc GetStringHeight
Parameters t$
GetTextExtent t$,0
Return &(0)
EndProc
Proc GetStringWidth
Parameters t$
GetTextExtent t$,1
Return &(0)
EndProc
Beispiel
Cls
WindowTitle Add$(GetText$(%hwnd), - Powered by PRFellow 2001)
Print Maße des Strings PRFellow 2001 mit Standardfont:
Print
GetStringWidth PRFellow 2000
Print Weite:,&(0),Pixel
GetStringHeight PRFellow 2001
Print Höhe :,&(0),Pixel
UseFont Arial,25,0,0,0,0
DrawText 10,100,Jetzt mit anderem Font:
GetStringWidth PRFellow 2001
DrawText 10,130,Str$(&(0))
GetStringHeight PRFellow 2001
DrawText 10,155, Str$(&(0))
WaitInput
|
|
|
| |
|
|