]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/html/faqmsw.htm
When host is OS X (PowerPC Darwin) check if compiler defines __POWERPC__
[wxWidgets.git] / docs / html / faqmsw.htm
index 070637bc539f62eab3ef564726c19ec9361f0d59..6d7a5452bfba55b0ba93992244e851945534acf4 100644 (file)
@@ -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 &#39;strip&#39; 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&#39; (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&#39;s a Perl5 program and so it needs Perl (doh). There is a binary for
+It&#39;s a Perl5 program and so it needs Perl (doh). There is a binary for 
 Windows (available from the same page), but I haven&#39;t used it, so
 I don&#39;t know if it works as flawlessly as "perl tmake" does (note
 for people knowing Perl: don&#39;t try to run tmake with -w, it won&#39;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&#39;t have any of Borland, Watcom or
+The makefiles are untested - I don&#39;t have any of Borland, Watcom  or
 Symantec and I don&#39;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,33 @@ 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>
+&gt; This causes compilation errors within DirectShow:
+&gt;
+&gt; wxutil.h(125) : error C2065: &#39;EXECUTE_ASSERT&#39; : undeclared identifier
+&gt; amfilter.h(1099) : error C2065: &#39;ASSERT&#39; : undeclared identifier
+
+The reason for this is that __WXDEBUG__ is also used by the DXSDK (9.0
+in my case) to &#39;#pragma once&#39; the contents of
+DXSDK/Samples/C++/DirectShow/BaseClasses/wxdebug.h.  So if __WXDEBUG__
+is defined, then wxdebug.h doesn&#39;t get included, and the assert macros
+don&#39;t get defined.  You have to #undef __WXDEBUG__ before including the
+directshow baseclass&#39;s &lt;streams.h&gt;.
+</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>