UINT CALLBACK wxColourDialogHookProc(HWND hwnd,
UINT uiMsg,
- WPARAM wParam,
+ WPARAM WXUNUSED(wParam),
LPARAM lParam)
{
if ( uiMsg == WM_INITDIALOG )
wxColourDialog *dialog = (wxColourDialog *)pCC->lCustData;
::SetWindowText(hwnd, dialog->GetTitle());
+
+ wxPoint pos = dialog->GetPosition();
+ if ( pos != wxDefaultPosition )
+ {
+ ::SetWindowPos(hwnd, NULL /* Z-order: ignored */,
+ pos.x, pos.y, -1, -1,
+ SWP_NOSIZE | SWP_NOZORDER);
+ }
}
return 0;
wxColourDialog::wxColourDialog()
{
+ m_pos = wxDefaultPosition;
}
wxColourDialog::wxColourDialog(wxWindow *parent, wxColourData *data)
{
+ m_pos = wxDefaultPosition;
+
Create(parent, data);
}
chooseColorStruct.lCustData = (LPARAM)this;
chooseColorStruct.lpfnHook = wxColourDialogHookProc;
- if (!m_colourData.GetChooseFull())
- chooseColorStruct.Flags |= CC_PREVENTFULLOPEN;
+ if (m_colourData.GetChooseFull())
+ chooseColorStruct.Flags |= CC_FULLOPEN;
// Do the modal dialog
bool success = ::ChooseColor(&(chooseColorStruct)) != 0;
m_title = title;
}
-wxString wxColourDialog::GetTitle()
+wxString wxColourDialog::GetTitle() const
{
return m_title;
}
// position/size
// ----------------------------------------------------------------------------
-void wxColourDialog::DoSetSize(int WXUNUSED(x), int WXUNUSED(y),
+void wxColourDialog::DoGetPosition(int *x, int *y) const
+{
+ if ( x )
+ *x = m_pos.x;
+ if ( y )
+ *y = m_pos.y;
+}
+
+void wxColourDialog::DoSetSize(int x, int y,
int WXUNUSED(width), int WXUNUSED(height),
int WXUNUSED(sizeFlags))
{
- // ignore - we can't change the size of this standard dialog
+ if ( x != -1 )
+ m_pos.x = x;
+
+ if ( y != -1 )
+ m_pos.y = y;
+
+ // ignore the size params - we can't change the size of a standard dialog
return;
}
if ( height )
*height = 299;
}
+