FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour cGetDir dialog, and make new folder button
Posts: 172
Joined: Fri Oct 07, 2005 01:29 PM
cGetDir dialog, and make new folder button
Posted: Tue Oct 30, 2007 07:21 AM

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

Posts: 9022
Joined: Thu Oct 06, 2005 08:17 PM
Re: cGetDir dialog, and make new folder button
Posted: Tue Oct 30, 2007 08:14 AM

It seems you can't.

EMG

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
cGetDir dialog, and make new folder button
Posted: Tue Oct 30, 2007 10:01 AM

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

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 9022
Joined: Thu Oct 06, 2005 08:17 PM
cGetDir dialog, and make new folder button
Posted: Tue Oct 30, 2007 11:11 AM

Yes, it could work. But is it worth the pain?

EMG

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
cGetDir dialog, and make new folder button
Posted: Tue Oct 30, 2007 11:17 AM

Probably not :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 172
Joined: Fri Oct 07, 2005 01:29 PM
cGetDir dialog, and make new folder button
Posted: Tue Oct 30, 2007 12:05 PM

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...

Posts: 172
Joined: Fri Oct 07, 2005 01:29 PM
cGetDir dialog, and make new folder button
Posted: Tue Oct 30, 2007 01:10 PM
Found the problem

Had to change:

if ( ISNUM( 5 ) ) {
// lpbi.ulFlags = _parni( 5 ) ;
lpbi.ulFlags = _parnl( 5 ) ;
}

lpIDList = SHBrowseForFolder( &lpbi );
Posts: 172
Joined: Fri Oct 07, 2005 01:29 PM
cGetDir - more
Posted: Tue Oct 30, 2007 01:21 PM
Hi again,

Have to call as follows:


#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 )
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
cGetDir dialog, and make new folder button
Posted: Tue Oct 30, 2007 01:40 PM

Alex,

Very good, thanks! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 9022
Joined: Thu Oct 06, 2005 08:17 PM
cGetDir dialog, and make new folder button
Posted: Tue Oct 30, 2007 03:45 PM
AlexSchaft wrote:I found that ShBrowseForFolder is used.


Ops! Right!

EMG

Continue the discussion