Table of Contents
Who Should Read This Book? Before You Start Reading. What This Book Covers. Windows Applications. Messages and Commands. .NET Programming. Conventions Used in This Book. Time to Get Started. 1. .NET Background.
What Is .NET? Why Write an XML Web Service? What About Existing MFC Applications? What About COM Developers? Will C++ Be the Right Language for .NET? What Should a New .NET Programmer Learn? From Here. 2. Building Your First Windows Application.
Creating a Windows Application. Filenames and Classnames. Try It Yourself. Creating a Dialog-Based Application. Creating DLLs, Console Applications, and More. Changing Your MFC Application Wizard Decisions. Understanding the MFC Application Wizard's Code. From Here. 3. Interacting with Your Application.
Understanding Dialog Boxes. Creating a Dialog Resource. Understanding Message Routing. Learning How MFC Class Wizard Helps You Catch Messages. Understanding Commands. From Here. 4. Displaying Information.
Understanding the Document Class. Understanding the View Class. Creating the Rectangles Application. Other View Classes. Document Templates, Views, and Frame Windows. Understanding Device Contexts. Introducing the Paint1 Application. Building the Paint1 Application. Using Fonts. Sizing and Positioning the Window. Using Pens. Using Brushes. Scrolling Windows. Building the Scroller Application. Adding Code to Increase Lines. Adding Code to Decrease Lines. From Here. 5. Printing and Saving.
Understanding Basic Printing and Print Preview with MFC. Scaling. Printing Multiple Pages. Setting the Origin. MFC and Printing. Understanding Saving and Persistence. Creating a Persistent Class. Reading and Writing Files Directly. Creating Your Own CArchive Objects. Using the Registry. From Here. 6. 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. From Here. 7. Status Bars, Toolbars, and Common Controls.
Working with Toolbars. Working with Status Bars. Creating a New Command ID. Creating the Default String. Adding the ID to the Indicators Array. Creating the Pane's Command-Update Handler. Setting the Status Bar's Appearance. Working with Rebars. Common Controls. From Here. 8. Help, Property Pages, and Wizards.
Online Help. Different Kinds of Help. Components of the Help System. Help Support from the Application Wizard. Planning Your Help Approach. Programming for Command Help. Programming for Context Help. Writing Help Text. Adjustments to the Contents. Adding Property Sheets to Your Applications. Changing Property Sheets to Wizards. From Here. 9. Building COM+ Components with ATL.
Fundamental COM Concepts. ATL, the Active Template Library. The Plus in COM+. From Here. 10. Internet Programming.
Using Windows Sockets. Winsock in MFC. Using the Messaging API (MAPI). Adding MAPI Support to an Application. Using Internet Server API (ISAPI) Classes. Using the WinInet Classes. ATL Server. From Here. 11. Database Programming.
Windows Database Programming in Visual C++. Understanding Database Concepts. Creating an ODBC Database Program. Sorting and Filtering. Choosing Between ODBC and ADO. Understanding SQL. Stored Procedures. From Here. 12. Improving Your Application's Performance.
Preventing Errors with ASSERT and TRACE. Adding Debug-Only Features. Sealing Memory Leaks. Using Optimization to Make Efficient Code. From Here. 13. Debugging.
The Importance of Debugging. Debugging Vocabulary: Breakpoints and Related Concepts. Debugging Commands and Windows. Using the ATL/MFC Trace Tool. Defining a Dump Member Function. Troubleshooting. From Here. 14. Multitasking with Windows Threads.
Understanding Simple Threads. Understanding Thread Communication. Communicating with Event Objects. Using Thread Synchronization. From Here. 15. Special Win32 Application Types.
Advanced Win32 Programming Topics. Creating Console Applications. Creating and Using a 32-Bit Dynamic Link Library. Sending Messages and Commands. International Software Development Issues. Creating a Windows Service. From Here. 16. The Common Language Runtime.
Architecture of .NET. The System Namespace. Tips for .NET-Friendly Code. Finding the Old Familiars. From Here. 17. Getting Started with .NET.
Your First .NET Application. Your First .NET Component. Designing a Useful .NET Component. From Here. 18. Integrating with Visual Basic.
Using a C++ Component from Visual Basic. Extending a C++ Component in Visual Basic. Using a Visual Basic Component from Visual C++. From Here. 19. Integrating with C#.
Using a C++ Component from C#. Using a C++ Component from an ASP.NET Page. Extending a C++ Component in C#. Using a C# Component from C++. From Here. 20. Managed and Unmanaged C++.
C++ Supports both Managed and Unmanaged Programming. What Is Managed Code? Can All Classes Be Garbage-Collected Classes? Value Types. Managed Interfaces. Properties. Mixing Managed and Unmanaged Code. From Here. 21. Creating an XML Web Service.
XML Web Service. What Should an XML Web Service Offer? Designing the Sample Web Service. Testing the Sample Web Service. Consuming a Web Service from Code. DISCO and UDDI. From Here. 22. Database Access with ADO.NET.
Getting Started with ADO.NET. A Data Access Component. Using a DataRelation. Getting XML from a Database. Filling a Database from XML. From Here. 23. COM Interop.
Using a COM Component from a .NET Application. Extending a COM Component in .NET. Using a .NET Object As a COM Component. From Here. 24. Security and Policies.
Making Applications More Secure. The .NET Security Model Is Consistent. Isolated and Shared Assemblies. User-Based and Role-Based Security. Security from the Compiler. From Here. A. Windows Programming Review and a Look Inside CWnd.
Programming for Windows. Inside CWnd. Getting a Handle on All These MFC Classes. B. XML Review.
What Is XML? Visual Studio Support for DTDs and Schemas. What Can XML Be Used For? What Is XSLT? What Is XSL? What Does the Future Hold for XML and Related Technologies? C. The Visual Studio User Interface, Menus, and Visual Studio.
Visual 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. Other Useful Windows. Editing Your Code. Learning the Menu System. Help. Toolbars. D. Upgrading from Visual C++ 6.
Making Visual Studio .NET Resemble Visual C++ 6. Terminology. Visual Changes. Finding Familiar Commands. What Happened to ClassView? Where Is ClassWizard? Is This Visual Basic? Index.
Special Edition Using Visual C++.NET is a comprehensive resource to help readers leverage the exciting new features of Visual C++.NET as well as port their existing skills to the new .NET development environment. The book shows how both Win32 and .NET applications work, not only instructing the reader in the use of Microsoft's Visual C++ wizards, but also showing what the wizards create. A variety of programming tasks from simple dialog boxes to database and Internet programming are included. Because of the new .NET platform developers in any of 17 languages (including Visual C++) will use the same class libraries to construct high-performance applications. SE Using Visual C++.NET will not only cover the new version of the software but also how to get maximum programming results from combining several languages into one project. Related technologies such as XML and XSLT are also covered, along with integrating Visual C++ code with Visual Basic and C# code.
Kate Gregory is a founding partner of Gregory Consulting Limited (www.gregcons.com), which has been providing consulting and development services throughout North America since 1986. Her experience with C++ stretches back to before Visual C++ existed¿and she enthusiastically converted upon seeing the first release. Gregory Consulting develops software and Web sites, and specializes in combining the two to create active sites. The firm, which has grown to ten people, builds quality custom and off-the-shelf software components for Web pages and other applications, and consults on Internet and intranet topics for clients in government and small- to medium-sized firms.
Kate teaches and writes on a variety of related topics, including .NET, XML, C++, object-oriented techniques, and UML. She also speaks at conferences, including Microsoft Developer Days, on topics of interest to the Visual C++ community, and serves as the MSDN Regional Director for Toronto. (MSDN is an outreach program for developers who use Microsoft tools.) Her books for Que include Using UseNet Newsgroups, Building Internet Applications with Visual C++, and three previous editions of Special Edition Using Visual C++. She has also contributed to four other books for Que. Kate welcomes mail at firstname.lastname@example.org and provides updates and bonus chapters for this book at the usingvisualc.net Web site.