remove old and outdated tech notes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -4,13 +4,13 @@
|
|||||||
tn0001.txt How to add a new sample
|
tn0001.txt How to add a new sample
|
||||||
tn0002.txt wxWidgets translator guide
|
tn0002.txt wxWidgets translator guide
|
||||||
tn0003.txt Adding wxWidgets class documentation
|
tn0003.txt Adding wxWidgets class documentation
|
||||||
tn0004.htm *** Not currently applicable Compiling a sample in the C++Builder IDE
|
tn0004.htm *** REMOVED *** (obsoleted by Bakefile changes)
|
||||||
tn0005.txt Adding a wxWidgets contribution
|
tn0005.txt Adding a wxWidgets contribution
|
||||||
tn0006.txt *** REMOVED *** (obsoleted by tn0013.txt)
|
tn0006.txt *** REMOVED *** (obsoleted by tn0013.txt)
|
||||||
tn0007.txt *** Not currently applicable Using and modifying the BC++ IDE files
|
tn0007.txt *** REMOVED *** (obsoleted by Bakefile changes)
|
||||||
tn0008.htm How to learn wxWidgets programming
|
tn0008.htm *** REMOVED *** (included in the manual now)
|
||||||
tn0009.htm Creating and converting icons
|
tn0009.htm Creating and converting icons
|
||||||
tn0010.htm Compiling wxWidgets applications in the VC++ IDE
|
tn0010.htm *** REMOVED *** (obsoleted by Bakefile changes)
|
||||||
tn0011.txt All about version numbers
|
tn0011.txt All about version numbers
|
||||||
tn0012.txt wxWidgets platform, toolkit and library names
|
tn0012.txt wxWidgets platform, toolkit and library names
|
||||||
tn0013.txt How to make a wxGTK distribution
|
tn0013.txt How to make a wxGTK distribution
|
||||||
|
@@ -1,19 +0,0 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type"
|
|
||||||
content="text/html; charset=iso-8859-1">
|
|
||||||
<meta name="Author" content="chris elliott">
|
|
||||||
<meta name="GENERATOR"
|
|
||||||
content="Mozilla/4.7 [en] (Win95; I) [Netscape]">
|
|
||||||
<title>Compiling wx Samples in the Borland IDE</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h2>
|
|
||||||
Compiling wxWidgets samples with the Borland CBuilder</h2>
|
|
||||||
Please use wxWidgets 2.4.x this will not work with the new makefiles in
|
|
||||||
wxWidgets 2.5.0<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@@ -1,9 +0,0 @@
|
|||||||
Using and modifying the BC++ IDE files
|
|
||||||
======================================
|
|
||||||
|
|
||||||
|
|
||||||
Please use wxWidgets 2.4.x - this is not currently supported in wxWidgets 2.6.0
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@@ -1,144 +0,0 @@
|
|||||||
<HTML>
|
|
||||||
|
|
||||||
<HEAD>
|
|
||||||
<TITLE>How to learn wxWidgets programming</TITLE>
|
|
||||||
</HEAD>
|
|
||||||
|
|
||||||
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
|
||||||
|
|
||||||
<font face="Arial, Lucida Sans, Helvetica">
|
|
||||||
|
|
||||||
<a name="top"></a>
|
|
||||||
|
|
||||||
<table align=center width=100% border=4 cellpadding=5 cellspacing=0>
|
|
||||||
<tr>
|
|
||||||
<td bgcolor="#660000" align=left colspan=2>
|
|
||||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
|
||||||
How to learn wxWidgets programming
|
|
||||||
</font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
The following is a response by Edward Ream to a common question,
|
|
||||||
"What's the best way to learn wxWidgets [and C++]?".<P>
|
|
||||||
|
|
||||||
Date: Sun, 04 Jun 2000 14:37:06 -0500<BR>
|
|
||||||
From: "Edward K. Ream" <edream@tds.net> <BR>
|
|
||||||
To: wx-users@wxwidgets.org<BR>
|
|
||||||
Subject: Re: [wx-users] How to learn using wx-windows <BR>
|
|
||||||
Reply-To: wx-users@wxwidgets.org<P>
|
|
||||||
|
|
||||||
> Reading the Linux Journal article on wxpython, and having used wxclips<BR>
|
|
||||||
> I got interested in wxwidgets as a development interface. However, the<BR>
|
|
||||||
> programming experience I got is old, and from a former generation (For-<BR>
|
|
||||||
> tran). I'd like to refresh my experience and start in C++. Will<BR>
|
|
||||||
> wx-windows be a very high step to take?<P>
|
|
||||||
|
|
||||||
I'm new to wxWidgets myself, but I'd like to answer this question
|
|
||||||
anyway. In the past two years I've learned two similar frameworks
|
|
||||||
(Apple's Yellow Box, aka NextStep/OpenStep and Borland's C++
|
|
||||||
Builder/Delphi) and last year I became a C++ enthusiast after 20 years
|
|
||||||
of using C.<P>
|
|
||||||
|
|
||||||
<B>About C++.</B><P>
|
|
||||||
|
|
||||||
The major Aha for me was that the complexity of C++ doesn't matter in
|
|
||||||
practice. What _does_ matter is that C++ allows you to do simple things
|
|
||||||
simply, more simply than C. With a system like wxWidgets you will be
|
|
||||||
creating objects and then using those objects to call methods. So don't
|
|
||||||
be afraid of C++: you'll only be using the easy tip of the
|
|
||||||
iceberg.<P>
|
|
||||||
|
|
||||||
Besides the C++ Programming Language, by Bjarne Stroustrup, the
|
|
||||||
"official" guide to C++, I highly recommend Inside the C++ Object Model,
|
|
||||||
by Stanley B. Lippman. (Lippman was one of the C++ honchos at Bell
|
|
||||||
Labs.) This book will tell you what _not_ to do, as well as why
|
|
||||||
everything in C++ is as it is. If you are confused by anything in C++,
|
|
||||||
Lippman's book is the cure.<P>
|
|
||||||
|
|
||||||
<B>About applications frameworks.</B><P>
|
|
||||||
|
|
||||||
Application frameworks such as wxWidgets are organized around a set of
|
|
||||||
cooperating classes. Take a look at the main application class, wxApp,
|
|
||||||
some frame and panel classes, graphics classes, menu classes, control
|
|
||||||
classes, etc. In general, to do anything in a framework involves
|
|
||||||
creating an object of the specified type, then doing something with that
|
|
||||||
object.<P>
|
|
||||||
|
|
||||||
For example, suppose you want to create a menu bar. A menu bar is
|
|
||||||
composed of a single menu bar object of type(class) wxMenuBar that
|
|
||||||
contains menu objects of type wxMenu. Each menu object contains menu
|
|
||||||
item objects of type wxMenuItem. So you create the menu bar object,
|
|
||||||
then create all the menu objects (creating the menu item objects along
|
|
||||||
the way) and finally "attach" the menu objects to the menu bar object
|
|
||||||
using a call to the wxMenuBar::Append method.<P>
|
|
||||||
|
|
||||||
As an overview I would look at the "Alphabetical class reference"
|
|
||||||
section of the reference manual. I find the HTML version to be the
|
|
||||||
easiest to use: you can browse very quickly through it. Here's how to
|
|
||||||
read this (very large) reference:<P>
|
|
||||||
|
|
||||||
<ol>
|
|
||||||
<li>Get an overview of the kinds of classes involved. The class names
|
|
||||||
will tell you a lot about what each class does. Open some of the
|
|
||||||
classes, in particular, wxApp (the main application object), wxFrame,
|
|
||||||
wxControl (the base class for all controls) and one or two controls,
|
|
||||||
like wxButton.
|
|
||||||
|
|
||||||
<li>When scanning a class for the first several times, read the
|
|
||||||
introductory remarks and quickly scan the list of methods of the class
|
|
||||||
to get a general idea about what kinds of operations can be done to
|
|
||||||
objects of the class. You are not looking for detail at this stage,
|
|
||||||
just for the big picture. In particular, what classes exist and how do
|
|
||||||
they work together.
|
|
||||||
|
|
||||||
<li>Pay particular attention to the classes from which a class is
|
|
||||||
derived. For example, a button (an object of type wxButton) is derived
|
|
||||||
from the wxControl, wxWindow, wxEvtHandler and wxObject classes. What
|
|
||||||
does this mean? It means that a button _is_ a control, and a button
|
|
||||||
_is_ a window, and a button _is_ an event handler and a button _is_ an
|
|
||||||
object. So you must understand the parent classes of an object to
|
|
||||||
understand the object itself.
|
|
||||||
|
|
||||||
For example, if b is a button you can invoke b.m for any of method m of
|
|
||||||
the wxControl, wxWindow, wxEvtHandler or wxObject classes. You are not
|
|
||||||
limited to just the methods of wxButton! This is one of the keys of
|
|
||||||
object oriented programming.
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
Some other tips:<P>
|
|
||||||
|
|
||||||
Read some sample code. You will find that almost none of the C++
|
|
||||||
language is actually being used; it's just endlessly creating objects
|
|
||||||
and then calling methods using those objects.<P>
|
|
||||||
|
|
||||||
Learn as much as you can about the String class; after using a good
|
|
||||||
String class you'll never want to use C's string functions again.
|
|
||||||
wxWidgets contains other nifty utility classes as well.<P>
|
|
||||||
|
|
||||||
The application class, wxApp, contains the main event loop. Learn about
|
|
||||||
event handling and event tables (reading sample code will help). Almost
|
|
||||||
everything in this kind of application framework happens as the result
|
|
||||||
of an event and your app is essentially doing nothing but responding to
|
|
||||||
events. Having the event loop written for you is a major, major
|
|
||||||
benefit.<P>
|
|
||||||
|
|
||||||
I hope this helps. Perhaps we can work together in learning about
|
|
||||||
wxWidgets. Please feel free to ask me any questions you might have. If
|
|
||||||
I've made any blunders in this posting I hope the wxWidgets experts will
|
|
||||||
correct me gently.<P>
|
|
||||||
|
|
||||||
Edward<BR>
|
|
||||||
--------------------------------------------------------------------<BR>
|
|
||||||
Edward K. Ream email: edream@tds.net<BR>
|
|
||||||
Leo: Literate Editor with Outlines<BR>
|
|
||||||
Leo: http://personalpages.tds.net/~edream/front.html<BR>
|
|
||||||
--------------------------------------------------------------------<P>
|
|
||||||
|
|
||||||
</font>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@@ -1,212 +0,0 @@
|
|||||||
<HTML>
|
|
||||||
|
|
||||||
<HEAD>
|
|
||||||
<TITLE>Compiling wxWidgets applications in the VC++ IDE</TITLE>
|
|
||||||
|
|
||||||
</HEAD>
|
|
||||||
|
|
||||||
<BODY BGCOLOR="#FFFFFF" TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
|
||||||
|
|
||||||
<font face="Arial, Lucida Sans, Helvetica">
|
|
||||||
|
|
||||||
<a name="top"></a>
|
|
||||||
|
|
||||||
<table width=100% border=0 cellpadding=5 cellspacing=0>
|
|
||||||
<tr>
|
|
||||||
<td bgcolor="#C4ECF9">
|
|
||||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#000000">
|
|
||||||
Compiling wxWidgets applications in the VC++ IDE
|
|
||||||
</font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<CENTER>
|
|
||||||
<a href="#wxwin2">Settings for wxWidgets 2.2</a> / <a href="#wxwin1">Settings for wxWidgets 1.68</a>
|
|
||||||
</CENTER>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
To compile wxWidgets samples and applications using the VC++ 5.0 or 6.0 IDE (having compiled wxWidgets
|
|
||||||
using the makefile or project file provided), the following
|
|
||||||
steps and settings should be used.<P>
|
|
||||||
|
|
||||||
<H2>Steps</H2>
|
|
||||||
|
|
||||||
<ol>
|
|
||||||
<li>Create a new WIN32 Application project.
|
|
||||||
<li>Add the .cpp and .rc files for your project.
|
|
||||||
<li>Apply the settings listed below to the project, replacing c:\wx2 with your wxWidgets
|
|
||||||
installation path.
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<H2><a name="wxwin2">Settings for wxWidgets 2.2</a></H2>
|
|
||||||
|
|
||||||
These settings apply to wxWidgets 2.1.14 and above but most of them are not
|
|
||||||
necessary any longer for wxWidgets 2.3+.<P>
|
|
||||||
|
|
||||||
<DL>
|
|
||||||
<DT><B>General</B><DD>
|
|
||||||
The <B>Output files</B> and <B>Intermediate files</B> directory fields should be Debug
|
|
||||||
for the Debug configuration, and Release for the Release configuration.<P>
|
|
||||||
|
|
||||||
<DT><B>Debug: General</B><DD>
|
|
||||||
The <B>Executable for debug sessions</B> field should be altered to be the path and name
|
|
||||||
you'd expect (it may have generated a different name).<P>
|
|
||||||
|
|
||||||
<DT><B>C/C++: Preprocessor</B><DD>
|
|
||||||
The <B>Preprocessor definitions</B> field should contain the following symbols for Debug:<P>
|
|
||||||
|
|
||||||
<PRE>
|
|
||||||
WIN32,_DEBUG,_WINDOWS,__WINDOWS__,__WXMSW__,__WXDEBUG__,WXDEBUG=1,
|
|
||||||
__WIN32__,WINVER=0x0400,STRICT
|
|
||||||
</PRE>
|
|
||||||
<P>
|
|
||||||
and these for Release:<P>
|
|
||||||
|
|
||||||
<PRE>
|
|
||||||
NDEBUG,WIN32,_WINDOWS,__WINDOWS__,__WXMSW__,__WIN32__,
|
|
||||||
WINVER=0x0400,STRICT</PRE>
|
|
||||||
<P>
|
|
||||||
The <B>Additional include directories</B> field should contain the following:<P>
|
|
||||||
<PRE>
|
|
||||||
c:\wx2\include
|
|
||||||
</PRE>
|
|
||||||
<P>(and of course any other directories you wish to use in your project).<P>
|
|
||||||
|
|
||||||
<DT><B>C/C++: Precompiled Headers</B><DD>
|
|
||||||
|
|
||||||
The <B>Not using precompiled headers</B> or <B>Automatic use of precompiled headers</B>
|
|
||||||
button should be selected.<P>
|
|
||||||
|
|
||||||
<DT><B>C/C++: Code Generation</B><DD>
|
|
||||||
|
|
||||||
The <B>Use run-time library</B> control should be set to <B>Debug Multithreaded DLL</B> (Debug)
|
|
||||||
or <B>Multithreaded DLL</B> (Release).<P>
|
|
||||||
|
|
||||||
<DT><B>Link: Input</B><DD>
|
|
||||||
|
|
||||||
The <B>Object/library modules</B> field should contain:
|
|
||||||
|
|
||||||
<PRE>
|
|
||||||
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib
|
|
||||||
ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib
|
|
||||||
winmm.lib wxmsw25d.lib wxbase25d.lib wxpngd.lib wxzlibd.lib wxjpegd.lib wxtiffd.lib
|
|
||||||
</PRE>
|
|
||||||
|
|
||||||
for the Debug configuration and
|
|
||||||
|
|
||||||
<PRE>
|
|
||||||
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib
|
|
||||||
ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib
|
|
||||||
winmm.lib wxmsw25.lib wxbase25.lib wxpng.lib wxzlib.lib wxjpeg.lib wxtiff.lib
|
|
||||||
</PRE>
|
|
||||||
|
|
||||||
for the Release configuration.<P>
|
|
||||||
|
|
||||||
The <B>Ignore libraries</B> field should contain:
|
|
||||||
|
|
||||||
<PRE>
|
|
||||||
libcd.lib,libcid.lib,msvcrt.lib
|
|
||||||
</PRE>
|
|
||||||
|
|
||||||
for the Debug configuration and
|
|
||||||
|
|
||||||
<PRE>
|
|
||||||
libc.lib,libci.lib,msvcrtd.lib
|
|
||||||
</PRE>
|
|
||||||
|
|
||||||
for the Release configuration.<P>
|
|
||||||
|
|
||||||
The <B>Additional library path</B> field should contain
|
|
||||||
|
|
||||||
<PRE>
|
|
||||||
c:\wx2\lib
|
|
||||||
</PRE>
|
|
||||||
|
|
||||||
for both Debug and Release configurations.
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<DT><B>Resources</B><DD>
|
|
||||||
|
|
||||||
Select your .rc file. The <B>Additional resource include directories</B> field should contain:
|
|
||||||
|
|
||||||
<PRE>
|
|
||||||
c:\wx2\include
|
|
||||||
</PRE>
|
|
||||||
|
|
||||||
</DL>
|
|
||||||
|
|
||||||
<HR>
|
|
||||||
|
|
||||||
<H2><a name="wxwin1">Settings for wxWidgets 1.68</a></H2>
|
|
||||||
|
|
||||||
Note: these have not yet been checked.<P>
|
|
||||||
|
|
||||||
<DL>
|
|
||||||
<DT><B>Debug: General</B><DD>
|
|
||||||
The <B>Executable for debug sessions</B> field should be altered to be the path and name
|
|
||||||
you'd expect (it may have generated a different name).<P>
|
|
||||||
|
|
||||||
<DT><B>General</B><DD>
|
|
||||||
The <B>Output directories</B> fields can be made blank if you want the objects
|
|
||||||
and executable to be created in the project directory and not a subdirectory.<P>
|
|
||||||
|
|
||||||
<DT><B>C/C++: Preprocessor</B><DD>
|
|
||||||
The <B>Preprocessor definitions</B> field should contain the following symbols:<P>
|
|
||||||
<PRE>
|
|
||||||
WIN32,_DEBUG,_WINDOWS,wx_msw,DEBUG=1,WINVER=0x0400,STRICT
|
|
||||||
</PRE>
|
|
||||||
<P>
|
|
||||||
The <B>Additional include directories</B> field should contain the following:<P>
|
|
||||||
<PRE>
|
|
||||||
../../include/base,../../include/msw
|
|
||||||
</PRE>
|
|
||||||
<P>(and of course any other directories you wish to use in your project).<P>
|
|
||||||
|
|
||||||
<DT><B>C/C++: Precompiled Headers</B><DD>
|
|
||||||
|
|
||||||
The <B>Not using precompiled headers</B> or <B>Automatic use of precompiled headers</B>
|
|
||||||
button should be selected (I can't find a way of using the wxWidgets PCH file).<P>
|
|
||||||
|
|
||||||
<DT><B>C/C++: Code Generation</B><DD>
|
|
||||||
|
|
||||||
The <B>Use run-time library</B> control should be set to <B>Multithreaded DLL</B>. This
|
|
||||||
sets the compiler switch to /MD to match the wxWidgets makefile.<P>
|
|
||||||
|
|
||||||
<DT><B>Link: Input</B><DD>
|
|
||||||
|
|
||||||
The <B>Object/library modules</B> field should contain:
|
|
||||||
|
|
||||||
<PRE>
|
|
||||||
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
|
|
||||||
shell32.lib odbc32.lib odbccp32.lib comctl32.lib
|
|
||||||
../../lib/wx.lib ../../src/msw/dummy.obj
|
|
||||||
</PRE>
|
|
||||||
|
|
||||||
The <B>Ignore libraries</B> field should contain:
|
|
||||||
|
|
||||||
<PRE>
|
|
||||||
libcd.lib,libcid.lib
|
|
||||||
</PRE>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<DT><B>Resources</B><DD>
|
|
||||||
|
|
||||||
Select your .rc file. The <B>Additional resource include directories</B> field should contain:
|
|
||||||
|
|
||||||
<PRE>
|
|
||||||
..\..\include\msw
|
|
||||||
</PRE>
|
|
||||||
|
|
||||||
</DL>
|
|
||||||
|
|
||||||
</BODY>
|
|
||||||
|
|
||||||
</HTML>
|
|
Reference in New Issue
Block a user