From: Dimitri Kowaletschew on 9 Dec 2009 12:40
I am not sure if anybody readt my post because I posted it when the
thread seemed to be already solved.
It isn't... I am still struggeling...
So here is my message again. Perhaps anybody has an idea where I am
There are several places in my code where I could set the size, but the
one function that actually does set the size doesn't want any parameters
that define the Unit of the font size...
Does anybody see where else I should define UnitPixel?
GdipCreateFromHDC lhdc, graphics ' Initialize the graphics class -
required for all drawing
borderCount = 2
GdipSetSmoothingMode graphics, SmoothingModeAntiAlias
' Set the Text Rendering Quality
'GdipSetTextRenderingHint graphics, TextRenderingHint
' Create a font family object to allow us to create a font
' We have no font collection here, so pass a NULL for that parameter
GdipCreateFontFamilyFromName obj.FontName, 0, fontFam
GdipIsStyleAvailable fontFam, FS, IsAvailable
If IsAvailable = 0 Then
Dim Msg As String
Msg = "Font family " & _
obj.FontName & _
" NOT available under GDI+"
' Create the font from the specified font family name
' >> Note that we have changed the drawing Unit from pixels to points!!
FS = FontStyleRegular 'not really needed since it's zero
If obj.FontBold Then FS = FS + FontStyleBold
If obj.FontItalic Then FS = FS + FontStyleItalic
If obj.FontStrikethru Then FS = FS + FontStyleStrikeout
If obj.FontUnderline Then FS = FS + FontStyleUnderline
GdipCreateFont fontFam, 0, FS, GpUnit.UnitPixel, curFont
' Create the StringFormat object
' We can pass NULL for the flags and language id if we want
GdipCreateStringFormat 0, LocaleID, strFormat
' Justify each line of text
GdipSetStringFormatAlign strFormat, Alignment Mod 3
' Justify the block of text (top to bottom) in the rectangle.
GdipSetStringFormatLineAlign strFormat, Int(Alignment \ 3)
GdipCreatePath FillModeWinding, path
GdipAddPathString path, _
sText, -1, _
LSet box = rct
rct2 = SetGradientRectF(box,
LinearGradientMode.LinearGradientModeVertical, 1, True)
GdipCreateLineBrushFromRect rct2, _
GdipSetLineGammaCorrection brush, Gamma(3)
If brush Then
GdipFillPath graphics, brush, path
From: Patrice on 11 Dec 2009 07:27
"Doesn't want" means ? (does the app crash or it runs but doesn't have any
What if you check the return value ? curFont doesn't seems to be used
following its creation. I'm not familiar with this API (wine ?) but in most
of them you have to "select" the font to use once created...
If you change something else (such as the font family) but another font
family is ude it would confirm that you create the font but doesn't use it
Sorry for the poor help.
From: Patrice on 11 Dec 2009 07:42
Get rid of non needed code and include the declares you are using. This way
others will be able to run, reproduce and possibly debug the minimal amount
of code needed to duplicate this problem in no time compared with having to
get those missing declares (and one of those you use could be the
(Sorry I thought I was in another group and was surprised by the close to
the metal GDI calls.)
Prev: MSFLXGRD.OCX and Error 747 'Design Time license' missing
Next: Win7 and UAC with VB6 apps