[DllImport("comdlg32.dll", CharSet = CharSet.Auto, EntryPoint = "ChooseFont", SetLastError=true)]
public extern static bool ChooseFont(IntPtr lpcf);
Declare Function ChooseFont Lib "comdlg32.dll" (TODO) As TODO
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct CHOOSEFONT
{
public int lStructSize;
public IntPtr hwndOwner;
public IntPtr hDC;
public IntPtr lpLogFont;
public int iPointSize;
public int Flags;
public int rgbColors;
public IntPtr lCustData;
public IntPtr lpfnHook;
public string lpTemplateName;
public IntPtr hInstance;
public string lpszStyle;
public short nFontType;
private short __MISSING_ALIGNMENT__;
public int nSizeMin;
public int nSizeMax;
}
Do you know one? Please contribute it!
None.
Please add some!
LOGFONT logfont = new LOGFONT();
logfont.lfFaceName = "Segoe UI";
IntPtr pLogfont = Marshal.AllocHGlobal(Marshal.SizeOf(logfont));
Marshal.StructureToPtr(logfont, pLogfont, false);
CHOOSEFONT choosefont = new CHOOSEFONT();
choosefont.lStructSize = Marshal.SizeOf(choosefont);
choosefont.nSizeMin = 64;
choosefont.nSizeMax = 64;
choosefont.Flags = (int)CHOOSEFONTFLAGS.CF_SCREENFONTS
| (int)CHOOSEFONTFLAGS.CF_FORCEFONTEXIST
| (int)CHOOSEFONTFLAGS.CF_INACTIVEFONTS
| (int)CHOOSEFONTFLAGS.CF_INITTOLOGFONTSTRUCT
| (int)CHOOSEFONTFLAGS.CF_SCALABLEONLY
| (int)CHOOSEFONTFLAGS.CF_USESTYLE;
choosefont.lpLogFont = pLogfont;
IntPtr pChoosefont = Marshal.AllocHGlobal(Marshal.SizeOf(choosefont));
Marshal.StructureToPtr(choosefont, pChoosefont, false);
bool result = ChooseFont(pChoosefont);
Marshal.FreeHGlobal(pChoosefont);
Marshal.FreeHGlobal(pLogfont);
