Page 1 of 1
cGetDir dialog, and make new folder button
Posted: Tue Oct 30, 2007 7:21 am
by AlexSchaft
Hi,
Is there a way to hide the New folder button when using cGetDir()?
I've been reading through the GetOpenFileName API docs, but can't find it in the flags...
Alex
Re: cGetDir dialog, and make new folder button
Posted: Tue Oct 30, 2007 8:14 am
by Enrico Maria Giordano
It seems you can't.
EMG
Posted: Tue Oct 30, 2007 10:01 am
by Antonio Linares
Alex, Enrico,
I guess that you could locate the button handle and hide it
Stepping through the dialog controls, checking the control classname and once found a button, hide it, until the right one is located. winapi\getdir.c ComDlgHkFile() seems the right place to do it
Posted: Tue Oct 30, 2007 11:11 am
by Enrico Maria Giordano
Yes, it could work. But is it worth the pain?
EMG
Posted: Tue Oct 30, 2007 11:17 am
by Antonio Linares
Probably not
Posted: Tue Oct 30, 2007 12:05 pm
by AlexSchaft
I found that ShBrowseForFolder is used. A google search found the following constant:
#define BIF_NONEWFOLDERBUTTON 0x200
But it had no effect. Will keep trying...
Posted: Tue Oct 30, 2007 1:10 pm
by AlexSchaft
Found the problem
Had to change:
if ( ISNUM( 5 ) ) {
// lpbi.ulFlags = _parni( 5 ) ;
lpbi.ulFlags = _parnl( 5 ) ;
}
lpIDList = SHBrowseForFolder( &lpbi );
cGetDir - more
Posted: Tue Oct 30, 2007 1:21 pm
by AlexSchaft
Hi again,
Have to call as follows:
Code: Select all
#define BIF_NONEWFOLDERBUTTON 0x200
#define BIF_RETURNONLYFSDIRS 0x0001
#define BIF_DONTGOBELOWDOMAIN 0x0002
#define BIF_STATUSTEXT 0x0004
#define BIF_RETURNFSANCESTORS 0x0008
#define BIF_EDITBOX 0x0010
#define BIF_VALIDATE 0x0020
#define BIF_NEWDIALOGSTYLE 0x0040
#define BIF_USENEWUI (BIF_NEWDIALOGSTYLE|BIF_EDITBOX)
#define BIF_BROWSEINCLUDEURLS 0x0080
#define BIF_BROWSEFORCOMPUTER 0x1000
#define BIF_BROWSEFORPRINTER 0x2000
#define BIF_BROWSEINCLUDEFILES 0x4000
#define BIF_SHAREABLE 0x8000
cGetDir( cTitle, cPath,,, BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN + BIF_USENEWUI + BIF_NONEWFOLDERBUTTON )
Posted: Tue Oct 30, 2007 1:40 pm
by Antonio Linares
Alex,
Very good, thanks!
Posted: Tue Oct 30, 2007 3:45 pm
by Enrico Maria Giordano
AlexSchaft wrote:I found that ShBrowseForFolder is used.
Ops! Right!
EMG