Andreas Gut

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



Re: UI Development for Windows Vista Modeless/non-modal file dialog

Andreas Johansson

Have you called InitCommonControlsEx()




Re: UI Development for Windows Vista Modeless/non-modal file dialog

Numinis

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





Re: UI Development for Windows Vista Modeless/non-modal file dialog

Andreas Johansson

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






Re: UI Development for Windows Vista Modeless/non-modal file dialog

Kem Van Dyken

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





Re: UI Development for Windows Vista Modeless/non-modal file dialog

Gunnar Karlsson

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