|| Python Programming on
Win32, by Mark
Hammond and Andy
Robinson, 2000, ISBN 1565926218, O'Reilly.
If you are working with Python in a Windows environment and you want to talk to other applications (say by using COM or DCOM) or control or modify the operating system from Python (perhaps using Python as your operating system scripting language), you simply must get a copy of this book. Like the Python Cookbook, each time you use this book it'll save you hours of "interesting" times. I highly recommend this book.
It's also the sort of book where a programming team needs at least one copy. The sample code and errata page is here.
An introductory presentation by Mark Hammond and Greg Stein on COM given at a conference. In Feb'06 an announcement of a website dedicated to this was made: win32com.goermezer.de.
in Action, 2006, by Noel Rappin and Robin Dunn, published by
Manning Publications. ISBN: 1932394621.
Here's an artical
interviewing Robin Dunn. Reviewed
on voidspace. Reviewed
on Slashdot by Ron Stephens.
This is a very good introduction to using wxPython to create GUI applications in Python. Currently I've read about 70% of the book and found it quite easy to follow, the examples are quite concise, but still illustrate some powerful concepts (especially the grid table in Chapter 5 and the simple drawing application in chapter 6). Source code to the examples is available from the publisher's web site, but sometimes one learns more from actually typing in some of these that just downloading and running them. That's one of the beauties of Python, you can actually type in some stuff in the Python shell window and interactively experiment with things.
Incorporating HTML into wxPython. Using PIL (Python Imaging Library) within a wxPython application.
5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.
This Slashdot article references some other articles that seem to be similarly concerned with section 6 of the LGPL.
Getting out of a sub dialog, by hitting the tab can be done by trapping the tab key and putting in some code to manually move the focus out of the dialog to another window. If you really want this behavior the best thing to do would be to override CDialog::PreTranslateMsg() to handle the tab key and then use that version of CDialog as your base class for dialogs.
Using the Spy++ tool can help understand the window tabbing order because the tabbing order is the order that windows appear in its view (i.e. the order they are constructed and chained together).
The win32 function ::GetWindow(HWND, UINT) can be used to find the first child window of a given window when UINT == GW_CHILD. It can also be used to find the first (among several) sibling windows when UINT == GW_HWNDFIRST. There is a CWnd::GetWindow() equivalent function.