Contents xvii
Selection and Cursor Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .352
Miscellaneous wxGrid Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .353
wxTaskBarIcon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .354
wxTaskBarIcon Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .358
wxTaskBarIcon Member Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .358
Writing Your Own Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .359
The Custom Control Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .360
Adding DoGetBestSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362
Defining a New Event Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .363
Displaying Information on the Control . . . . . . . . . . . . . . . . . . . . . . . . . . .363
Handling Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364
Defining Default Event Handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364
Implementing Validators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .365
Implementing Resource Handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .367
Determining Control Appearance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .367
A More Complex Example: wxThumbnailCtrl . . . . . . . . . . . . . . . . . . . . . .369
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .371
13 Data Structure Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373
Why Not STL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373
Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .374
Using wxString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .374
wxString, Characters, and String Literals . . . . . . . . . . . . . . . . . . . . . . . . .375
Basic wxString to C Pointer Conversions . . . . . . . . . . . . . . . . . . . . . . . . .375
Standard C String Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .376
Converting to and from Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .377
wxStringTokenizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .378
wxRegEx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .379
wxArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .379
Array Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .379
wxArrayString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .380
Array Construction, Destruction, and Memory Management . . . . . . . . .381
Array Sample Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .381
wxList and wxNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .383
wxHashMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .385
Storing and Processing Dates and Times . . . . . . . . . . . . . . . . . . . . . . . . . . . .387
wxDateTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .388
wxDateTime Constructors and Modifiers . . . . . . . . . . . . . . . . . . . . . . . . .388
wxDateTime Accessors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .388
Getting the Current Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389
Parsing and Formatting Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389
Date Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389
Date Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389
Helper Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .391
wxObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .391
Smart_FMf.qxd 6/10/05 1:52 PM Page xvii