词条 | Windows程序设计(英文版) |
释义 | 《Windows程序设计》(英文版)(第5版)(套装上下册)是Windows程序设计方面不可替代的权威著作,由著名技术大师CharlesPetzold编写。书中涵盖了从基本输入输出、对话框、图形、内核、多线程、网络编程等Win32程序设计的核心内容。《Windows程序设计》是各层次Windows程序员的必备参考书。 版权信息书 名: Windows程序设计(英文版) 作 者:(美国)CharlesPetzold 出版社: 人民邮电出版社 出版时间: 2009 ISBN: 9787115193155 开本: 16 定价: 189.00 元 内容简介有经验的Windows程序员都知道,如果在工作中遇到了技术难题,最好的解决办法就是去查Petzold的书。是的,《Windows程序设计》内容博大精深,阐述透彻流畅,是毋庸置疑的Windows程序设计的权威著作,也是享誉世界的微软技术大师、Windows先驱奖得主CharlesPetzold的代表作。多少年来,一代又一代Windows程序员受惠于《Windows程序设计》,无数在Windows上运行的程序都不同程度地受到了《Windows程序设计》的影响。今天,Win32API之上已经有了各种框架使我们的开发工作更加方便,但是Petzold著作的魅力不减,仍然在不断重印。原因很简单,正如一位读者说的,Win32API依旧是Windows的基础,不经过《Windows程序设计》的洗礼,你很难说自己已经真正进入Windows程序设计技术的圣殿。上册:《Windows程序设计》分上下两册装订,本册讲述了Windows编程中的基础知识,包括键盘、鼠标、Unicode、菜单、对话框等内容,通过具有代表性的示例为开发人员提供了基本的指导。书中代码可以在图灵网站《Windows程序设计》网页免费注册下载。 《Windows程序设计》分上下两册装订,本册讲述了Windows编程中较高级的主题,包括图形、打印机、声音和音乐、动态链接库、多任务和多线程、多文档界面等内容,为开发人员提供了更全面的编程指导。书中代码可以在图灵网站《Windows程序设计》网页免费注册下载。 作者简介CharlesPetzold 微软技术领域的大师级专家。他的著作和文章为Wiridows程序设计技术的推广和普及作出了巨大贡献。1994年被微软公司授予“Windows先驱奖”,是全球唯一获此殊荣的技术作家。他也是资格最老的微软MVP之一。除本书外,他撰写的TheAnnotatedTunng(中文版将由人民邮电出版社出版)和Code等书也是脍炙人口的名著。 编辑推荐《Windows程序设计》(英文版)(第5版)(套装上下册)Windows程序设计“圣经”,十年依旧畅销不衰的神品,传奇大师带你走入Windows编程圣殿 有经验的Windows程序员都知道,如果在工作中遇到了技术难题。最好的解决办法就是去查Petzold的书。是的,《Windows程序设计》内容博大精深。阐述透彻流畅,是毋庸置疑的Windows程序设计的权威著作,也是享誉世界的微软技术大师、Windows先驱奖得主CharlesPetzold的代表作。多少年来,一代又一代Windows程序员受惠于《Windows程序设计》,无数在Windows上运行的程序都不同程度地受到了《Windows程序设计》的影响。 今天,Win32API之上已经有了各种框架使我们的开发工作更加方便。但是Petzold著作的魅力不减。仍然在不断重印。原因很简单。正如一位读者说的,Win32API依旧是Windows的基础。不经过《Windows程序设计》的洗礼,你很难说自己已经真正进入Windows程序设计技术的圣殿。 目录上册 Section I The Basics Chapter 1 Getting Started 3 The Windows Environment 4 A History of Windows 4 Aspects of Windows 6 Dynamic Linking 8 Windows Programming Options 9 APIs and Memory Models 9 Language Options 10 The Programming Environment 11 API Documentation 12 Your First Windows Program 13 A Character-Mode Model 13 The Windows Equivalent 14 The Header Files 15 Program Entry Point 15 The MessageBox Function 16 Compile, Link, and Run 18 Chapter 2 An Introduction to Unicode 19 A Brief History of Character Sets 20 American Standards 20 The World Beyond 21 Extending ASCII 22 Double-Byte Character Sets 24 Unicode to the Rescue 25 Wide Characters and C 26 The char Data Type 26 Wider Characters 27 Wide-Character Library Functions 28 Maintaining a Single Source 29 Wide Characters and Windows 31 Windows Header File Types 31 The Windows Function Calls 33 Windows?String Functions 34 Using printf in Windows 34 A Formatting Message Box 37 Internationalization and This Book 38 Chapter 3 Windows and Messages 41 A Window of One抯 Own 41 An Architectural Overview 42 The HELLOWIN Program 44 Thinking Globally 47 Registering the Window Class 51 Creating the Window 57 Displaying the Window 59 The Message Loop 60 The Window Procedure 62 Processing the Messages 62 Playing a Sound File 63 The WM_PAINT Message 64 The WM_DESTROY Message 66 The Windows Programming Hurdles 66 Don’t Call Me, I'll Call You 66 Queued and Nonqueued Messages 68 Get In and Out Fast 70 Chapter 4 An Exercise in Text Output 71 Painting and Repainting 72 The WM_PAINT Message 72 Valid and Invalid Rectangles 74 An Introduction to GDI 74 The Device Context 75 Getting a Device Context Handle: Method One 75 The Paint Information Structure 77 Getting a Device Context Handle: Method Two 79 TextOut: The Details 80 The System Font 82 The Size of a Character 82 Text Metrics: The Details 83 Formatting Text 85 Putting It All Together 86 The SYSMETS1.C Window Procedure 94 Not Enough Room 95 The Size of the Client Area 95 Scroll Bars 97 Scroll Bar Range and Position 99 Scroll Bar Messages 100 Scrolling SYSMETS 102 Structuring Your Program for Painting 107 Building a Better Scroll 108 The Scroll Bar Information Functions 108 How Low Can You Scroll? 110 The New SYSMETS 111 But I Don’t Like to Use the Mouse 118 Chapter 5 Basic Drawing 121 The Structure of GDI 121 The GDI Philosophy 121 The GDI Function Calls 123 The GDI Primitives 124 Other Stuff 125 The Device Context 126 Getting a Device Context Handle 126 Getting Device Context Information 128 The DEVCAPS1 Program 129 The Size of the Device 133 Finding Out About Color 138 The Device Context Attributes 140 Saving Device Contexts 142 Drawing Dots and Lines 143 Setting Pixels 143 Straight Lines 144 The Bounding Box Functions 149 Bezier Splines 156 Using Stock Pens 161 Creating, Selecting, and Deleting Pens 162 Filling in the Gaps 165 Drawing Modes 166 Drawing Filled Areas 168 The Polygon Function and the Polygon-Filling Mode 169 Brushing the Interior 174 The GDI Mapping Mode 176 Device Coordinates and Logical Coordinates 177 The Device Coordinate Systems 178 The Viewport and the Window 179 Working with MM_TEXT 181 The Metric Mapping Modes 183 The “Roll Your Own” Mapping Modes 187 The WHATSIZE Program 192 Rectangles, Regions, and Clipping 196 Working with Rectangles 196 Random Rectangles 198 Creating and Painting Regions 202 Clipping with Rectangles and Regions 204 The CLOVER Program 205 Chapter 6 The Keyboard 211 Keyboard Basics 211 Ignoring the Keyboard 212 Who's Got the Focus? 212 Queues and Synchronization 213 Keystrokes and Characters 214 Keystroke Messages 214 System and Nonsystem Keystrokes 215 Virtual Key Codes 216 The lParam Information 219 Shift States 221 Using Keystroke Messages 222 Enhancing SYSMETS for the Keyboard 223 Character Messages 231 The Four Character Messages 232 Message Ordering 233 Control Character Processing 234 Dead-Character Messages 235 Keyboard Messages and Character Sets 236 The KEYVIEW1 Program 236 The Foreign-Language Keyboard Problem 242 Character Sets and Fonts 244 What About Unicode? 255 TrueType and Big Fonts 256 The Caret (Not the Cursor) 263 The Caret Functions 264 The TYPER Program 265 Chapter 7 The Mouse 273 Mouse Basics 274 Some Quick Definitions 274 The Plural of Mouse Is?275 Client-Area Mouse Messages 276 Simple Mouse Processing: An Example 277 Processing Shift Keys 281 Mouse Double-Clicks 283 Nonclient-Area Mouse Messages 284 The Hit-Test Message 285 Messages Beget Messages 286 Hit-Testing in Your Programs 287 A Hypothetical Example 287 A Sample Program 288 Emulating the Mouse with the Keyboard 291 Add a Keyboard Interface to CHECKER 293 Using Child Windows for Hit-Testing 297 Child Windows in CHECKER 297 Child Windows and the Keyboard 303 Capturing the Mouse 309 Blocking Out a Rectangle 309 The Capture Solution 313 The BLOKOUT2 Program 314 The Mouse Wheel 318 Still to Come 326 Chapter 8 The Timer 327 Timer Basics 328 The System and the Timer 328 Timer Messages Are Not Asynchronous 329 Using the Timer: Three Methods 330 Method One 330 Method Two 334 Method Three 337 Using the Timer for a Clock 338 Building a Digital Clock 338 Getting the Current Time 343 Displaying Digits and Colons 344 Going International 344 Building an Analog Clock 346 Using the Timer for a Status Report 351 Chapter 9 Child Window Controls 357 The Button Class 359 Creating the Child Windows 363 The Child Talks to Its Parent 365 The Parent Talks to Its Child 366 Push Buttons 367 Check Boxes 368 Radio Buttons 369 Group Boxes 369 Changing the Button Text 369 Visible and Enabled Buttons 370 Buttons and Input Focus 370 Controls and Colors 371 System Colors 372 The Button Colors 373 The WM_CTLCOLORBTN Message 374 Owner-Draw Buttons 375 The Static Class 382 The Scroll Bar Class 383 The COLORS1 Program 384 The Automatic Keyboard Interface 392 Window Subclassing 393 Coloring the Background 393 Coloring the Scroll Bars and Static Text 394 The Edit Class 395 The Edit Class Styles 398 Edit Control Notification 399 Using the Edit Controls 399 Messages to an Edit Control 400 The Listbox Class 401 List Box Styles 401 Putting Strings in the List Box 402 Selecting and Extracting Entries 403 Receiving Messages from List Boxes 404 A Simple List Box Application 405 Listing Files 409 A head for Windows 411 Chapter 10 Menus and Other Resources 417 Icons, Cursors, Strings, and Custom Resources 418 Adding an Icon to a Program 418 Getting a Handle on Icons 424 Using Icons in Your Program 426 Using Customized Cursors 427 Character String Resources 428 Custom Resources 430 Menus 439 Menu Concepts 440 Menu Structure 440 Defining the Menu 441 Referencing the Menu in Your Program 441 Menus and Messages 442 A Sample Program 445 Menu Etiquette 451 Defining a Menu the Hard Way 452 Floating Popup Menus 453 Using the System Menu 459 Changing the Menu 462 Other Menu Commands 463 An Unorthodox Approach to Menus 464 Keyboard Accelerators 469 Why You Should Use Keyboard Accelerators 469 Some Rules on Assigning Accelerators 470 The Accelerator Table 470 Loading the Accelerator Table 471 Translating the Keystrokes 471 Receiving the Accelerator Messages 472 POPPAD with a Menu and Accelerators 473 Enabling Menu Items 480 Processing the Menu Options 480 Chapter 11 Dialog Boxes 483 Modal Dialog Boxes 484 Creating an “About” Dialog Box 484 The Dialog Box and Its Template 488 The Dialog Box Procedure 491 Invoking the Dialog Box 493 Variations on a Theme 494 A More Complex Dialog Box 497 Working with Dialog Box Controls 505 The OK and Cancel Buttons 507 Avoiding Global Variables 509 Tab Stops and Groups 510 Painting on the Dialog Box 512 Using Other Functions with Dialog Boxes 513 Defining Your Own Controls 513 Modeless Dialog Boxes 520 Differences Between Modal and Modeless Dialog Boxes 521 The New COLORS Program 523 HEXCALC: Window or Dialog Box? 529 The Common Dialog Boxes 538 POPPAD Revisited 538 Unicode File I/O 563 Changing the Font 564 Search and Replace 564 The One-Function-Call Windows Program 565 Chapter 12 The Clipboard 567 Simple Use of the Clipboard 568 The Standard Clipboard Data Formats 568 Memory Allocation 570 Transferring Text to the Clipboard 572 Getting Text from the Clipboard 573 Opening and Closing the Clipboard 574 The Clipboard and Unicode 575 Beyond Simple Clipboard Use 581 Using Multiple Data Items 581 Delayed Rendering 583 Private Data Formats 584 Becoming a Clipboard Viewer 587 The Clipboard Viewer Chain 587 Clipboard Viewer Functions and Messages 587 A Simple Clipboard Viewer 590 下册 Section II More Graphics Chapter 13 Using the Printer 597 Printing Fundamentals 598 Printing and Spooling 598 The Printer Device Context 602 The Revised DEVCAPS Program 605 The PrinterProperties Call 615 Checking for BitBlt Capability 616 The Simplest Printing Program 617 Printing Graphics and Text 619 Bare-Bones Printing 622 Canceling Printing with an Abort Procedure 623 How Windows Uses AbortProc 625 Implementing an Abort Procedure 625 Adding a Printing Dialog Box 628 Adding Printing to POPPAD 633 Chapter 14 Bitmaps and Bitblts 641 Bitmap Basics 641 Where Do Bitmaps Come From? 642 Bitmap Dimensions 643 Color and Bitmaps 644 Real-World Devices 644 Bitmap Support in GDI 647 The Bit-Block Transfer 648 A Simple BitBlt 648 Stretching the Bitmap 652 The StretchBlt Mode 656 The Raster Operations 657 The Pattern Blt 659 The GDI Bitmap Object 662 Creating a DDB 662 The Bitmap Bits 665 The Memory Device Context 666 Loading Bitmap Resources 667 The Monochrome Bitmap Format 671 Brushes from Bitmaps 674 Drawing on Bitmaps 677 The Shadow Bitmap 682 Using Bitmaps in Menus 687 Nonrectangular Bitmap Images 701 Some Simple Animation 707 Bitmaps Outside the Window 711 Chapter 15 The Device-Independent Bitmap 723 The DIB File Format 724 The OS/2-Style DIB 725 Bottoms Up! 728 The DIB Pixel Bits 728 The Expanded Windows DIB 730 Reality Check 733 DIB Compression 734 Color Masking 737 The Version 4 Header 740 The Version 5 Header 744 Displaying DIB Information 746 Displaying and Printing 755 Digging into the DIB 755 Pixel to Pixel 758 The Topsy-Turvy World of DIBs 769 Sequential Display 777 Stretching to Fit 786 Color Conversion, Palettes, and Performance 797 The Union of DIBs and DDBs 799 Creating a DDB from a DIB 799 From DDB to DIB 808 The DIB Section 808 More DIB Section Differences 817 The File-Mapping Option 818 In Summary 820 Chapter 16 The Palette Manager 821 Using Palettes 821 Video Hardware 822 Displaying Gray Shades 823 The Palette Messages 831 The Palette Index Approach 832 Querying the Palette Support 836 The System Palette 837 Other Palette Functions 837 The Raster-Op Problem 838 Looking at the System Palette 839 Palette Animation 850 The Bouncing Ball 851 One-Entry Palette Animation 859 Engineering Applications 865 Palettes and Real-World Images 870 Palettes and Packed DIBs 870 The All-Purpose Palette 883 The Halftone Palette 890 Indexing Palette Colors 896 Palettes and Bitmap Objects 902 Palettes and DIB Sections 909 A Library for DIBs 915 The DIBSTRUCT Structure 917 The Information Functions 918 Reading and Writing Pixels 927 Creating and Converting 932 The DIBHELP Header File and Macros 946 The DIBBLE Program 949 Simple Palettes; Optimized Palettes 975 Converting Formats 991 Chapter 17 Text and Fonts 997 Simple Text Output 997 The Text Drawing Functions 997 Device Context Attributes for Text 1000 Using Stock Fonts 1002 Background on Fonts 1002 The Types of Fonts 1003 TrueType Fonts 1004 Attributes or Styles? 1005 The Point Size 1005 Leading and Spacing 1005 The Logical Inch Problem 1006 The Logical Font 1007 Logical Font Creation and Selection 1007 The PICKFONT Program 1009 The Logical Font Structure 1026 The Font-Mapping Algorithm 1030 Finding Out About the Font 1031 Character Sets and Unicode 1033 The EZFONT System 1035 Font Rotation 1044 Font Enumeration 1046 The Enumeration Functions 1046 The ChooseFont Dialog 1047 Paragraph Formatting 1057 Simple Text Formatting 1058 Working with Paragraphs 1059 Previewing Printer Output 1069 The Fun and Fancy Stuff 1082 The GDI Path 1082 Extended Pens 1083 Four Sample Programs 1088 Chapter 18 Metafiles 1097 The Old Metafile Format 1098 Simple Use of Memory Metafiles 1098 Storing Metafiles on Disk 1101 Old Metafiles and the Clipboard 1102 Enhanced Metafiles 1107 The Basic Procedure 1107 Looking Inside 1111 Metafiles and GDI Objects 1118 Metafiles and Bitmaps 1123 Enumerating the Metafile 1127 Embedding Images 1135 An Enhanced Metafile Viewer and Printer 1139 Displaying Accurate Metafile Images 1150 Scaling and Aspect Ratios 1161 Mapping Modes in Metafiles 1163 Mapping and Playing 1166 Section III Advanced Topics Chapter 19 The Multiple-Document Interface 1173 MDI Concepts 1173 The Elements of MDI 1173 MDI Support 1175 A Sample MDI Implementation 1177 Three Menus 1190 Program Initialization 1191 Creating the Children 1192 More Frame Window Message Processing 1193 The Child Document Windows 1194 Cleaning Up 1196 Chapter 20 Multitasking and Multithreading 1197 Modes of Multitasking 1198 Multitasking Under DOS? 1198 Nonpreemptive Multitasking 1198 PM and the Serialized Message Queue 1200 The Multithreading Solution 1200 Multithreaded Architecture 1201 Thread Hassles 1202 The Windows Advantage 1202 New! Improved! Now with Threads! 1203 Windows Multithreading 1204 Random Rectangles Revisited 1205 The Programming Contest Problem 1208 The Multithreaded Solution 1216 Any Problems? 1226 The Benefits of Sleep 1226 Thread Synchronization 1227 The Critical Section 1227 Event Signaling 1229 The BIGJOB1 Program 1230 The Event Object 1235 Thread Local Storage 1240 Chapter 21 Dynamic-Link Libraries 1243 Library Basics 1243 Library: One Word, Many Meanings 1244 A Simple DLL 1245 The Library Entry and Exit Point 1248 The Test Program 1249 Shared Memory in DLLs 1252 The STRPROG Program 1258 Sharing Data Among STRPROG Instances 1264 Miscellaneous DLL Topics 1264 Dynamic Linking Without Imports 1265 Resource-Only Libraries 1266 Chapter 22 Sound and Music 1273 Windows and Multimedia 1273 Multimedia Hardware 1273 An API Overview 1274 Exploring MCI with TESTMCI 1275 MCITEXT and CD Audio 1280 Waveform Audio 1285 Sound and Waveforms 1285 Pulse Code Modulation 1286 The Sampling Rate 1287 The Sample Size 1287 Generating Sine Waves in Software 1288 A Digital Sound Recorder 1299 The MCI Alternative 1312 The MCI Command String Approach 1320 The Waveform Audio File Format 1325 Experimenting with Additive Synthesis 1326 Waking Up to Waveform Audio 1336 MIDI and Music 1345 The Workings of MIDI 1345 The Program Change 1347 The MIDI Channel 1347 MIDI Messages 1349 An Introduction to MIDI Sequencing 1351 Playing a MIDI Synthesizer from the PC Keyboard 1357 A MIDI Drum Machine 1375 The Multimedia time Functions 1399 RIFF File I/O 1402 Chapter 23 A Taste of the Internet 1405 Windows Sockets 1405 Sockets and TCP/IP 1406 Network Time Services 1406 The NETTIME Program 1407 WinInet and FTP 1421 Overview of the FTP API 1421 The Update Demo 1423 Index 1437 …… |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。