Re: Where to call SetWindowPos
I typically use topmost for things I really want the user to see regardless.
It is annoying, but there are times when you want to be annoying (like
something goes wrong with a server and you want to alert the user). I would
only use this with a dialog they would close by clicking a button after
seeing the alert or warning.
I don't know why, but I alway have to call SetForegroundWindow() and
BringWindowToTop() together to get a dialog to pop to the top. I do this
all the time with modeless windows that get stranded behind other windows
that started later. If the user presses the toolbar button to "see" the
original window, you can just pop it to the top again (since it's really
still open, just under something else).
I think making an application's mainframe topmost (like Task Manager does)
is annoying and I would never do it to any of my users.
Tom
"Joseph M. Newcomer" <newcomer@flounder.com> wrote in message
news:3d2tb31olh9festofnls93li1vcadqbrn9@4ax.com...
Note that wndTopMost really means it is always on top and can never have
another app come
on top of it. So wndTopMost is often a poor choice. SetWindowPos would
not be the best
choice here; SetForegroundWindow would be better.
joe
On Sat, 11 Aug 2007 17:04:00 -0400, "SteveR"
<srussell@removethisinnernet.net> wrote:
In my SDI, can I place the following in CMainFrame::OnCreate( )? Or is
there
a better place?
// ensure window opens on top when called by other applications, esp. the
installer
SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
Joseph M. Newcomer [MVP]
email: newcomer@flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm