[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
public class LOGFONT
{
public int lfHeight;
public int lfWidth;
public int lfEscapement;
public int lfOrientation;
public int lfWeight;
public byte lfItalic;
public byte lfUnderline;
public byte lfStrikeOut;
public byte lfCharSet;
public byte lfOutPrecision;
public byte lfClipPrecision;
public byte lfQuality;
public byte lfPitchAndFamily;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=32)]
public string lfFaceName;
}
TODO
None.
None.
Please add some!
Please add some!
The .NET Framework class Font has a method, Font::FromLogfont that uses almost the exact same C# signature as above, and takes an Object reference as it's method parameter. When using the StructLayout attribute on the class definition, you must set the CharSet property to Auto (the default is Ansi, which will not work corectly). When instantiating in your managed application, you must cast the LOGFONT class to a System::Object for the function to work without generating a runtime exception.