Developing Professional Applications in Windows 95 and NT Using MFC pdf

图书网 2017年11月16日10:23:57
评论
2.4K

Developing Professional Applications in Windows 95 and NT Using MFC 目录

Preface xiii

Version Free xiii

Audience xiv

Organization xiv

The Diskette and the On-line Index xv

Contacting the Authors: Questions, Comments, and Version

Changes xv

Acknowledgments xvi

Getting Your Bearings 1

What is Visual C++? 2

Available Documentation 3

7.Road Map 4

Common Questions 5

Part 1 Visual C++ and MFC Basics 11

1 Introduction 13

1.1 What is the Microsoft Foundation Class Library? 13

1.2 Windows Vocabulary 14

1.3 Event-driven Software and Vocabulary 16

1.4 An Example 19

1.5 Conclusion 20

2 Understanding an MFC Program 21

2.1 An Introduction to MFC 21

2.2 Designing a Program 23

2.3 Understanding the Code for “Hello World” 23

2.4 Completing the Program 30

2.5 MFC Application Structure 32

2.6 Conclusion 32

3 Customizing Controls 33

3.1 The Basics 33

3.2 CStatic Styles 36

3.3 CStatic Text Appearance 37

3.4 Rectangular Display Modes for CStatic 44

3.5 Fonts 47

3.6 Conclusion 48

4 Handling Events 49

4.1 Understanding Message Maps 49

4.2 The CButton Class 50

4.3 Creating a Message Map 52

4.4 Sizing Messages 54

4.5 Window Messages 57

4.6 Scroll Bar Controls 60

4.7 Understanding Message Maps 64

4.8 Conclusion 64

5 Simple Applications 67

5.1 Designing an Application 67

5.2 Implementing the Fahrenheit to Celsius Converter 69

5.3 The CEdit Control 74

5.4 An Interest Calculator 77

5.5 Conclusion 81

Part 2 Visual C++ and MFC Details 83

6 Resources, Dialogs, and Menus 85

6.1 Resources and Resource Files 85

6.2 The Icon Resource 88

6.3 Creating a Resource File 90

6.4 Menus 92

6.5 Responding to Menus 96

6.6 Dialog Resources 100

6.7 String Resources 106

6.8 Conclusion 109

7 Canned Dialogs 111

7.1 The Message Box Dialog 111

7.2 The File Open/Save Dialog 115

7.3 The Font Dialog 120

7.4 The Color Dialog 123

7.5 The Print Dialog 124

7.6 The Find/Replace Dialog 127

7.7 Conclusion 132

8 Edit Controls and Editors 133

8.1 Using the CEdit Control in Single-Line Mode 133

8.2 Using the CEdit Control in Multi-Line Mode 136

8.3 Designing a Simple Text Editor 139

8.4 Creating the Editor Application 140

8.5 Stubbing in the Menu Handlers 144

8.6 Implementing the Editor 150

8.7 Conclusion 161

9 Lists 163

9.1 Creating a List Box 163

9.2 Alternate Display Formats 167

9.3 Getting User Selections 170

9.4 Manipulating Items in a List 174

9.5 Combo Boxes 175

9.6 Conclusion 177

10 The CWinApp class 179

10.1 Member Variables 179

10.2 Icons and Cursors 181

10.3 Handling Idle Time 185

10.4 Application Functionality 186

10.5 Initialization Features 190

10.6 Miscellaneous Features 192

10.7 Conclusion 192

11 Drawing 195

11.1 Introduction to the GDI Library 195

11.2 GDI Basics 196

11.3 Device Contexts 198

11.4 Simple Drawing 200

11.5 Using the Mouse with Your Drawings 222

11.6 Advanced Drawing Concepts 249

11.7 Conclusion 261

12 Utility Classes 263

12.1 Utility Classes 264

12.2 Simple Array Classes 278

12.3 The CObject class and CObject Arrays 282

12.4 List Classes 291

12.5 Mapping Classes 295

12.6 Conclusion 298

13 Debugging and Robustness 299

13.1 Setting Up 299

13.2 Assertions 300

13.3 Tracing 305

13.4 Dumping 307

13.5 Memory State 309

13.6 Exceptions 313

13.7 Other Debugging Features 321

13.8 Conclusion 321

Part 3 Using the Visual C++ Wizards

and Tools to Create Applications 323

14 Understanding the AppWizard and ClassWizard 325

14.1 The Goal of the AppWizard 325

14.2 Creating a Simple Framework with the AppWizard 327

14.3 The AppWizard’s Document-Centric Approach 327

14.4 Understanding the AppWizard’s Files 329

14.5 Understanding the ClassWizard 333

14.6 Conclusion 335

15 Creating a Drawing Program 337

15.1 The Goal of the Application 337

15.2 Creating a Drawing Program 338

15.3 Understanding the Drawing Program 347

15.4 Creating an MDI Application 352

15.5 Scrolling 356

15.6 Splitter Windows 362

15.7 Adding New Menu Options and Dialogs. 371

15.8 Printing 380

15.9 Conclusion 388

16 Creating an Editor

with CEditView 391

16.1 Creating an MDI Text Editor 391

16.2 Understanding the Editor 392

16.3 Combining Two Documents and Views in a Single

Application 394

16.4 Fixing a Subtle Problem 397

16.5 Handling Multiple Views on One Document 398

16.6 Conclusion 399

17 Creating a Fahrenheit-to-Celsius Converter 401

17.1 Creating the Converter 401

17.2 Understanding the Program 404

17.3 Using DDX 405

17.4 Using the Document Class 406

17.5 Using Form Views 410

17.6 Conclusion 411

18 Creating an Address List

Application 413

18.1 Creating the Application 413

18.2 Understanding the Address List Program 424

18.3 Understanding DDX and DDV 425

18.4 Improving the Application 427

18.5 Printing 445

18.6 Conclusion 450

19 Context-Sensitive Help 453

19.1 Understanding the AppWizard’s Help Framework 453

19.2 Understanding and Modifying the Help Files 454

19.3 Context-Sensitive Help 460

19.4 Aliases 463

19.5 Conclusion 463

20 Common Controls 465

20.1 A Simple Example Using the Spin Button, List, and Tree

Controls 465

20.2 CSpinButtonCtrl 466

20.3 CListCtrl 466

20.4 CTreeCtrl 469

20.5 Property Sheets 470

20.6 A Property Sheet Example 470

20.7 The CPropertySheet Class 471

20.8 Conclusion 473

21 Creating Explorers 475

21.1 Creating the basic framework 476

21.2 Conclusion 480

Part 4 Advanced Features 481

22 Dialog Data

Exchange and Validation 483

22.1 Understanding DDX 484

22.2 Exchange Routines 485

22.3 Transfer Direction 486

22.4 Understanding DDV 486

22.5 An Example 487

22.6 Custom Routines 493

22.7 Conclusion 494

23 Understanding MFC 495

23.1 What Are Window Handles? 495

23.2 The Life of Windows and Objects 497

23.3 Initializing Dialogs 498

23.4 From HWND to CWnd 499

23.5 Permanent and Temporary Associations 501

23.6 Handles to Other Objects 501

23.7 How Messages Work 501

23.8 Subclassing 503

23.9 Conclusion 504

24 Enhancing The Edit Control 505

24.1 An Example 505

24.2 Understanding the Process 506

24.3 Conclusion 507

25 Self-Managing Controls 509

25.1 Owner-Drawing vs. Self-Drawing 510

25.2 Owner-Drawn Messages 510

25.3 The Self-Drawing Framework 510

25.4 Behind the Scenes 511

25.5 A General Solution 511

25.6 A Self-Drawing Combo Box 513

25.7 Drawing Transparent Bitmaps 517

25.8 Subclassing the Combo Box 520

25.9 Conclusion 521

26 Another Look— 523

A Self-Drawing List Box 523

26.1 Introduction to Font Enumeration 523

26.2 Enumerating Font Families 524

26.3 Enumerating Font Styles 527

26.4 An Example 528

26.5 Conclusion 532

27 Creating A Splash Screen 533

27.1 An Example 533

27.2 Conclusion 537

28 Expanding Dialogs 539

28.1 The CExpandingDialog Class 539

28.2 An Example 545

28.3 Conclusion 546

29 Drawing and Controls 547

29.1 Drawing in CStatic Controls 547

29.2 Drawing in Dialogs 550

29.3 Dialog Controls and the Background 552

29.4 Conclusion 552

30 Dialog Bars 555

30.1 An Example 556

30.2 Data Exchange 558

30.3 Conclusion 559

31 Dialog and View Idle

Command Updating 561

31.1 How Idle Updates Work 561

31.2 Idle Updating in Views 562

31.3 An Example 563

31.4 Idle Updating in Dialogs 563

31.5 An Example 565

31.6 Conclusion 566

32 Odds and Ends 567

32.1 Accepting Files from the File Manager 567

32.2 Making an Application the Topmost Window 568

32.3 Starting an Application Minimized 569

32.4 Modeless Dialog Boxes 569

32.5 Mini-Frame Windows 571

32.6 Context Popup Menus 574

32.7 Modifying the System Menu 576

32.8 Conclusion 576

Part 5 Advanced MFC Classes 577

33 Database Access 579

33.1 Understanding Relational Databases 579

33.2 Understanding SQL 582

33.3 Understanding ODBC 585

33.4 Microsoft Query 586

33.5 The CRecordSet Class 591

33.6 Simple CRecordSet Operations 593

33.7 Using the CRecordView Class 602

33.8 Adding and Deleting Records 605

33.9 Conclusion 607

34 OLE 609

34.1 Understanding OLE 609

34.2 An Example 614

34.3 OLE as a Vision of the Future 617

34.4 Standard OLE Features 618

34.5 An Introduction to OLE Containers 621

34.6 An Introduction to OLE Servers 629

34.7 An Introduction to OLE Automation 636

34.8 An Introduction to OLE Controls 640

34.9 Conclusion 650

35 MFC Threads 651

35.1 Understanding the Possibilities 651

35.2 Understanding Threads 652

35.3 MFC Worker Threads 655

35.4 Thread Termination 657

35.5 Passing Parameters to Threads 660

35.6 Suspending and Resuming Threads 661

35.7 Thread Priorities 662

35.8 Subclassing CWinThread 667

35.9 User Interface Threads 675

35.10 Conclusion 677
A

Understanding C++:

An Accelerated Introduction 679

B

Using the Visual C++

Compiler and Tools 739

B.1 Compiling and Executing a Console Program with Visual

C++ 739

B.2 Debugging 744

B.3 Compiling MFC Programs 747

B.4 The Browser 752

B.5 Resources and resource files 756

B.6 AppWizard Files 761

B.7 Using the ClassWizard 769

B.8 OLE Controls 775

B.9 Conclusion 781

C

Contacting the Authors 783

D

Using OpenGL with MFC 785

D.1 Writing an OpenGL Program 785

D.2 Simple 2-D Graphics 791

D.3 Transformations and the Matrix Stack 793

D.4 Mouse Action 796

D.5 Double Buffering 797

D.6 A Three Dimensional Cube 798

D.7 Z-Buffering 801

D.8 Conclusion 802

Index 803

Developing Professional Applications in Windows 95 and NT Using MFC 精彩文摘

The goal of this book is to show you how to develop professional Windows applica-tions using MFC and tools like the AppWizard and ClassWizard. The book is de-signed to move you rapidly and confidently to the point where you can create your own rich, full-featured applications with C++ and MFC.

The most important feature of this book is its constant attention to advanced features. As your skills develop, the book probes deeply into the concepts and capabil-ities that will let you build applications that are unique and useful. Features like these:

• Subclassed controls with customized appearance and behavior

• Splash screens

• Expanding dialog boxes

• Bitmaps stretched over the backgrounds of dialogs and client areas

• Windows 95 controls

• Property sheets

• Floating palettes and tool bars

• Popup menus

• Customized system menus

• MDI applications with multiple document types

• Multi-threaded applications

• OLE-capable servers, clients, and controls

• Client/server databases

These features make the difference between a normal application and a stunning application, and all of these different topics are explained in this book with straight-forward examples and clear English descriptions.

Version Free

This book is designed to be "version free." The goal is to create a book that can be updated on the web each time Visual C++ changes versions so that we can save you the cost of buying a new book every six months. To accomplish this goal, we have iso-lated all version-specific features in Appendix B. When a new version appears on the market, we will update this appendix on the web immediately, and you can access our updates, changes and supplements free of charge.

图书网:Developing Professional Applications in Windows 95 and NT Using MFC pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

程序设计

重构 改善既有代码的设计(中文版)pdf

《重构:改善既有代码的设计》(中文版)所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口...
程序设计

数据结构 C语言版 第2版pdf

适读人群 :普通高校电子信息大类本科生学习、考研,同时也适合零售和培训。 采用“案例驱动”的编写模式。书中结合实际应用,将各章按照“案例引入——数据结构及其操作——案例分析与实现”...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: