Re: About OnSetFocus - Subnote
Hi David,
If you're happy with what you have, then by all means, that's great. =
I'm
not sure I would call your solution of to be any less "hackish" than =
the others, but that's just me.
That's fne. Whatever floats your boat. I don't want to get to =
overzealous about this.
I was showing how the Focus is being set.
If you don't want to do it that way. You don't have to.
You can probably get by without having to do it that way.
But Joe said something to me at one time which made sense to me.
It had to do with OnOK() or OnCancel(). (I can't remember which =
off-hand.)
Some people handle it in PreTranslateMessage(), I seen it and was using =
it that way.
Which, was fine. It worked. But, that was not the correct place to =
handle it.
I changed my code immediately, even though I didn't have to.
So yeah, it will work 99.9% of the time.
But it is that 0.1% that is the problem.
Just like another poster commented about setting the focus in =
OnLButtonDown, OnRButtonDown, OnMButtonDown, etc.
Yeah. That works just fine. SetFocus will be called over and over again =
whenever the user Clicks the mouse in the control.
That is, until another mouse button is added, but that will never =
happen.
Regards,
"David Ching" <dc@remove-this.dcsoft.com> wrote in message =
news:UlSli.2836$eY.2529@newssvr13.news.prodigy.net...
"Nobody" <Nobody@yahoo.com> wrote in message
news:%23JtNwYYxHHA.3616@TK2MSFTNGP02.phx.gbl...
What for? I already know.
Like I said, it is possible to do it other ways, but they are just =
hacks.
If you're happy with what you have, then by all means, that's great. =
I'm
not sure I would call your solution of
int CMyView::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT
message)
{
CWnd* pWnd = GetFocus(); //Save Current Focus
int ret = CView::OnMouseActivate(pDesktopWnd, nHitTest, message);
pWnd->SetFocus(); //Restore it
return ret;
}
to be any less "hackish" than the others, but that's just me.
-- David