Skip to content

Pocket PC Developer's Guide

Best in textbook rentals since 2012!

ISBN-10: 0072131500

ISBN-13: 9780072131505

Edition: 2002

Authors: Bruce E. Krell

List price: $49.99
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Bruce Krell explains how to build real-world applications for the growing Pocket PC market. The author covers the creation of complete applications and the linking of desktop PCs with Pocket PCs by mixing theory with practice.
Customers also bought

Book details

List price: $49.99
Copyright year: 2002
Publisher: McGraw-Hill Osborne
Publication date: 4/10/2002
Binding: Paperback
Pages: 480
Size: 7.25" wide x 9.00" long x 1.50" tall
Weight: 2.090
Language: English

Acknowledgmentsp. xvii
Prefacep. xix
The Fundamentals
Overview of the Pocket PC Environmentp. 3
The Basic User Interfacep. 5
The Architecture of Windows CEp. 6
Inside the GWE Subsystemp. 10
Reviewing the Graphics Device Interface (GDI)p. 13
Logical Design of a Windows Programp. 17
Processing Messages Within a Programp. 18
Updating the Client Area of Your Windowp. 20
Summaryp. 21
A Typical Pocket PC Programp. 23
Unique Features of a Windows CE Programp. 24
Using Machine-Portable String Processing with TCHARp. 27
Overview of a Simple Windows Programp. 29
General Windows Program Logicp. 33
A Typical Windows Programp. 34
The Complete WinMain Listingp. 35
The Line-by-Line Analysis of WinMainp. 36
The Complete WinProc Listingp. 42
The Line-by-Line Analysis of WinProcp. 44
Converting the Program to Execute Under Windows CEp. 50
Modifications to the WinMain Elementp. 50
Discussion of WinMain Modificationsp. 51
The Annotated Code Listing for the Modified WinMain Elementp. 52
Modifications to the WinProc Elementp. 53
Discussion of WinProc Modificationsp. 54
The Annotated Code Listing for the Modified WinProc Elementp. 55
Analyzing the Design of the Simple Windows Programp. 56
Summaryp. 60
Sample Programs on the Webp. 60
Execution Instructionsp. 61
A Minimal, Easily Tested Pocket PC Programp. 63
User Interface of the Minimal Pocket PC Programp. 64
Design of the Minimal Pocket PC Programp. 65
Introducing the Magic of Message Crackersp. 69
Using the Message Cracker Wizardp. 72
The Implementation of the Minimal Dialog Programp. 77
Reviewing the Dialog and Menu Resource Templatesp. 77
Reviewing the WinMain Method in DlgMainp. 79
Reviewing the DlgProc Methodp. 81
Studying the Message Handler Bodiesp. 83
Evaluating the Portability Utils Elementp. 86
Considering the DataMgr Elementp. 90
Using the Dialog Program to Initialize a Desktop Programp. 91
Retargeting the Desktop Program to the Pocket PCp. 92
Analyzing the Design of the Minimal Dialog Programp. 94
Summaryp. 95
Sample Programs on the Webp. 96
Execution Instructionsp. 96
Drawing and Painting
Drawing Images Using Graphicsp. 101
Graphical User Interface for a Simple Animation Programp. 102
Drawing Images Using Graphicsp. 104
Using Drawing Toolkitsp. 104
Available Pen and Brush Stylesp. 106
Drawing Operationsp. 108
Clipping Operationsp. 109
Displaying the Imagep. 111
Forcing a Repaint of Your Application Windowp. 113
Using Timers in Your Applicationp. 114
Using Encapsulation in an Application Designp. 116
The Implementation of the Simple Animation Programp. 120
Reviewing the DlgProc Methodp. 122
Studying the Message Handler Bodiesp. 123
Evaluating the DrawOps Elementp. 129
Analysis of the Effectiveness of the Encapsulationp. 133
Summaryp. 133
Sample Programs on the Webp. 134
Execution Instructionsp. 134
Implementing a Drawing Programp. 137
Drawing Objects Using Rubber Bandingp. 139
Adding Message Handler Declarations and Handler Bodiesp. 144
Declaring the Static Variables Necessary to Support Draggingp. 145
Implementing the Message Handler Bodies to Manage Drawingp. 146
Modifying the Paint Handler to Support Erasing and Drawingp. 149
Typing and Echoing Charactersp. 151
Implementing the Text Function Encapsulationp. 158
Adding Variables to Maintain Text Entry State and a Text Stringp. 160
Defining the Custom WM_POSITIONCARET Messagep. 161
Incorporating the Handling of Character-Related Messagesp. 163
Implementing the WM_KEYDOWN Message Handlerp. 164
Updating the WM_LBUTTONDOWN Message Handlerp. 167
Implementing the WM_CHAR Message Handlerp. 169
Implementing the WM_POSITIONCARET Message Handlerp. 171
Displaying a Text String in the WM_PAINT Message Handlerp. 171
A Short Critique of This Design/Implementation Approachp. 173
Summaryp. 173
Sample Programs on the Webp. 174
Execution Instructionsp. 174
Image Processing Using Bitmapsp. 179
Implementing an Image-Processing Programp. 181
Introducing the Graphical User Interfacep. 181
Analyzing Program Operations and Organizationp. 186
Implementing the Image-Processing Programp. 192
Developing a Splash Screen Using BitmapUtilitiesp. 205
Introducing the Graphical User Interfacep. 205
Describing the Internal Operation of the Programp. 207
Implementing the Splash Screen Programp. 208
Performing Bitmap Animation Using BitmapUtilitiesp. 212
Introducing the Graphical User Interfacep. 212
Implementing the Bitmap-Animation Programp. 214
Preparing ActiveSync for the Programs in This Chapterp. 221
Summaryp. 224
Sample Programs on the Webp. 225
Execution Instructionsp. 225
User-Friendly Applications in Small Spaces
Using an Effective Software Designp. 233
Developing the Design Rationalep. 235
The Final Layered Designp. 249
Implementation Processp. 251
Actual Code Analysisp. 252
Implementing the Data Type Manager Encapsulation DrawObjMgrp. 253
Implementing the Object Manager Encapsulation DefaultMgrp. 256
Adding Variables and Access Methods to the Existing DataMgrp. 258
Adding a CaretMgr Functional Encapsulationp. 259
Implementing the UserInputMgr to Process Messagesp. 260
Modifying Handlers in DlgProc to Interact with UserInputMgrp. 266
Enhancing the Main Menu Using a Pop-up Submenup. 268
Updating the WM_COMMAND Handler to Process Menu Itemsp. 274
Adding a WM_INITMENUPOPUP Handler to Check the Defaultp. 275
Some Comments on the Design and the Implementationp. 276
Summaryp. 277
Sample Programs on the Webp. 277
Execution Instructionsp. 278
Using Intrinsic Controls in a Graphical User Interfacep. 281
Using Intrinsic Controls in an Applicationp. 282
An Overview of the Intrinsic Controlsp. 284
Implementing with the Intrinsic Controlsp. 289
An Important Portability Issuep. 293
Using a Group of Controls to Implement User-Friendly Inputp. 294
Utilizing a Scroll Bar and a Text Buddyp. 295
Incorporating a User-Friendly Scroll Bar Controlp. 299
Validating Direct User Inputs into the Text Buddy Windowp. 304
Summaryp. 305
Sample Programs on the Webp. 306
Execution Instructionsp. 306
Developing a Complex User Interfacep. 311
A Drawing Program with a Complex User Interfacep. 312
Using Bitmap Buttons to Support Areas of the Hierarchyp. 318
Steps for Using the Bitmap Buttons Software Elementp. 318
An Example of the Steps for Using Bitmap Buttonsp. 318
An Overview of the BitmapButtonMgr Implementationp. 324
Using Tab Pages to Support Categories of the Hierarchyp. 326
Steps for Using the TabPageMgr and Tab Templatesp. 326
An Example of the Steps for Using TabPageMgrp. 327
An Overview of the Tab Pages Templates Implementationp. 334
A Final Consideration for Developersp. 336
Summaryp. 336
Sample Programs on the Webp. 337
Execution Instructionsp. 337
Maintaining Application Parametersp. 339
Using a Layered Design for Managing Parametersp. 342
Choosing a Target Storage Formatp. 345
Steps to Tailor a Parameter Database Managerp. 347
An Example of Tailoring a Parameter Database Managerp. 348
Define the Record Organization of the Parameter Databasep. 348
Define Default Records for Each of the Parametersp. 349
Use Methods to Interact with the Parameter Databasep. 350
A Code Walk Through the Layersp. 352
Targeting the Bottom Layer to a Destinationp. 354
Summaryp. 355
Sample Programs on the Webp. 356
Execution Instructionsp. 356
Systems Programming
Multithreaded Applications and Synchronizationp. 361
The Use and Abuse of Threadsp. 362
States of a Threadp. 364
Scheduling a Thread for Executionp. 366
Thread Priorities and Priority Managementp. 367
Demonstrating the Effect of Thread Prioritiesp. 368
An Introduction to the Synchronization Problemp. 370
A Solution to the Synchronization Problemp. 374
Some Detailed Design for a Reviewp. 376
Implementing Threads with Synchronizationp. 378
Creating the Threadsp. 379
Implementing the Main Threadp. 379
Implementing a Child Threadp. 379
Creating the Synchronization Objectsp. 380
Waiting for Step Completionp. 381
Signaling Step Completionp. 382
Waiting for the Child Threadsp. 383
Summaryp. 384
Sample Programs on the Webp. 384
Execution Instructionsp. 384
Utilizing COM Componentsp. 389
Component Object Model Architecturep. 390
Creating COM Components with ATLp. 403
Create an ATL COM Object Using the ATL COM AppWizardp. 404
Insert a New ATL Object Using the ATL Object Wizardp. 405
Add Application Methods Using the Add Method to Interface Wizardp. 409
Generate the Bodies of the Application-Specific Methodsp. 410
Analyzing the ATL COM Componentp. 412
A Class Declarationp. 412
The Class Bodyp. 414
Global Methods and Objectsp. 415
An Interface Definition Language Filep. 417
A Registry Scriptp. 418
Creating a COM Clientp. 419
Establishing the COM Object Interfacep. 421
Programming the COM Object Interfacep. 421
Registering a COM Server on a Pocket PCp. 424
Summaryp. 425
Sample Programs on the Webp. 426
Execution Instructionsp. 426
Indexp. 431
Table of Contents provided by Syndetics. All Rights Reserved.