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:
@@ -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 )
|
||||
|
Reference in New Issue
Block a user