X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6f92b0bb0ce471eceb1be71070bb442a0e35b8c0..b14abf14c7b6a29e907035ff24a86d45be762752:/docs/html/faqmsw.htm diff --git a/docs/html/faqmsw.htm b/docs/html/faqmsw.htm index 070637bc53..16174d43f0 100644 --- a/docs/html/faqmsw.htm +++ b/docs/html/faqmsw.htm @@ -1,3 +1,4 @@ + <HTML> <HEAD> @@ -44,8 +45,10 @@ See also <a href="faq.htm">top-level FAQ page</a>. <li><a href="#shortcutproblem">Why are menu hotkeys or shortcuts not working in my application?</a></li> <li><a href="#regconfig">Why can I not write to the HKLM part of the registry with wxRegConfig?</a></li> <li><a href="#access">Is MS Active Accessibility supported?</a></li> -<li><a href="#dspfmt">Why does Visual C++ complain about corrupted project files??</a></li> +<li><a href="#dspfmt">Why does Visual C++ complain about corrupted project files?</a></li> <li><a href="#crtmismatch">Visual C++ gives errors about multiply defined symbols, what can I do?</a></li> +<li><a href="#directx">Why do I get compilation erros when using wxWidgets with DirectShow?</a></li> +<li><a href="#handlewm">How do I handle Windows messages in my wxWidgets program?</a></li> </ul> <hr> @@ -224,7 +227,7 @@ you need to configure wxWidgets to compile without debugging information: see docs/msw/install.txt for details. You may find that using configure instead of makefile.g95 is easier, particularly since you can maintain debug and release versions of the library simultaneously, in different directories. -Also, run 'strip' after linking to remove all traces of debug info. +Also, run 'strip' after linking to remove all traces of debug info. <P> <H3><a name="mfc">Is wxWidgets compatible with MFC?</a></H3> @@ -320,6 +323,10 @@ Code' (and no others). This will then work.<P> <H3><a name="makefiles">How are the wxWidgets makefiles edited under Windows?</a></H3> +wxWidgets 2.5.x and above uses Bakefile to generate makefiles, which +is described in technical note 16 under docs/tech in your distribution. +For 2.4.x, the following explanation applies.<P> + As of wxWidgets 2.1, there is a new system written by Vadim Zeitlin, that generates the makefiles from templates using tmake.<P> @@ -335,7 +342,7 @@ example) and regenerate the makefile using tmake.<P> tmake can be found at <a href="http://www.troll.no/freebies/tmake.html" target=_new>www.troll.no/freebies/tmake.html</a>. -It's a Perl5 program and so it needs Perl (doh). There is a binary for +It's a Perl5 program and so it needs Perl (doh). There is a binary for Windows (available from the same page), but I haven't used it, so I don't know if it works as flawlessly as "perl tmake" does (note for people knowing Perl: don't try to run tmake with -w, it won't @@ -344,7 +351,7 @@ just go to distrib/msw/tmake and type<P> <pre>tmake -t b32 wxwin.pro -o ../../src/msw/makefile.b32</pre><P> -The makefiles are untested - I don't have any of Borland, Watcom or +The makefiles are untested - I don't have any of Borland, Watcom or Symantec and I don't have enough diskspace to recompile even with VC6 using makefiles. The new makefiles are as close as possible to the old ones, but not closer: in fact, there has been many strange things @@ -451,7 +458,7 @@ First, you can use wxRegKey directly, for example: regKey.SetName(idName); { - wxLogNull dummy; + wxLogNull dummy; if (!regKey.Create()) { idName = wxT("HKEY_CURRENT_USER\\SOFTWARE\\My Company\\My Product\\Stuff\\"); @@ -497,7 +504,7 @@ for the current status. <P> -<h3><a name="#dspfmt">Why does Visual C++ complain about corrupted project files??</a></h3> +<h3><a name="#dspfmt">Why does Visual C++ complain about corrupted project files?</a></h3> If you have downloaded the wxWidgets sources from the cvs using a Unix cvs client or downloaded a daily snapshot in <tt>.tar.gz</tt> format, it is likely @@ -536,6 +543,32 @@ slightly smaller and faster. But the most important thing is to use the <strong>same</strong> CRT setting for all components of your project. +<h3><a name="#directx">Why do I get compilation errors when using wxWidgets with DirectShow?</a></h3> + +If you get errors when including Microsoft DirectShow or DirectDraw headers, +the following message from Peter Whaite could help: +<blockquote><pre> +> This causes compilation errors within DirectShow: +> +> wxutil.h(125) : error C2065: 'EXECUTE_ASSERT' : undeclared identifier +> amfilter.h(1099) : error C2065: 'ASSERT' : undeclared identifier + +The reason for this is that __WXDEBUG__ is also used by the DXSDK (9.0 +in my case) to '#pragma once' the contents of +DXSDK/Samples/C++/DirectShow/BaseClasses/wxdebug.h. So if __WXDEBUG__ +is defined, then wxdebug.h doesn't get included, and the assert macros +don't get defined. You have to #undef __WXDEBUG__ before including the +directshow baseclass's <streams.h>. +</pre></blockquote> + +<h3><a name="#handlewm">How do I handle Windows messages in my wxWidgets program?</a></h3> + +To handle a Windows message you need to override a virtual +<tt>MSWWindowProc()</tt> method in a wxWindow-derived class. You should then +test if <tt>nMsg</tt> parameter is the message you need to process and perform +the necessary action if it is or call the base class method otherwise. + + </font> </BODY>