Thread View: comp.os.ms-windows.announce
1 messages
1 total messages
Started by Tom Haapanen
Wed, 27 Jan 1993 16:59
Windows Programmer FAQ: ASCII format, 04/04
Author: Tom Haapanen
Date: Wed, 27 Jan 1993 16:59
Date: Wed, 27 Jan 1993 16:59
450 lines
21722 bytes
21722 bytes
The following is part 04 of 04 of the ASCII text version of the
Microsoft Windows Programmer FAQ. While some of you may find this the best
format, the more popular format is the WinHelp file. These are posted
simultaneously with the ASCII version to comp.binaries.ms-windows.
You can obtain a copy of the WinHelp version as "faqprg01.zip" by ftp
from sonygate.sony.com [192.63.138.2], in /pub/comp.binaries.ms-windows.
It will also be placed on ftp.cica.indiana.edu once disk space permits.
BEGIN--------------cut here--------cut here------------cut here----------
whether you're actually
exhausting USER (probably) or GDI (less likely, unless you have a lot of
bitmaps).
Thanks for the explanation to Joe Robison (joero@microsoft.com).
...........................................................................
8.3.6. Tracking down unfreed resources
---------------------------------------
There are several utilities available on ftp.cica.indiana.edu which will
monitor the heap and memory usage. Look for files ma.zip and ha.zip in
/pub/pc/win3/utils. The Windows 3.1 debug kernel (included with the SDK)
also checks for unfreed resources when an application exits. Finally the
Heap Walker utility can be used to identify resources in the global heaps.
---------------------------------------------------------------------------
8.4. Documentation and help
============================
...........................................................................
8.4.1. Adding bitmaps to helpfiles
-----------------------------------
When you add a bitmap to a help source document using the [bml ...]
command, it freqently does not appear in the compiled helpfile. The
problem is that the text [bml printer.bmp] is an RTF bitmap inclusion
command (which is why you want it there), but Word assumes you really want
the literal text "[bml printer.bmp]", and escapes the whole sequence when
saving the files as RTF. Note that the previous description substitutes
square brackets for curly brackets to prevent hc from actually including
those bitmaps. Use curly brackets in your own helpfile source!
You'll get the actual RTF bitmap inclusion command in the RTF file (and
thus a bitmap in the compiled helpfile) by inserting a bitmap using the
Word for Windows menu commands and clicking on the "Link to file" checkbox
when it asks you which bitmap to insert.
...........................................................................
8.4.2. Screen Snapshots
------------------------
To take a snapshot of your screen, just press PrtScr, and Windows will copy
the image to the clipboard, from where you can paste it into your favourite
application. You can also use Alt+PrtScr to take a snapshot of only your
active pop-up window (child windows such as dialog controls are not counted
as "active").
You may wish to select the Monochrome VGA driver prior to doing the screen
print to produce 1-bit (2-color) bitmaps for easier printing.
As an alternative, you may wish to use a screen grabber/graphics conversion
utility such as HiJaak or PaintShop Pro (see the Microsoft Windows FAQ) if
you wish to produce good-quality grayscale bitmaps..
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
9. A PROGRAMMER'S BIBLIOGRAPHY
===============================
---------------------------------------------------------------------------
9.1. Windows 3.1 SDK
=====================
* Windows Programmer's Reference, Volume 1: Overview. Microsoft Press,
1992
* Windows Programmer's Reference, Volume 2: Functions. Microsoft Press,
1992
* Windows Programmer's Reference, Volume 3: Messages and structures.
Microsoft Press, 1992
* Windows Programmer's Reference, Volume 4: Resources. Microsoft Press,
1992
* Windows Guide to Programming. Microsoft Press, 1992
* Windows Programming Tools. Microsoft Press, 1992
* Windows User Interface Guidelines. Microsoft Press, 1992
* Windows Multimedia Programmer's. Guide Microsoft Press, 1992
* Windows Multimedia Programmer's Reference. Microsoft Press, 1992
* Windows for Pen Computing Programmer's Reference. Microsoft Press, 1992
* Windows Setup Toolkit. Microsoft Press, 1992
---------------------------------------------------------------------------
9.2. Windows 3.0 SDK
=====================
* SDK Reference, Volume 1: Functions and messages. Microsoft Press, 1990,
part no. 06856
* SDK Reference, Volume 2: Resource scripts and file formats. Microsoft
Press, 1990, part no. 06857
* SDK Guide to Programming. Microsoft Press. 1990, part no. 06854
* SDK Tools. Microsoft Press, 1990, part no. 06854
* SAA CUA Advanced Interface Design Guide. IBM, 1989, part no. SC26-4582-0
---------------------------------------------------------------------------
9.3. Win32 (Windows NT) API
============================
* Win32 API: An Overview. Microsoft Press, 1992
* Win32 Programmer's Reference, Volume 1: Overview, functions (A-O).
Microsoft Press, 1992
* Win32 Programmer's Reference, Volume 2: Functions (P-Z). Microsoft Press,
1992
---------------------------------------------------------------------------
9.4. User interface guidelines
===============================
* Windows User Interface Guidelines. [for Windows 3.1, Pen Windows and
Windows NT] Microsoft Press, 1992
* SAA CUA Advanced Interface Design Guide. [for Windows 3.0 and OS/2 1.x]
IBM, 1989, part no. SC26-4582-0
* SAA CUA'91 Design Guide. [for OS/2 2.0] IBM, 1991, part no. SC34-4289,
$10.00
* SAA CUA'91 Reference. [for OS/2 2.0] IBM, 1991, part no. SC34-4290,
$18.25
---------------------------------------------------------------------------
9.5. Microsoft Technical Notes
===============================
Microsoft's Technical Notes are available by ftp at ftp.uu.net, directory
/vendor/microsoft, or from the WINSDK forum on CompuServe. The following
is a quick index to the numbered files available at uunet.
FileName Description
3-1 Back Building a DLL using large model
3-2 CallB C++ class member functions as callbacks
3-3 ClsExp C++ class export syntax
3-4 NewOpr C++ new operator in large model
3-5 Owner C++ new operator in DLLs
3-6 Smart Using _fmalloc with Windows
3-7 Zusammen Using C/C++ compiler options
3-8 AppExec Launching and waiting for Windows applications
3-9 DDEExec Creating a DDE Execute server
3-10DDERecon Creating a DDE hot link client
3-11DDEServer Creating a DDE server
3-12PmgrAPI DDE command string interface to Program Manager
3-13StockSrv DDE hot links
3-14Glyph TrueType font engine and GetGlyphOutline()
3-15Lava Palette animation and pop-up menus
3-16MergeDIB Merging DIBs
3-17MultiPal Multiple palette management
3-18TransBlt Transparent bitmaps
3-19Tri Drawing to screen or memory DIB
3-20TriQ Drawing to screen or memory DIB
3-21CountDOS Combining a Windows application and a DOS TSR
3-22WinFloat Advanced floating-point functionality in Windows
3-23Detect Detecting presence of multimedia extensions
3-24JoyToy Using joystick services
3-25MMPF Reads and analyzes .MMP files
3-26MMPlay Plays .MMP files
3-27MMSys Using multimedia without drivers
3-28WaveConv Converting .WAV and .RIF files
3-29Patron OLE client
3-30Schmoo OLE server
3-31Ctl3D Implementing 3D dialogs and controls, a la Excel 4.0
3-32Dialogs Using common dialogs
3-33EdAlign Changing edit control alignment
3-34MinMax Controlling window minimum and maximum size
3-35StatBar Creating a status bar
3-36Styles Using user-selected styles for a window
3-37VList Using virtual listboxes
FileName Description
4-1 Blocks Dragging and stretching with MFC
4-2 MFCDIB DIBs with MFC
4-3 Modeless Modeless dialogs with MFC
4-4 Subclass Subclassing edit controls with MFC
4-5 BallCli DDE client using DDEML
4-6 BallSrv DDE server using DDEML
4-7 DMLClt Basic DDEML client
4-8 DMLSrv Basic DDEML server
4-9 BMUtil Bitmap techniques and utilities for MFC
4-10DragBMP Dragging bitmaps smoothly with MFC
4-11FADE Fading bitmaps using palette animation
4-12GDIRsrcs Extracting resources from resource files
4-13GDIWatch Useing TOOLHELP.DLL to walk heap
4-14RLEApp Animating with DIB RLE format
4-16WinCap Capturing screens using DIB API
4-17AsmClock Windows programming with MASM 6.0
4-18Backgrnd Background processing
4-19MakeApp Generating a Windows application
4-20ShowGrp Reading group files
4-21VerStamp Uses VER.DLL to get version information for a file
4-22WinQuery Querying the SQL Server
4-23Xtension Extension DLL for File Manager
4-24BadApp "Bad Application" handling
4-25DLLFloat Converting floating point to character strings
4-26DLLSkel Medium-model DLLs
4-27Fault Exception and Fault Trapping
4-28Handle Validating global and local handles
4-29MultApp Multiple instance DLL with separate data blocks
4-30TermWait Launching a task and waiting for completion
4-31MIDIKeyb Using the midiKeyB control
4-32ZYZGauge Implementing a progress bar
4-33ALCKey Uses ALC values to filter input
4-34AnnoPrnt Annotating and printing text and ink
4-35Annotate Adding handwriting annotation to a text file
4-36DynBedit Changing an edit control to bedit dynamically
4-37Grid Using pen gestures
4-38Hotspots Reconizing gesture hotspots
4-39Parser Mapping raw data into characters
4-40Pressure Capturing pen pressure information
4-41RCDump Accessing the RCRESULT Structure
4-42View Displaying ink slowly
4-43Health Visual Basic Pen Windows healthcare application
4-44Insure2 Visual Basic Pen Windows Insurance application
4-45LoanApp Visual Basic Pen Windows loan application
4-46Receipt Visual Basic Pen Windows order application
4-47SaleAnal Visual Basic Pen Windows forecast tracking
4-48CollColr Changing System Colors
4-49DynDlg Implementing a dynamic options dialog
4-50EXEView Extracting and decoding information from an .EXE
4-51HitTest Testing for click on an icon
4-52HotKey Installing hotkeys
4-53MDIDlg Using dialogs as MDI windows
4-54SignOn Creating a sign-on screen
4-55SysParam Using the SystemParametersInfo() function
FileName Description
10-1AppExec Launching other Windows-based applications
10-2BigBit Using TrueColor devices
10-3Client OLE Client Implementation Guide 1.02
10-4Ctl3D Adding 3-D effects to controls
10-5CtlDlgEd Developing custom controls for the dialog editor
10-6DDEDLL Performing DDE from a DLL
10-7DDEHotLk Using DDE hot links
10-8DDEOLE Supporting clipboard, DDE, and OLE
10-9DDESysTp Supporting the DDE system topic
10-10 DevEnvEstablishing a flexible development environment
10-11 DIBPalUsing DIBs with Palettes
10-12 DIBs2 Using DIBs
10-13 DLLIntro Introduction to DLLs
10-14 EditCtls Edit control reference
10-15 FaultsBulletproofing functions with TOOLHELP.DLL
10-16 FontMap Windows font mapping
10-17 GDIOver2 Windows GDI overview
10-18 GetGlyph Advanced TrueType: GetGlyphOutline()
documentation
10-19 Hooks Using Windows' hook functions
10-20 JSConcpt OLE: A short overview
10-21 LargeM4 Using large model
10-22 Listbox Listbox control reference
10-23 Listhrz2 Using horizontal scroll bars in listboxes
10-24 Mapping Coordinate mapping in Windows
10-25 Metafile An overview of metafiles
10-26 MinMaxUsign WM_GETMINMAXINFO
10-27 MTI An overview of modules, tasks and instances
10-28 Objects Using GDI objects
10-29 PalAware Creating a palette awareness
10-30 Palette An introduction to the palette manager
10-31 Porting Porting 16-Bit Windows Applications to Win32
10-32 Primitiv Device-independent graphics primitives
10-33 Print An introduction to printing
10-34 RawDDEDDE transaction definition tables
10-35 ServerOLE server implentation guide
10-36 StatBar Implementing a Status Bar
10-37 StatiCtl Static control reference
10-38 Streams OLE Streams introduction
10-39 StylesWindow hierarchies and styles
10-40 Subclass Safe subclassing
10-41 T2API Using TrueType
10-42 Timer2Timers and timing in Windows
10-43 TransBlt Transparent BitBlits
10-44 TrueType An introduction to TrueType
10-45 TSR-Supp TSR support in Windows 3.1
10-46 TT An introduction to TrueType
10-47 TTFonts Linear and nonlinear scaling
10-48 Use-Cust Using and customizing common dialogs
10-49 VLB Virtual listboxes
10-50 VxDLite A miniature DDK for creating VxDs
10-51 WEP Loading, initializing, and terminating a DLL
10-52 Win32DLL DLLs in Win32
10-53 WinFloat Floating point in Windows
10-54 PenUI Pen Windows user interface guidelines
10-55 SymbolGr Using the symbol graph
10-56 W4PRecog Moderating the Pen Windows recognition process
10-57 GraphXGraphics design and optimization
10-58 MemoryOptimizing memory usage and performance
10-59 MMAware Creating multimedia-aware applications
10-60 MsftMMMicrosoft multimedia document overview
10-61 OptCDRom CD-ROM design and optimization
10-62 RiffNew New multimedia types and techniques
10-63 Tech1 Multimedia technical support update
10-64 Video Multimedia video techniques
10-65 Dr_GUI1 Ask Dr. GUI # 1
10-66 Dr_GUI2 Ask Dr. GUI # 2
10-67 Dr_GUI3 Ask Dr. GUI # 3
10-68 Dr_GUI4 Ask Dr. GUI # 4
10-69 Dr_GUI5 Ask Dr. GUI # 5
10-70 Dr_GUI6 Ask Dr. GUI # 6
FileName Description
11-1CallB C++ class member functions as callbacks
11-2Cbl_CApp Passing parameters between C and COBOL modules
11-3CPPDLL Exporting an entire C++ class
11-4Draft3 Using MOVE in MS-DOS
11-5Fangle Using new in C++
11-6Malloc Using _fmalloc with Windows
11-7ObjMapC Object mapping in C++
11-8Optim Setting C/C++ compiler options
11-9SS208 Relocatable Object Module format specification
11-10 TN0001MFC: WNDCLASS structures
11-11 TN0002MFC: Presistent C++ storage
11-12 TN0003MFC: Mapping Windows handles to C++ objects
11-13 TN0004MFC: Using template classes in C++
11-14 TN0005MFC: Using MDI
11-15 TN0006MFC: Using message maps
11-16 TN0007MFC: Windows debugging and trace options
11-17 TN0008MFC: general OLE overview
11-18 TN0009MFC: creating OLE clients
11-19 TN0010MFC: creating OLE servers
11-20 TN0011MFC: creating DLLs
11-21 TN0012MFC: using Windows 3.1 robustness features
11-22 TN0013MFC: using standard dialog classes
11-23 TN0014MFC: creating custom controls
11-24 TN0015MFC: Pen Windows
11-25 TN0016MFC: multiple inheritance
11-26 TricksNew tricks for the C/C++ compiler
11-27 BuildSwi Programmer's Workbench build switches
11-28 DLL Creating DLLs with QuickC for Windows
FileName Description
13-1DynaComm Developing DDE applications with DynaComm
13-2New20 New WordBasic features in Word for Windows 2.0
13-3Prat1 Data mangement with Word for Windows and PackRat
13-4QPlusE Data exchange with Q+E
13-5RealTips EchoOff for WordBasic macros
13-6TJTips Private initialization files with Word for Windows
13-6XTalkDDE DDE with CrossTalk for Windows
---------------------------------------------------------------------------
9.6. Third-party programming guides: general
=============================================
Special notice must go to Charles Petzold's Windows bible, which is shown
first. All other Windows programming guides are listed alphabetically by
author.
* Petzold, Charles: Programming Windows, 3rd edition (with disk).
Microsoft Press, 1990, ISBN 1-55615-264-7
* Baer, Jrgen: Introduction to WIndows 3.1 Programming. Abacus, 1992, $
34.95
* Baer, Jrgen: Windows 3.1 Intern (with disk). Abacus, 1992, $ 49.95
* Clark, Jeffrey: Windows Programmer's Guide to OLE/DDE (with disk). SAMS,
1992, $ 34.95
* Custer, Helen: Inside Windows NT. Microsoft Press, 1992, ISBN: 1-55615-
481-X
* Farrell, Tim: Programming in WIndows 3.1, 2nd edition (with disk).
Addison-Wesley, 1992, $29.95
* Klein, Mike: Windows Programmer's Guide to DLLs and Memory Management
(with disk). SAMS, 1992, $ 34.95
* Heller, Martin: Advanced WIndows Programming. John Wiley & sons, 1992,
ISBN 0-471-54711-5, $ 32.95
* Leavens, Alex: Windows Programmer's Guide to Resources (with disk).
SAMS, 1992, $ 34.95
* McCord, James: Windows 3.1 Programmer's Reference. Que, 1992, $ 39.95
* Monk. Tim: Windows Programmer's Guide to Serial Communications., SAMS,
1992, ISBN 0-672-30030-3. $ 39.95
* Norton, Peter and Paul Yao: Windows 3.1 Power Programming Techniques.
Bantam Books, 1992, $29.95
* Rector, Brent: Developing Windows 3 Applications Microsoft Windows SDK.
SAMS, 1992, $ 29.95
* Richter, Jeffrey M.: Windows 3: A Developer's Guide (with disk). M&T
Books, 1991, ISBN 1-55851-164-4
* Southerton, Alan: Windows 3.0 Programming Primer (with disk). Addison-
Wesley, 1990, $ 34.95
* Wilken, Peter: Windows System Programming (with disk). Abacus, 1991, $
39.95
* Wilton, Richard: Microsoft Windows 3 Developer's Workshop. Microsoft
Press, 1991, $24.95
---------------------------------------------------------------------------
9.7. Third-party programming guides: class libraries
=====================================================
* Dilascia, Paul: Windows++. Addison-Wesley, 1992, $29.95
* McCord, James: Developing Windows Applications With Borland C++ 3.0,
SAMS, 1992, ISBN 0-672-30231-4, $ 39.95.
* Norton, Peter and Paul Yao: Borland C++ Programming for Windows. Bantam
Books, 1992, $29.95
* Roetzheim, William: Programming Windows with Borland C++.
* Shammas, Namir: Windows Programmer's Guide to Object Windows Library
(with disk). SAMS, 1992, $ 34.95
* Shammas, Namir: Windows Programmer's Guide to Microsoft Foundation
Classes (with disk). SAMS, 1992, $ 34.95
* Heiny, Loren: Windows Graphics Programming with Borland C++. Wiley,
1992, $ 29.95
---------------------------------------------------------------------------
9.8. Third-party programming guides: device drivers and internals
==================================================================
* Norton, Daniel A.: Writing Windows Device Drivers. Addison-Wesley, 1991,
$29.95
* Schulman, Andrew: Undocumented Windows (with disk). Addison-Wesley,
1992, $ 39.95
---------------------------------------------------------------------------
9.9. Third-party programming guides: macro languages
=====================================================
* Borland, Russell: Word for Windows macros. Microsoft Press, 1992
* Leonhard, Woody: Windows 3.1 Programming for Mere Mortals. Addison-
Wesley, 1992, $ 34.95
* The Power of Word 2 for Windows macros. MIS Press, 1992
---------------------------------------------------------------------------
9.10. Magazines
================
* BasicPro Magazine
299 California Ave. S120, Palo Alto, CA 94306-1912
(415) 688-1808
Not Windows-specific, but with extensive Visual Basic coverage
* Dr. Dobbs' Journal
411 Borel Ave., San Mateo, CA 94402-3522
(800) 456-1215, (303) 447-9330
Technical. Moderate Windows coverage.
* Inside Visual Basic
9420 Bunsen Parkway, suite 300, Louisville, KY 40220
(800) 223-8720, (502) 491-1900
* Microsoft Systems Journal
501 Galveston Dr., Redwood City, CA 94063
(415) 366-3600
Technical. Extensive Windows coverage.
* Windows Magazine
600 Community Community Dr., Manhasset, NY 11030
(800) 248-3584, (303) 447-9330
Non-technical.
* Windows/DOS Developer's Journal
2601 Iowa Rd., Lawrence, KS 66046
(913) 841-1631
Technical. Good Windows coverage.
END--cut here--cut here
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads