Wine, WineLib and "Programming Windows 95 with MFC"
Table of contents
- General
- Introduction
- News
- Testing configuration
- Statistics
- Installation
- Wine notes
- WineLib notes
- Test Results
- API Index
Often called "The Petzold of MFC programmers" this book is a good
complement. Where the Petzold tested the Win32 API directly, this book allows
us to test how well Wine and Winelib support MFC based applications.
French title |
MFC Programmation sous Windows 95 |
French ISBN |
2-84082-189-3 |
Original title |
Programming Windows 95 with MFC |
Original ISBN |
1-55615-902-1 |
Author |
Jeff Prosise |
URL |
Second edition's site
|
Buying online |
Barnes & Noble
Buy.com
|
Get the complete testing kit, including these pages, from:
PrgMFC-0.1.1.tar.gz
(it's released under the X11 license)
- Tested 17 examples with Wine.
The tests have been performed on my Linux box:
- Linux: Debian 2.2 (potato)
- Kernel: 2.2.17pre6
- Libc: glibc 2.1.3
- X Server: XFree86 3.3.6 in 1600x1200x16
- Gcc version: 2.95.2
- G++ version: 2.95.2
- Wine version: Usually the CVS version as of the date indicated for each test
- Windows version: Windows 98
44 examples
17 have been tested (39%)
|
10 have Wine errors (59% of tested) |
11 have warnings (65% of tested) |
for a total of 14 errors |
for a total of 13 warnings |
0 have WineLib errors (0% of total) |
0 have warnings (0% of total) |
for a total of 0 errors |
for a total of 0 warnings |
44 executables |
0 WineLib executables (0%) |
84 C++ files |
0 compiled (0%) |
34 RC files |
0 compiled (0%) |
To install this testing kit follow these steps:
#Copy the contents of the CD to some directory.
mkdir PrgMFC
cd PrgMFC
cp -r /cdrom/CODE/* .
# The directories will be read-only, make them read-write
chmod u+w Chap*
# Uncompress the contents of the testing kit. Adapt to the version you got
tar xvfz ~/PrgMFC-0.1.1.tar.gz
# Then rename files to lowercase, perform a dos2unix and apply patches
./generate --setup
make setup
To perform the tests with Wine you will need to set up LD_LIBRARY_PATH and
PATH like you usually do when you want to use Wine.
Informal tests seem to indicate that most programs work fine.
Not tested yet since it requires the MFC.
- Chapter 1 - Hello, MFC (Salut, MFC)
- Chapter 2 - Drawing in a Window (Dessiner dans une feneêtre)
- Chapter 3 - The mouse and the keyboard (La souris et le clavier)
- Chapter 4 - Menus (Les menus)
- Chapter 5 - Controls (Les contrôles)
- Chapter 6 - Dialog boxes and property sheets (Les boîtes de dialogue et les feuilles de propriétés)
- Chapter 7 - Timers and idle processing (Les minuteries et le traitement des temps morts)
- Chapter 8 - Documents, views and the SDI interface (Les documents, les vues et l'interface SDI)
- Chapter 9 - Multiple documents and multiple views (Les documents et les vues multiples)
- Chapter 10 - Printing and print previewing(L'impression et l'aperçu avant impression)
- Chapter 11 - Toolbars, status bars, and versionable schemas (Les barres d'outils, les barres d'état et le sch&eacure;mas versionnables)
- Chapter 12 - Bitmaps, palettes and regions (Les bitmaps, les palettes et les régions)
- Chapter 13 - The common controls (Les contrôles communs)
- Chapter 14 - Threads and thread synchronization (Les threads et leur synchronisation)
This is an inverted list of the APIs used by the examples. Click on one of the functions to find which of the sample programs invoke it.
- GDI32
DeleteObject, EnumFontFamiliesA, GetDIBColorTable
- KERNEL32
CloseHandle, CompareFileTime, FindFirstFileA, FindNextFileA, GetDriveTypeA, GetLogicalDrives, GetModuleHandleA, GetStartupInfoA, GetVersion, Sleep, WaitForSingleObject, lstrcmpA, lstrcpyA
- MSVCR40D
_CxxThrowException, _XcptFilter, __CxxFrameHandler, __dllonexit, __getmainargs, __p__acmdln, __p__commode, __p__fmode, __set_app_type, __setusermatherr, _adj_fdiv_m64, _adjust_fdiv, _controlfp, _except_handler3, _exit, _ftol, _hypot, _initterm, _itoa, _onexit, _setmbcp, atoi, cos, exit, floor, memcpy, memset, pow, sin, strtod
- SHELL32
DragFinish, DragQueryFileA, ExtractIconA
- USER32
CopyRect, DestroyCaret, GetAsyncKeyState, GetClassLongA, GetCursorPos, GetMessagePos, GetSysColor, GetSysColorBrush, GetSystemMetrics, IsCharAlphaNumericA, IsClipboardFormatAvailable, IsDialogMessageA, LoadAcceleratorsA, LoadBitmapA, LoadImageA, MessageBeep, ReleaseCapture, SetCursor, SetMenuDefaultItem, TranslateAcceleratorA