From: Jonathan Wood on
Ah... Sounds like you got it then. Good.

--
Jonathan Wood
SoftCircuits Programming
http://www.softcircuits.com

"Steve Russell" <srussell(a)removethisinnernet.net> wrote in message
news:eEB9JXf1GHA.1252(a)TK2MSFTNGP04.phx.gbl...
> Combining 0xFFF0 with nID has straightened everything out.
>
> if( (nID & 0xFFF0) == SC_RESTORE)
> ---------------
>
> "Steve Russell" <srussell(a)removethisinnernet.net> wrote in message
> news:uikufLf1GHA.4108(a)TK2MSFTNGP04.phx.gbl...
>>I can say this: In the handler, I added a TRACE of nID. The Restore box
>>delivers 61728 (F120), which is SC_RESTORE, of course. But doubleclicking
>>on the title bar gives me 61730 (F122), which I do not recognize. When
>>the window is in restored size and I maximize it, the first click on the
>>title bar gives me 61458 (F012); . the second reads 61490 (F032).
>>
>> However, Spy++ displays the WM_SYSCOMMAND message with SC_RESTORE, when I
>> doubleclick the title bar.
>> --------------
>> "Jonathan Wood" <jwood(a)softcircuits.com> wrote in message
>> news:%233GDxPd1GHA.4228(a)TK2MSFTNGP06.phx.gbl...
>>> My guess is that double clicking the title bar would produce the same
>>> message.
>>>
>>> Looks like you implemented a handler. Are you saying it was not called
>>> when the title bar was double clicked?
>>>
>>> --
>>> Jonathan Wood
>>> SoftCircuits Programming
>>> http://www.softcircuits.com
>>>
>>> "Steve Russell" <srussell(a)removethisinnernet.net> wrote in message
>>> news:O9QRW7c1GHA.2516(a)TK2MSFTNGP06.phx.gbl...
>>>>I am getting acquainted with handling some WM_SYSCOMMAND messages and
>>>>would appreciate it if someone would tell me how to handle the restore
>>>>message upon double-clicking the title bar. How does that differ from
>>>>clicking the Restore box?
>>>>
>>>> void CMainFrame::OnSysCommand(UINT nID, LPARAM lParam)
>>>> {
>>>> if(nID == SC_RESTORE)
>>>> ::Beep(500,100);
>>>>
>>>> CFrameWnd::OnSysCommand(nID, lParam);
>>>> }
>>>>
>>>>
>>>
>>>
>>
>>
>
>


From: Jonathan Wood on
Steve,

>I can say this: In the handler, I added a TRACE of nID. The Restore box
>delivers 61728 (F120), which is SC_RESTORE, of course. But doubleclicking
>on the title bar gives me 61730 (F122), which I do not recognize. When the
>window is in restored size and I maximize it, the first click on the title
>bar gives me 61458 (F012); . the second reads 61490 (F032).
>
> However, Spy++ displays the WM_SYSCOMMAND message with SC_RESTORE, when I
> doubleclick the title bar.

This is the behavior I would expect. I would make absolutely certain this is
not happening before moving on.

--
Jonathan Wood
SoftCircuits Programming
http://www.softcircuits.com


From: Joseph M. Newcomer on
No, he was testing the wrong value. It should have been

if( (nID & ~0xF) == SC_RESTORE)

joe

On Mon, 11 Sep 2006 12:19:08 -0700, "Tom Serface" <tserface(a)msn.com> wrote:

>My guess is that it sends a SC_RESTORE if the windows is maximized and an
>SC_MAXIMIZE if it is not maximized.
>
>Tom
>
>"Steve Russell" <srussell(a)removethisinnernet.net> wrote in message
>news:O9QRW7c1GHA.2516(a)TK2MSFTNGP06.phx.gbl...
>>I am getting acquainted with handling some WM_SYSCOMMAND messages and would
>>appreciate it if someone would tell me how to handle the restore message
>>upon double-clicking the title bar. How does that differ from clicking the
>>Restore box?
>>
>> void CMainFrame::OnSysCommand(UINT nID, LPARAM lParam)
>> {
>> if(nID == SC_RESTORE)
>> ::Beep(500,100);
>>
>> CFrameWnd::OnSysCommand(nID, lParam);
>> }
>>
>>
>
Joseph M. Newcomer [MVP]
email: newcomer(a)flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
From: Joseph M. Newcomer on
The rule is that ;you must ignore the low-order 4 bits of the WM_SYSCOMMAND message, so
the correct test is always something of the form
switch(nID & ~0xF)
so F122 is a perfectly valid representation of SC_RESTORE. Check the "remarks" section on
OnSysCommand.
joe

On Mon, 11 Sep 2006 18:37:45 -0400, "Steve Russell" <srussell(a)removethisinnernet.net>
wrote:

>I can say this: In the handler, I added a TRACE of nID. The Restore box
>delivers 61728 (F120), which is SC_RESTORE, of course. But doubleclicking
>on the title bar gives me 61730 (F122), which I do not recognize. When the
>window is in restored size and I maximize it, the first click on the title
>bar gives me 61458 (F012); . the second reads 61490 (F032).
>
>However, Spy++ displays the WM_SYSCOMMAND message with SC_RESTORE, when I
>doubleclick the title bar.
>--------------
>"Jonathan Wood" <jwood(a)softcircuits.com> wrote in message
>news:%233GDxPd1GHA.4228(a)TK2MSFTNGP06.phx.gbl...
>> My guess is that double clicking the title bar would produce the same
>> message.
>>
>> Looks like you implemented a handler. Are you saying it was not called
>> when the title bar was double clicked?
>>
>> --
>> Jonathan Wood
>> SoftCircuits Programming
>> http://www.softcircuits.com
>>
>> "Steve Russell" <srussell(a)removethisinnernet.net> wrote in message
>> news:O9QRW7c1GHA.2516(a)TK2MSFTNGP06.phx.gbl...
>>>I am getting acquainted with handling some WM_SYSCOMMAND messages and
>>>would appreciate it if someone would tell me how to handle the restore
>>>message upon double-clicking the title bar. How does that differ from
>>>clicking the Restore box?
>>>
>>> void CMainFrame::OnSysCommand(UINT nID, LPARAM lParam)
>>> {
>>> if(nID == SC_RESTORE)
>>> ::Beep(500,100);
>>>
>>> CFrameWnd::OnSysCommand(nID, lParam);
>>> }
>>>
>>>
>>
>>
>
Joseph M. Newcomer [MVP]
email: newcomer(a)flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
From: Jonathan Wood on
Not sure why you started that sentence with "no". Turns out, both me and Tom
were correct that this notification IS sent when window is restored by
having the title bar clicked. So, that should've been a "yes".

Looks like we just both failed to recall the issue with the low bits (which
I'm sure Tom's dealt with before as have I).

--
Jonathan Wood
SoftCircuits Programming
http://www.softcircuits.com

"Joseph M. Newcomer" <newcomer(a)flounder.com> wrote in message
news:m59cg2h454dltrqfb9lgtn91tomq38iidc(a)4ax.com...
> No, he was testing the wrong value. It should have been
>
> if( (nID & ~0xF) == SC_RESTORE)
>
> joe
>
> On Mon, 11 Sep 2006 12:19:08 -0700, "Tom Serface" <tserface(a)msn.com>
> wrote:
>
>>My guess is that it sends a SC_RESTORE if the windows is maximized and an
>>SC_MAXIMIZE if it is not maximized.
>>
>>Tom
>>
>>"Steve Russell" <srussell(a)removethisinnernet.net> wrote in message
>>news:O9QRW7c1GHA.2516(a)TK2MSFTNGP06.phx.gbl...
>>>I am getting acquainted with handling some WM_SYSCOMMAND messages and
>>>would
>>>appreciate it if someone would tell me how to handle the restore message
>>>upon double-clicking the title bar. How does that differ from clicking
>>>the
>>>Restore box?
>>>
>>> void CMainFrame::OnSysCommand(UINT nID, LPARAM lParam)
>>> {
>>> if(nID == SC_RESTORE)
>>> ::Beep(500,100);
>>>
>>> CFrameWnd::OnSysCommand(nID, lParam);
>>> }
>>>
>>>
>>
> Joseph M. Newcomer [MVP]
> email: newcomer(a)flounder.com
> Web: http://www.flounder.com
> MVP Tips: http://www.flounder.com/mvp_tips.htm


First  |  Prev  | 
Pages: 1 2
Prev: Adobe 7.0 crash
Next: Assert Error