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