Modeless/non-modal file dialog  
Author Message
Andreas Gut





PostPosted: UI Development for Windows Vista, Modeless/non-modal file dialog Top

In the application I'm working on we are using a modeless file dialog. This
is realized by hosting the CFileDialog instance in a separate thread. The
parent window of the file dialog is the app's frame window. This ensures
that the file dialog does not create an entry in the Windows taskbar and
the file dialog is always on top of the app window. This worked fine with
previous Windows versions (NT, W2K, XP).

With Vista we observe a strange behavior. Assume the modeless file
dialog is running and it contains a custom button from where we can
launch another modeless dialog (its parent is also set to the main frame
window). This second dialog immediately disappears behind the app
window (!) as soon as it is displayed. Picking into the app window brings
it back on top but picking its title bar lets it disappear again.

Does anyone have a proposal to fix this behavior Any information is appreciated.

Regards Andreas



Software Development for Windows Vista15  
 
 
Andreas Johansson





PostPosted: UI Development for Windows Vista, Modeless/non-modal file dialog Top

Have you called InitCommonControlsEx()

 
 
Numinis





PostPosted: UI Development for Windows Vista, Modeless/non-modal file dialog Top

Hi Andreas!

Thanks for the reply. No I have not called InitCommonControlsEx(). The application has a manifest file which loads Common Control library 6.0. Why should I call this function and for which control type Isn't the problem more related to the file dialog (common dialog)

Regards Andreas


 
 
Andreas Johansson





PostPosted: UI Development for Windows Vista, Modeless/non-modal file dialog Top

Sorry, forget what I said about InitCommonControlEx. I seem to have misunderstood you.

I tested to recreate this without MFC but I can't reproduce it. Maybe the MFC newsgroups can be better in helping you solve this.
http://msdn.microsoft.com/newsgroups/default.aspx dg=microsoft.public.vc.mfc&lang=en&cr=US



 
 
Kem Van Dyken





PostPosted: UI Development for Windows Vista, Modeless/non-modal file dialog Top

I am having a similar issue with Vista. In our vb 6 applications, we do the following:

1. My application loads a non-modal splash screen form (we never set the form owner before and still aren't). We use the windows API call to make sure this dialog is the top most window. The splash screen is an independent active X object called by my application.

2. The appliation continues to load in the background and then shows itself (also non-modal).

3. Once the application is showing, we destroy the splash object so that it goes away.

The Vista release candidates (RC1 and RC2) worked fine. With the actual product release however, Vista stops after showing the splash screen. It does NOT continue even with the set topmost code unless I sit there and continually press ALT-TAB. Alternatively, I can minimize the splash screen and my application will continue. It's like Vista has lost focus on what is happening as soon as the splash screen object's form.show method is executed. Does anyone know a work around for this shy of totally re-writing how we launch our splash screens


 
 
Gunnar Karlsson





PostPosted: UI Development for Windows Vista, Modeless/non-modal file dialog Top

I am also having problems with my modeless CFileDialog.

The content of the dialog is placed at the wrong coordinates inside the frame window, it looks very strange. No matter what I do (it seems to me anyway) I cannot get it to look correct. (maximizing and then restoring the dialog places the dialog correctly iside the frame, but not if done with ShowWindow SW_SHOW and then SW_RESTORE).

I got it to work with one compilation but when renaming the binary it does not work anymore which suggest something in the manifest file or something like it... Do anyone have any idea

Kind Regards

Gunnar