X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9ed0d735d588f42485461ea526596436c4c6ad4b..046d682f0f684977b7ba933a128f5c84e06ded0e:/src/msw/colordlg.cpp diff --git a/src/msw/colordlg.cpp b/src/msw/colordlg.cpp index 3e9571bc9e..18705d6d08 100644 --- a/src/msw/colordlg.cpp +++ b/src/msw/colordlg.cpp @@ -17,7 +17,7 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "colordlg.h" #endif @@ -42,17 +42,14 @@ #include "wx/msgdlg.h" #endif -#if wxUSE_COLOURDLG +#if wxUSE_COLOURDLG && !(defined(__SMARTPHONE__) && defined(__WXWINCE__)) #include "wx/msw/private.h" #include "wx/colordlg.h" #include "wx/cmndata.h" +#include "wx/math.h" +#include "wx/msw/wrapcdlg.h" -#if !defined(__WIN32__) || defined(__WXWINCE__) - #include -#endif - -#include #include #include @@ -70,10 +67,11 @@ IMPLEMENT_DYNAMIC_CLASS(wxColourDialog, wxDialog) // colour dialog hook proc // ---------------------------------------------------------------------------- -UINT CALLBACK wxColourDialogHookProc(HWND hwnd, - UINT uiMsg, - WPARAM WXUNUSED(wParam), - LPARAM lParam) +UINT_PTR CALLBACK +wxColourDialogHookProc(HWND hwnd, + UINT uiMsg, + WPARAM WXUNUSED(wParam), + LPARAM lParam) { if ( uiMsg == WM_INITDIALOG ) { @@ -116,7 +114,7 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data) if (data) m_colourData = *data; - return TRUE; + return true; } int wxColourDialog::ShowModal() @@ -127,7 +125,12 @@ int wxColourDialog::ShowModal() int i; for (i = 0; i < 16; i++) - custColours[i] = wxColourToRGB(m_colourData.m_custColours[i]); + { + if (m_colourData.m_custColours[i].Ok()) + custColours[i] = wxColourToRGB(m_colourData.m_custColours[i]); + else + custColours[i] = RGB(255,255,255); + } chooseColorStruct.lStructSize = sizeof(CHOOSECOLOR); if ( m_parent ) @@ -146,10 +149,9 @@ int wxColourDialog::ShowModal() bool success = ::ChooseColor(&(chooseColorStruct)) != 0; // Try to highlight the correct window (the parent) - HWND hWndParent = 0; if (GetParent()) { - hWndParent = (HWND) GetParent()->GetHWND(); + HWND hWndParent = (HWND) GetParent()->GetHWND(); if (hWndParent) ::BringWindowToTop(hWndParent); } @@ -196,10 +198,10 @@ void wxColourDialog::DoSetSize(int x, int y, int WXUNUSED(width), int WXUNUSED(height), int WXUNUSED(sizeFlags)) { - if ( x != -1 ) + if ( x != wxDefaultCoord ) m_pos.x = x; - if ( y != -1 ) + if ( y != wxDefaultCoord ) m_pos.y = y; // ignore the size params - we can't change the size of a standard dialog @@ -226,4 +228,4 @@ void wxColourDialog::DoGetClientSize(int *width, int *height) const *height = 299; } -#endif +#endif // wxUSE_COLOURDLG && !(__SMARTPHONE__ && __WXWINCE__)