About the Book
Special Edition Using
Visual C++ 6 focuses on making you productive with Visual C++ as quickly
as possible. Because of its straightforward approach, this book is able
to progress into more advanced topics such as database capabilities, creating
ActiveX controls and documents, and enterprise features. Coverage includes
all the new features of version 6 as well as expanding on a few topics
such as Active Server Pages, VC++, and ActiveX Data Object (ADO & OLE
DB).
Related Books
Special Edition Using Books (Special
Edition Using Books)
Table ofContents
I. GETTING STARTED WITH VISUAL C++.
1. Building Your First Windows Application.
Creating a Windows Application.
Creating a Dialog-Based Application.
Creating DLLs, Console Applications,
and More.
Changing Your AppWizard Decisions.
Understanding AppWizard's Code.
Other Files.
Understanding a Multiple Document
Interface Application.
Understanding the Components of a
Dialog-Based Application.
Reviewing AppWizard Decisions and
This Chapter.
2. Dialogs and Controls.
Understanding Dialog Boxes.
Creating a Dialog Box Resource.
Writing a Dialog Box Class.
Using the Dialog Box Class.
3. Messages and Commands.
Understanding Message Routing.
Understanding Message Loops.
Reading Message Maps.
Learning How ClassWizard Helps You
Catch Messages.
Recognizing Messages.
Understanding Commands.
Understanding Command Updates.
Learning How ClassWizard Helps You
Catch Commands and Command Updates.
II. GETTING INFORMATION FROM YOUR
APPLICATIONS.
4. Documents and Views.
Understanding the Document Class.
Understanding the View Class.
Creating the Rectangles Application.
Other View Classes.
Document Templates, Views, and Frame
Windows.
5. Drawing on the Screen.
Understanding Device Contexts.
Introducing the Paint1 Application.
Building the Paint1 Application.
Scrolling Windows.
Building the Scroll Application.
6. Printing and Print Preview.
Understanding Basic Printing and Print
Preview with MFC.
Scaling.
Printing Multiple Pages.
Setting the Origin.
MFC and Printing.
7. Persistence and File I/O.
Understanding Objects and Persistence.
Examining the File Demo Application.
Creating a Persistent Class.
Reading and Writing Files Directly.
Creating Your Own CArchive Objects.
Using the Registry.
8. Building a Complete Application:
ShowString.
Building an Application That Displays
a String.
Building the ShowString Menus.
Building the ShowString Dialog Boxes.
Making the Menu Work.
Making the Dialog Box Work.
Adding Appearance Options to the Options
Dialog Box.
III. IMPROVING YOUR USER INTERFACE.
9. Status Bars and Toolbars.
Working with Toolbars.
Working with Status Bars.
Working with Rebars.
10. Common Controls.
The Progress Bar Control.
The Slider Control.
The Up-Down Control.
The Image List Control.
The List View Control.
The Tree View Control.
The Rich Edit Control.
IP Address Control.
The Date Picker Control.
Month Calendar Control.
Scrolling the View.
11. Help.
Different Kinds of Help.
Components of the Help System.
Help Support from AppWizard.
Planning Your Help Approach.
Programming for Command Help.
Programming for Context Help.
Writing Help Text.
Adjustments to the Contents.
12. Property Pages and Sheets.
Introducing Property Sheets.
Creating the Property Sheet Demo Application.
Running the Property Sheet Demo Application.
Adding Property Sheets to Your Applications.
Changing Property Sheets to Wizards.
IV. ACTIVEX APPLICATIONS AND ACTIVEX
CONTROLS.
13. ActiveX Concepts.
The Purpose of ActiveX.
Object Linking. Object Embedding.
Containers and Servers.
Toward a More Intuitive User Interface.
The Component Object Model.
Automation.
ActiveX Controls.
14. Building an ActiveX Container
Application.
Changing ShowString.
Moving, Resizing, and Tracking.
Handling Multiple Objects and Object
Selection.
Implementing Drag and Drop.
Deleting an Object.
15. Building an ActiveX Server Application.
Adding Server Capabilities to ShowString.
Applications That Are Both Container
and Server.
Active Documents.
16. Building an Automation Server.
Designing ShowString Again.
Building a Controller Application
in Visual Basic.
Type Libraries and ActiveX Internals.
17. Building an ActiveX Control.
Creating a Rolling-Die Control.
Displaying the Current Value.
Reacting to a Mouse Click and Rolling
the Die.
Creating a Better User Interface.
Generating Property Sheets.
Rolling on Demand.
Future Improvements.
V. INTERNET PROGRAMMING.
18. Sockets, MAPI, and the Internet.
Using Windows Sockets.
Using the Messaging API (MAPI).
Using the WinInet Classes.
Using Internet Server API (ISAPI)
Classes.
19. Internet Programming with the
WinInet Classes.
Designing the Internet Query Application.
Building the Query Dialog Box.
Querying HTTP Sites.
Querying FTP Sites.
Querying Gopher Sites.
Using Gopher to Send a Finger Query.
Using Gopher to Send a Whois Query.
Future Work.
20. Building an Internet ActiveX
Control.
Embedding an ActiveX Control in a
Microsoft Internet Explorer Web Page.
Embedding an ActiveX Control in a
Netscape Navigator Web Page.
Registering as Safe for Scripting
and Initializing.
Choosing Between ActiveX and Java
Applets.
Using AppWizard to Create Faster ActiveX
Controls.
Speeding Control Loads with Asynchronous
Properties.
21. The Active Template Library.
Why Use the ATL?
Using AppWizard to Get Started.
Using the Object Wizard.
Adding Properties to the Control.
Drawing the Control.
Persistence and a Property Page.
Using the Control in Control Pad.
Adding Events.
Exposing the DoRoll() function.
Registering as init Safe and script
Safe.
Preparing the Control for Use in Design
Mode.
Minimizing Executable Size.
Using the Control in a Web Page.
VI. ADVANCED PROGRAMMING TECHNIQUES.
22. Database Access.
Understanding Database Concepts.
Creating an ODBC Database Program.
Choosing Between ODBC and DAO. OLE
DB.
23. SQL and the Enterprise Edition.
What's in the Enterprise Edition?
Understanding SQL.
Working with SQL Databases from C++.
Exploring the Publishing Application.
Working with Your Database.
Understanding Microsoft Transaction
Server.
Using Visual SourceSafe.
24. Improving Your Application's
Performance.
Preventing Errors with ASSERT and
TRACE.
Adding Debug-Only Features.
Sealing Memory Leaks.
Using Optimization to Make Efficient
Code.
Finding Bottlenecks by Profiling.
25. Achieving Reuse with the Gallery
and Your Own AppWizards.
Reviewing the Benefits of Writing
Reusable Code.
Using Component Gallery.
Introducing Custom AppWizards.
26. Exceptions and Templates.
Understanding Exceptions.
Exploring Templates.
The Standard Template Library.
Understanding Namespaces.
27. Multitasking with Windows Threads.
Understanding Simple Threads.
Understanding Thread Communication.
Using Thread Synchronization.
28. Future Explorations.
Creating Console Applications.
Creating and Using a 32-Bit Dynamic
Link Library.
Sending Messages and Commands.
Considering International Software
Development Issues.
VII. APPENDIXES.
Appendix A. C++ Review and Object-Oriented
Concepts.
Working with Objects.
Reusing Code and Design with Inheritance.
Managing Memory.
Appendix B. Windows Programming
Review and a Look Inside CWnd.
Programming for Windows.
Encapsulating the Windows API.
Inside CWnd.
Getting a Handle on All These MFC
Classes.
Appendix C. The Visual Studio User
Interface, Menus, and Toolbars.
Reviewing Developer Studio: An Integrated
Development Environment.
Choosing a View.
Looking at Interface Elements.
Looking at Your Code, Arranged by
Class.
Looking at Your Code, Arranged by
File.
Output and Error Messages.
Editing Your Code.
Learning the Menu System.
Reviewing Toolbars.
Appendix D. Debugging.
Debugging Vocabulary.
Debugging Commands and Windows.
Using MFC Tracer.
Defining a Dump Member Function.
Appendix E. MFC Macros and Globals.
Application Information and Management
Functions.
ClassWizard Comment Delimiters.
Collection Class Helper Functions.
CString Formatting and Message-Box
Display.
Data Types.
Diagnostic Services.
Exception Processing.
Message-Map Macros.
Runtime Object Model Services.
Standard Command and Window Ids.
Appendix F. Useful Classes.
The Array Classes.
The List Classes.
The Map Classes.
Collection Class Templates.
The String Class.
The Time Classes.
Index. |