In Windows, starting in Windows Vista, there is new file selection interface. But it is available for the regular Windows API only when used with restrictions, in particular the Hook procedure that enables the FILE_CB callback and dialog positioning. So if you don't use these features the regular IupFileDlg in Windows will show the newest interface. To address that restrictions we implemented a separate library that uses a new Windows API to show the file selection interface. This library is internally implemented in C++ and it will need a C++ linker if statically linked.
Notice that this library exists only on Windows, and it is only available for Visual C++ compilers when statically linking.
The IupNewFileDlgOpen function must be called after a IupOpen, so that the regular IupFileDlg will be replaced by the new versions. The iupfiledlg.h file must also be included in the source code. The program must be linked to the library (iupfiledlg).
To make the control available in Lua use require"iupluafiledlg" or manually call the initialization function in C, iupfiledlglua_open, after calling iuplua_open. When manually calling the function the iupluafiledlg.h file must also be included in the source code, and the program must be linked to the lua control library (iupluafiledlg).
The creation and all Attributes and callbacks are the same as the regular IupFileDlg view a few exceptions.
NOPLACESBAR: NOT supported. (There is no Places Bar)
SHOWEDITBOX: NOT supported. (Already has an edit box shown)
SHOWPREVIEW: only shows the preview area provided for Windows Shell Extensions Handlers. It does NOT have support for the internal preview.
FILE_CB: "PAINT" status is NOT supported.
The preview canvas callbacks are not supported here, only when implemented a Windows Shell Extension Preview Handler.
OLD Explorer Interface
New Explorer Interface