Restored from previous forum. Originally posted by GPI.
Simular to TextLength() to get the hight of a Font. I know that i can select a FontHeight with loadfont() but this FontHeightPixelHight.
So, does somebody know a Api-Call to do this?
PII 333, 256MB, Asus TNT2Ultra 32MB, AWE Gold 64 4MB
I miss a TextHeight()
-
BackupUser
- PureBasic Guru

- Posts: 16777133
- Joined: Tue Apr 22, 2003 7:42 pm
Restored from previous forum. Originally posted by tinman.
--
I used to be a nihilist but I don't believe in that any more.
(Win98first ed. + all updates, PB3.62, external editor)
I think PB posted a tip about determining whether the user has big fonts. You can use the code in there to get the pixel height.Originally posted by GPI
So, does somebody know a Api-Call to do this?
--
I used to be a nihilist but I don't believe in that any more.
(Win98first ed. + all updates, PB3.62, external editor)
-
BackupUser
- PureBasic Guru

- Posts: 16777133
- Joined: Tue Apr 22, 2003 7:42 pm
Restored from previous forum. Originally posted by GPI.
Thanks, found a solution:
PII 333, 256MB, Asus TNT2Ultra 32MB, AWE Gold 64 4MB
Thanks, found a solution:
Code: Select all
;see the example, how to get the hdc
Procedure GetTextHeight(hdc)
tm.textmetric
PrevMapMode=SetMapMode_(hdc,#mm_text)
gettextmetrics_(hdc,tm)
If prevmapmode
setmapmode_(hdc,prevmapmode)
EndIf
ProcedureReturn tm\tmHeight
EndProcedure
LoadFont(0,"TeXplus EX",10)
CreateImage(0,100,100)
hdc=StartDrawing(ImageOutput()) ; start drawing and get the HDC
DrawingFont(UseFont(0)) ; Use the own font
Height=GetTextHeight(hdc) ; how big it is
;draw a text with a pixel-line between the text
Locate(1,1)
DrawText("XYZ")
Locate(1,1+Height+1)
DrawText("abc")
StopDrawing()
CloseFont(0)
;display it
OpenWindow(0,0,0,100,100,#pb_window_screencentered,"TEST")
CreateGadgetList(WindowID())
ImageGadget(0,0,0,100,100,ImageID())
Repeat
Until WaitWindowEvent()=#pb_event_closewindow
End