- size_t wxOwnerDrawn::ms_nDefaultMarginWidth = GetSystemMetrics(SM_CXMENUCHECK);
-#else // # what is the reasonable default?
- size_t wxOwnerDrawn::ms_nDefaultMarginWidth = 15;
+ // get the default menu height and font from the system
+ NONCLIENTMETRICS nm;
+ nm.cbSize = sizeof (NONCLIENTMETRICS);
+ SystemParametersInfo (SPI_GETNONCLIENTMETRICS,0,&nm,0);
+ m_nMinHeight = nm.iMenuHeight;
+
+ // nm.iMenuWidth is the system default for the width of
+ // menu icons and checkmarks
+ if (ms_nDefaultMarginWidth == 0)
+ {
+ ms_nDefaultMarginWidth = nm.iMenuWidth;
+ ms_nLastMarginWidth = nm.iMenuWidth;
+ }
+
+ wxNativeFontInfo info;
+ memcpy(&info.lf, &nm.lfMenuFont, sizeof(LOGFONT));
+ m_font.Create(info);
+#else
+ // windows clean install default
+ m_nMinHeight = 18;
+
+ if (ms_nDefaultMarginWidth == 0)
+ {
+ ms_nDefaultMarginWidth = 18;
+ ms_nLastMarginWidth = 18;
+ }
+ if (wxNORMAL_FONT)
+ m_font = *wxNORMAL_FONT;