<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Trapping Window messages in full screen mode in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Trapping-Window-messages-in-full-screen-mode/m-p/846312#M64281</link>
    <description>&lt;P&gt;Brief examination with Spy++ shows that in "Full Screen Mode" the output doesn't go to the normal child window. Instead, QW creates another window, with style WS_POPUP, without title, and with class name &lt;EM&gt;AppName&lt;/EM&gt;//"FullWnd". Mechanics of it are not well documented, of course, so you could start some reverse-engineering :-(.&lt;/P&gt;
&lt;P&gt;I guess you can try to FindWindow("AppName"//"FullWnd"C, NULL) to see if there's one; if it is, you're in full screen mode. Perhaps you could subclass the FullWnd window right after you find one *)&lt;/P&gt;
&lt;P&gt;Another undocumented trick to toggle fullscreen is to &lt;/P&gt;
&lt;P&gt;call ClickMenuQQ(LOC(WinFullScreen))&lt;/P&gt;
&lt;P&gt;An alternate approach to subclassing is hooking. It is similar, except that hook procedure (WH_KEYBOARD or WH_MOUSE) is called before the message reaches message loop (thus,before subclassing procedure), and it catches messages for all windows in the thread rather than just one. See SetWindowsHookEx (I posted some examples in the past here, so you could do a Forum search for it).&lt;/P&gt;
&lt;P&gt;Jugoslav&lt;/P&gt;
&lt;P&gt;*) FindWindow is not reliable if there are several instances of your program running simultaneously -- it will detect if &lt;STRONG&gt;any &lt;/STRONG&gt;instance is in full screen. A better approach is to EnumThreadWindows(GetCurrentThreadID()...) and check whether GetClassName of one matches.&lt;/P&gt;</description>
    <pubDate>Thu, 29 Jan 2004 22:23:12 GMT</pubDate>
    <dc:creator>Jugoslav_Dujic</dc:creator>
    <dc:date>2004-01-29T22:23:12Z</dc:date>
    <item>
      <title>Trapping Window messages in full screen mode</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Trapping-Window-messages-in-full-screen-mode/m-p/846311#M64280</link>
      <description>&lt;DIV&gt;I have a routine which traps keyboard &amp;amp; mouse messages to a window by&lt;/DIV&gt;
&lt;DIV&gt;subclassing.&lt;/DIV&gt;
&lt;DIV&gt;This works ok except when I use it with standard graphics in full screen mode.&lt;/DIV&gt;
&lt;DIV&gt;How can I get it to work in full screen mode?&lt;/DIV&gt;
&lt;DIV&gt;Also how can I detect if I am in full screen mode &amp;amp; can I change the mode&lt;/DIV&gt;
&lt;DIV&gt;by program (rather than Alt+Enter)?&lt;/DIV&gt;</description>
      <pubDate>Thu, 29 Jan 2004 21:21:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Trapping-Window-messages-in-full-screen-mode/m-p/846311#M64280</guid>
      <dc:creator>alfredwodell</dc:creator>
      <dc:date>2004-01-29T21:21:03Z</dc:date>
    </item>
    <item>
      <title>Re: Trapping Window messages in full screen mode</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Trapping-Window-messages-in-full-screen-mode/m-p/846312#M64281</link>
      <description>&lt;P&gt;Brief examination with Spy++ shows that in "Full Screen Mode" the output doesn't go to the normal child window. Instead, QW creates another window, with style WS_POPUP, without title, and with class name &lt;EM&gt;AppName&lt;/EM&gt;//"FullWnd". Mechanics of it are not well documented, of course, so you could start some reverse-engineering :-(.&lt;/P&gt;
&lt;P&gt;I guess you can try to FindWindow("AppName"//"FullWnd"C, NULL) to see if there's one; if it is, you're in full screen mode. Perhaps you could subclass the FullWnd window right after you find one *)&lt;/P&gt;
&lt;P&gt;Another undocumented trick to toggle fullscreen is to &lt;/P&gt;
&lt;P&gt;call ClickMenuQQ(LOC(WinFullScreen))&lt;/P&gt;
&lt;P&gt;An alternate approach to subclassing is hooking. It is similar, except that hook procedure (WH_KEYBOARD or WH_MOUSE) is called before the message reaches message loop (thus,before subclassing procedure), and it catches messages for all windows in the thread rather than just one. See SetWindowsHookEx (I posted some examples in the past here, so you could do a Forum search for it).&lt;/P&gt;
&lt;P&gt;Jugoslav&lt;/P&gt;
&lt;P&gt;*) FindWindow is not reliable if there are several instances of your program running simultaneously -- it will detect if &lt;STRONG&gt;any &lt;/STRONG&gt;instance is in full screen. A better approach is to EnumThreadWindows(GetCurrentThreadID()...) and check whether GetClassName of one matches.&lt;/P&gt;</description>
      <pubDate>Thu, 29 Jan 2004 22:23:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Trapping-Window-messages-in-full-screen-mode/m-p/846312#M64281</guid>
      <dc:creator>Jugoslav_Dujic</dc:creator>
      <dc:date>2004-01-29T22:23:12Z</dc:date>
    </item>
    <item>
      <title>Re: Trapping Window messages in full screen mode</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Trapping-Window-messages-in-full-screen-mode/m-p/846313#M64282</link>
      <description>&lt;P&gt;Thanks for pointing me in the right direction.&lt;/P&gt;
&lt;P&gt;I eventually looked for the foreground window and checked if it was a pop up,&lt;/P&gt;
&lt;P&gt;then subclassed that window.&lt;/P&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 03 Feb 2004 00:15:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Trapping-Window-messages-in-full-screen-mode/m-p/846313#M64282</guid>
      <dc:creator>alfredwodell</dc:creator>
      <dc:date>2004-02-03T00:15:05Z</dc:date>
    </item>
  </channel>
</rss>

