深入浅出MFC第2版(PDF格式)-第54部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
50。 MFC/OLE mon Dialogs (MFCUIx32)
51。 Using CTL3D Now and in the Future
52。 Writing Windows 95 Applications with MFC 3。1
53。 Custom DFX Routings for DAO Database Classes
54。 Calling DAO Directory while Using MFC DAO Classes
55。 Migrating MFC ODBC Database Classes Application to MFC DAO Classes
56。 Installation of MFC ponents
57。 Localization of MFC ponents
58。 MFC Module State Implementation
59。 Using MFC MBCS/Unicode Convertion Macros
60。 The New Windows mon Controls
61。 ON_NOTIFY and WM_NOTIFY Messages
62。 Message Reflection for Windows Controls
63。 Debugging Internet Extension DLLs
64。 Apartment…Model Threading in OLE Controls
65。 Dual…Interface Support for OLE Automation Servers
66。 mon MFC 3。x to 4。0 Porting Issues
67。 Database Access from an ISAPI Server Extension
68。 Performing Transactions with the Microsoft Access 7 ODBC Driver
69。 Processing HTML Forms Using Internet Server Extension DLLs and
mand Handlers
以下是MFC Tech Notes 的性质分类:
■MFC and Windows
TN001: Window Class Registration
TN003: Mapping of Windows Handles to Objects
TN012: Using MFC with Windows 3。1 Robustness Features
TN015: Windows for Pen
TN017: Destroying Window Objects
230
…………………………………………………………Page 293……………………………………………………………
第4章 Visual C++ 整合開發環境
TN034: Writing a Windows 3。0 patible MFC Application
TN051: Using CTL3D Now and in the Future
TN052: Writing Windows 95 Applications with MFC3。1
■MFC Architecture
TN002: Persistent Object Data Format
TN004: C++ Template Tool
TN006: Message Maps
TN016: Using C++ Multiple Inheritance with MFC
TN019: Updating Existing MFC Applications to MFC 3。0
TN021: mand and Message Routing
TN022: Standard mands Implementation
TN025: Document; View; and Frame Creation
TN026: DDX and DDV Routines
TN029: Splitter Windows
TN030: Customizing Printing and Print Preview
TN031: Control Bars
TN032: MFC Exception Mechanism
TN037: Multithreaded MFC 2。1 Applications
TN044: MFC Support for DBCS
TN046: menting Conventions for the MFC Classes
TN058: MFC Module State Implementation
TN059: Using MFC MBCS/Unicode Conversion Macros
TN066: mon MFC 3。x to 4。0 Porting Issues
■MFC Controls
TN014: Custom Controls
TN027: Emulation Support for Visual Basic Custom Controls
TN060: Windows mon Controls
TN061: ON_NOTIFY and WM_NOTIFY Messages
TN062: Message Reflection for Windows Controls
■MFC Database
231
…………………………………………………………Page 294……………………………………………………………
第篇 欲善工事先利其器
TN042: ODBC Driver Developer Remendations
TN043: RFX Routines
TN045: MFC/Database Support for Long Varchar/Varbinary
TN047: Relaxing Database Transaction Requirements
TN048: Writing ODBC Setup and Administration Programs for MFC Database
Applications
TN053: Custom DFX Routines for MFC DAO Classes
TN054: Calling DAO Directly While Using MFC DAO Classes
TN055: Migrating MFC ODBC Database Class Applications to MFC DAO Classes
TN068: Performing Transactions with the Microsoft Access 7 ODBC Driver
■MFC Debugging
TN007: Debugging Trace Options
■MFC DLLs
TN011: Using MFC as Part of a DLL
TN033: DLL Version of MFC
TN056: Installation of MFC ponents
TN057: Localization of MFC ponents
■MFC OLE
TN008: MFC OLE Support
TN018: Migrating OLE Applications from MFC 1。0 to MFC 2。0
TN038: MFC/OLE IUnknown Implementation
TN039: MFC/OLE Automation Implementation
TN040: MFC/OLE In…Place Resizing and Zooming
TN041: MFC/OLE1 Migration to MFC/OLE2
TN049: MFC/OLE MBCS to Unicode Translation Layer (MFCANS32)
TN050: MFC/OLE mon Dialogs (MFCUIx32)
TN064: Apartment…Model Threading in OLE Controls
TN065: Dual…Interface Support for OLE Automation Servers
232
…………………………………………………………Page 295……………………………………………………………
第4章 Visual C++ 整合開發環境
■MFC Resources
TN020: ID Naming and Numbering Conventions
TN023: Standard MFC Resources
TN024: MFC…Defined Messages and Resources
TN028: Context…Sensitive Help Support
TN035: Using Multiple Resource Files and Header Files with Visual C++
TN036: Using CFormView with AppWizard and ClassWizard
■MFC Internet
TN063: Debugging Internet Extension DLLs
TN067: Database Access from an ISAPI Server Extension
TN069: Processing HTML Forms Using Internet Server Extension DLLs and
mand Handlers
233
…………………………………………………………Page 296……………………………………………………………
第篇 欲善工事先利其器
四个重要的工具
完全依赖整合环境,丢掉PE2 (或其它什么老古董),这是我的良心建议。也许各个工
具的学习过程会有些阵痛,但代价十分值得。我们先对最重要的四个工具作全盘性了解,
再进去巡幽访胜一番。你总要先强记一下哪个工具做什么用,别把冯京当马凉,张飞战
岳飞,往后的文字看起来才会顺畅。
图4…4 是MFC 程序的设计流程。
Visual C++
IDE
。CPP 。DSW
。DEF
。H 。DSP
Source files
Create Build Your
AppWizard
ClassWizard Application
。ICO 。RC 。BMP
Resource files
Resource Editor
图4…4 MFC 程序的开发流程
234
…………………………………………………………Page 297……………………………………………………………
第4章 Visual C++ 整合開發環境
■ Visual C++ 整合开发环境(IDE):你可以从中明显地或隐喻地激活其它工具
如AppWizard 和ClassWizard;你可以设定各种工具、编译并联结程序、激活
除错器、激活文字编辑器、浏览类别阶层。。。。
■ AppWizard :这是一个程序代码产生器。基于application framework 的观念,相
同类型(或说风格)的MFC 程序一定具备相同的程序骨干,AppWizard 让你
挑选菜色(利用鼠标圈圈选选),也为你把菜炒出来(产生各种必要文件)。
别忘记,化学反应是不能够还原的,菜炒好了可不能反悔(只能加油添醋),
所以下手前需三思…每一个project 使用AppWizard 的机会只有一次。
■ Resource Editor :这是一个总合资源编辑器,RC 档内的各种资源它统统都有办
法处理。Resource Editor 做出来的各类资源与你的程序代码之间如何维系关系?
譬如说对话框中的一个控制组件被按下后程序该有什么反应? 这就要靠
ClassWizard 搭起鹊桥。
■ ClassWizard :AppWizard 制作出来的程序骨干是「起手无悔」的,接下来你只
能够在程序代码中加油添醋(最重要的工作是加上自己的成员变量并改写虚拟函
式),或搭起消息与程序代码之间的鹊桥(建立Message Map ),这全得仰仗
ClassWizard 。以一般文字编辑器直接修改程序代码当然也可以,但你的思维必须
非常缜密才不会挂一漏万。本书第四篇,当我们逐渐发展一个实用程序,你就
会看到ClassWizard 的好处。
235
…………………………………………………………Page 298……………………………………………………………
第篇 欲善工事先利其器
内务府总管:Visual C++ 整合开发环境
做为一个总管,要处理的大大小小事务很多。本章并不是Visual C++ 的完整使用手册,
并不做细部操作解说(完整手册可参考Online Help 中的Visual C++ User's Guide)。基
本上,如果你一边看这些文字说明一边实际玩玩这些工具,马上会有深刻的印象。
以功能菜单来分类,大致上Visual C++ 整合环境有以下功能:
■ File 在此开启或储存文件。文字文件开启于一个文字编辑器中,这个编辑器对
程序的撰写饶有助益,因为不同类型的关键词会以不同颜色标示。如果你新开
启的是一个project ,AppWizard 就会暗自激活(稍后再述)。文件的打印与印