]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/fontdlg.cpp
fix for handling TAB presses in readonly text controls
[wxWidgets.git] / src / msw / fontdlg.cpp
index 75acaeeea323ac3d4ad90667696d2c37f9aaf359..40fc00a1a52ce6199282ac503148b3c9558f0a35 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        fontdlg.cpp
+// Name:        src/msw/fontdlg.cpp
 // Purpose:     wxFontDialog class
 // Author:      Julian Smart
 // Modified by:
@@ -28,6 +28,8 @@
     #pragma hdrstop
 #endif
 
+#if wxUSE_FONTDLG
+
 #ifndef WX_PRECOMP
     #include "wx/defs.h"
     #include "wx/utils.h"
@@ -37,7 +39,8 @@
 #include "wx/fontdlg.h"
 
 #if !defined(__WIN32__) || defined(__SALFORDC__) || defined(__WXWINE__)
-    #include <commdlg.h>
+#include <windows.h>
+#include <commdlg.h>
 #endif
 
 #include "wx/msw/private.h"
@@ -52,7 +55,7 @@
 // wxWin macros
 // ----------------------------------------------------------------------------
 
-    IMPLEMENT_DYNAMIC_CLASS(wxFontDialog, wxDialog)
+IMPLEMENT_DYNAMIC_CLASS(wxFontDialog, wxDialog)
 
 // ============================================================================
 // implementation
 // wxFontDialog
 // ----------------------------------------------------------------------------
 
-wxFontDialog::wxFontDialog()
-{
-    m_parent = NULL;
-}
-
-wxFontDialog::wxFontDialog(wxWindow *parent, wxFontData *data)
-{
-    Create(parent, data);
-}
-
-bool wxFontDialog::Create(wxWindow *parent, wxFontData *data)
-{
-    m_parent = parent;
-
-    wxCHECK_MSG( data, FALSE, _T("no font data in wxFontDialog") );
-
-    m_fontData = *data;
-
-    return TRUE;
-}
-
 int wxFontDialog::ShowModal()
 {
     DWORD flags = CF_SCREENFONTS | CF_NOSIMULATIONS;
@@ -103,7 +85,13 @@ int wxFontDialog::ShowModal()
         wxFillLogFont(&logFont, &m_fontData.initialFont);
     }
 
-    chooseFontStruct.rgbColors = wxColourToRGB(m_fontData.fontColour);
+    if ( m_fontData.fontColour.Ok() )
+    {
+        chooseFontStruct.rgbColors = wxColourToRGB(m_fontData.fontColour);
+
+        // need this for the colour to be taken into account
+        flags |= CF_EFFECTS;
+    }
 
     // CF_ANSIONLY flag is obsolete for Win32
     if ( !m_fontData.GetAllowSymbols() )
@@ -156,3 +144,5 @@ int wxFontDialog::ShowModal()
         return wxID_CANCEL;
     }
 }
+
+#endif // wxUSE_FONTDLG