I need WM_COPYDATA for a reason totally unrelated to the progress bar. So I need an hWnd to SendMessage to for that. I originally did the copydata to my main window, but it held up the other application too often, especially when I was using breakpoints. So, I made a thread with a very simple (and even always hidden) dialog window which could receive the copydata.
-Jean > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Behalf Of Truckle, Andrew J > Sent: Thursday, October 07, 2004 2:55 AM > To: '[EMAIL PROTECTED]' > Subject: RE: [msvc] CFileDialog > > > Oput of interest, did you know the component gallery allows > you to add a > progress dialogue to a project. Pretty cool because it can > pump messages > and keep the display fresh. > > I always put the guts of a routine - the worker - in the > thread and send or > post the progress to the main app class. This then passes it > onto wherever > it is needed, like a status bar. > > You can also consider changing thread priorities > temporarility so that the > giu is having precendence over the worker (or something like > that). But put > it back again afterwards. > > I had no need of using copydata, unless I missunderstand what > you are doing. > > Andrew > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of Palmer, Jean L. > > Sent: 06 October 2004 21:25 > > To: [EMAIL PROTECTED] > > Subject: RE: [msvc] CFileDialog > > > > > > I've moved my progress bar dialog out of the UI thread, and > > the main thread dialogs still (undesirably) show up on > > bottom. I've added SetWindowPos (with &wndTop), still broken. > > Added BringWindowToTop(), still broken. Never called > > ShowWindow(SW_SHOW) on the dialog for my UI thread, still broken. > > > > Then I removed the 'Create' call from the dialog window for > > my UI thread... and now all of the main thread dialogs seem > > to show up on top, as I want. > > > > So the problem seems to arise from the fact that I have a > > separate UI thread which owns a CDialog box. If I take away > > that CDialog box from the UI thread, then all works fine. > > > > The reason that I put a CDialog in my other thread is because > > I need a window to receive WM_COPYDATA messages from a > > separate application. I need an hWnd for the SendMessage of > > the COPYDATASTRUCT. My original design had the receipt of > > the WM_COPYDATA message in my main thread, but it was causing > > problems with the other application so I moved it to its own thread. > > > > So... I need an hWnd for receiving WM_COPYDATA messages, but > > when I put that window in a separate thread it causes main > > application thread dialogs to show up at the bottom z-order. > > When I don't put that window in a separate thread, it causes > > problems with the application that is sending me the > > WM_COPYDATAs. help! > > > > > > > -----Original Message----- > > > From: [EMAIL PROTECTED] > > > [mailto:[EMAIL PROTECTED] Behalf Of Ehsan Akhgari > > > Sent: Wednesday, October 06, 2004 3:27 PM > > > To: [EMAIL PROTECTED] > > > Subject: RE: [msvc] CFileDialog > > > > > > > > > > I have a CFileDialog that is displayed with a DoModal() > > call. Since > > > > it is a modal window, the application waits on it to be > dismissed > > > > before allowing user input in other windows. Unfortunately, the > > > > dialog window is not coming up as the topmost window. It > > is hidden > > > > under other windows, so the > > > application seems to > > > > hang... it's waiting for user input in a window that > > isn't visible. > > > > > > > > I guess I could derive a class from CFileDialog and use its > > > > OnInitDialog() to make sure that the dialog window is > > visible... but > > > > that seems like overkill. It sure seems that a dialog > > window should > > > > always show up on top. Am I missing some setting? The dialog is > > > > created and shown as follows: > > > > > > > > CFileDialog dlg(TRUE, ".hdr", NULL, OFN_FILEMUSTEXIST | > > > OFN_READONLY); > > > > // some dlg.m_ofn values set here if (IDOK == > > > > dlg.DoModal()) > > > > // take action here > > > > > > Hmm, looks like the application window has been set to > > something like > > > "always on top". Have you tried SetWindowPos( ) to bring > the modal > > > window to the top? > > > > > > ------------- > > > Ehsan Akhgari > > > > > > Farda Technology (http://www.farda-tech.com/) > > > > > > List Owner: [EMAIL PROTECTED] > > > > > > [ Email: [EMAIL PROTECTED] ] > > > [ WWW: http://www.beginthread.com/Ehsan ] > > > > > > > > > > > > > > > _______________________________________________ > > > msvc mailing list > > > [EMAIL PROTECTED] > > > See > > > http://beginthread.com/mailman/listinfo/msvc_beginthread.com > > > for subscription changes, and list archive. > > > > > > > _______________________________________________ > > msvc mailing list > > [EMAIL PROTECTED] > > See > > http://beginthread.com/mailman/listinfo/msvc_b> eginthread.com > > for subscription changes, and list archive. > > > > > > > > This message has been scanned for viruses by MailControl - > > (see http://bluepages.wsatkins.co.uk/?4318150) > > > > > This email and any attached files are confidential and > copyright protected. > If you are not the addressee, any dissemination of this > communication is > strictly prohibited. Unless otherwise expressly agreed in > writing, nothing > stated in this communication shall be legally binding. > > > > _______________________________________________ > msvc mailing list > [EMAIL PROTECTED] > See > http://beginthread.com/mailman/listinfo/msvc_beginthread.com > for subscription changes, and list archive. > _______________________________________________ msvc mailing list [EMAIL PROTECTED] See http://beginthread.com/mailman/listinfo/msvc_beginthread.com for subscription changes, and list archive.
