From: Robert M. <rm...@po...> - 2005-10-30 17:32:35
|
SW_* constants are not defined in GUI_constants.cpp (nor exported in GUI.pm). In general there are many constants missing. There are 2 issues to address here: (1) How should we deal with constants? I, personally, don't like the way that Win32::GUI by default exports all it's constants into the calling namespace, and so have made a conscious decision not to extend the list at the moment: IMHO we should not export anything by default, and have suitable groups of constants that can be exported on request. I also feel that separating the constants into their own module (Win32::GUI::Constants?) would be a useful thing to do. (2) Wherever possible we should be removing the need for the use of constants, so in your example of BrowseForFolder we should extend the options available to keep up with the enhancements made by microsoft. If you can raise a RFE, then I'll look at the for the next release. Comments? Rob. Glenn Linderman wrote: > On approximately 10/21/2005 9:57 PM, came the following characters from > the keyboard of Glenn Linderman: > >> Tried out the ShellExecute API tonight. Works. Can't use the SW_* >> constants that are documented, though, because they aren't defined. >> >> Should they be? Looks like they would also be usable with the Show >> API. > > > Hmm. BIF_* options are also not exposed (for BrowseForFolder). On the > other hand, a small selection of BIF_* constants are implicitly used > based on user options to the GUI BrowseForFolder command. However, GUI > hasn't kept pace with BrowseForFolder enhancements (see > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/structures/browseinfo.asp) > > > So the question is, should additional options be added to GUI's > BrowseForFolder to correspond with all the new options in the above > link? I'm particularly interested in the BIF_NEWDIALOGSTYLE. > >> BIF_NEWDIALOGSTYLE >> Version 5.0. Use the new user interface. Setting this flag provides >> the user with a larger dialog box that can be resized. The dialog box >> has several new capabilities including: drag-and-drop capability >> within the dialog box, reordering, shortcut menus, new folders, >> delete, and other shortcut menu commands. To use this flag, you must >> call OleInitialize or CoInitialize before calling SHBrowseForFolder. > > > Does GUI already call OleInitialize and/or CoInitialize? I couldn't > find them, but they seem to be a prerequisite for this option. I see > that these functions set the thread's "concurrency model", which I have > no idea what that is, or if it would adversely affect GUI. > |