Give wxMSW's wxDirDialog support for wxDD_NEW_DIR_BUTTON
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
15c9541c9f
commit
90a6f1cca8
@ -18,10 +18,10 @@ This class represents the directory chooser dialog.
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}
|
||||
\twocolitem{\indexit{wxDD\_NEW\_DIR\_BUTTON}}{Add "Create new directory" button and allow
|
||||
directory names to be editable. Available only on platforms that use the generic
|
||||
dialog chooser: GTK+, Motif, X11, MGL. For other platforms, use the wxGenericDirDialog
|
||||
implementation explicitly if you wish to use this style.}
|
||||
\twocolitem{\indexit{wxDD\_NEW\_DIR\_BUTTON}}{Add "Create new
|
||||
directory" button and allow directory names to be editable. On
|
||||
Windows the new directory button is only available with recent
|
||||
versions of the common dialogs.}
|
||||
\end{twocollist}
|
||||
|
||||
See also \helpref{Generic window styles}{windowstyles}.
|
||||
|
@ -80,14 +80,15 @@ static int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lp,
|
||||
wxDirDialog::wxDirDialog(wxWindow *parent,
|
||||
const wxString& message,
|
||||
const wxString& defaultPath,
|
||||
long WXUNUSED(style),
|
||||
long style,
|
||||
const wxPoint& WXUNUSED(pos),
|
||||
const wxSize& WXUNUSED(size),
|
||||
const wxString& WXUNUSED(name))
|
||||
{
|
||||
m_message = message;
|
||||
m_parent = parent;
|
||||
|
||||
|
||||
SetStyle(style);
|
||||
SetPath(defaultPath);
|
||||
}
|
||||
|
||||
@ -113,6 +114,10 @@ void wxDirDialog::SetPath(const wxString& path)
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef BIF_NEWDIALOGSTYLE
|
||||
#define BIF_NEWDIALOGSTYLE 0x0040
|
||||
#endif
|
||||
|
||||
int wxDirDialog::ShowModal()
|
||||
{
|
||||
wxWindow *parent = GetParent();
|
||||
@ -126,6 +131,12 @@ int wxDirDialog::ShowModal()
|
||||
bi.lpfn = BrowseCallbackProc;
|
||||
bi.lParam = (LPARAM)m_path.c_str(); // param for the callback
|
||||
|
||||
if ((GetStyle() & wxDD_NEW_DIR_BUTTON) &&
|
||||
(wxApp::GetComCtl32Version() >= 500))
|
||||
{
|
||||
bi.ulFlags |= BIF_NEWDIALOGSTYLE;
|
||||
}
|
||||
|
||||
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
|
||||
|
||||
if ( bi.pidlRoot )
|
||||
|
Loading…
Reference in New Issue
Block a user