MiniGUI Programming Guide
Version 2.0 (revised edition 4) For MiniGUI Version 2.0.4/1.6.10
Beijing Feynman Software Technology Co. Ltd. August, 2007
MiniGUI Programming Guide V2.0-4
Introduction
MiniGUI, developed by Beijing Feynman Software Technology Co. Ltd., originates from a world famous free software project, which is initiated by Wei Yongming. MiniGUI aims to provide a fast, stable and lightweight graphics user interface (GUI) support system for real-time embedded systems. MiniGUI is “a cross-operating-system graphics user interface support system for embedded devices”, and “an embedded graphics middleware”; it can run on Linux/uClinux, eCos, VxWorks, pSOS, ThreadX, Nucleus, OSE, and even uC/OS-II, also on Win32 platform.
Currently, the latest freely downloadable stable releases (GPL releases) of MiniGUI are MiniGUI-STR V1.6.2 and MiniGUI V1.3.3. The source code, development documents and sample programs are available from the download area (http://www.minigui.com/download/index.shtml) of the website of Beijing Feynman software Technology Co. Ltd. It should be noted that the freely downloadable MiniGUI could be only used for developing GPL or other application software with open source code. If you are using MiniGUI for developing commercial, proprietary, or other software not covered by the terms listed in GPL, you must have a commercial license for MiniGUI. Beijing Feynman software Technology Co. Ltd. will provide the latest value-added release and related porting and development technology support service for the users who have buy the MiniGUI commercial licenses.
This guide describes in detail the foundation knowledge of MiniGUI V2.0.4/1.6.10 on developing embedded application software, technical documents and development skills, the content of which involves various aspects of MiniGUI programming, include message looping, window procedure, dialog box, controls, graphics interfaces, and so on. Please refer to MiniGUI API Reference for complete description of MiniGUI APIs (Application Programming Interfaces).
I MiniGUI Programming Guide V2.0-4
Copyright Claim
MiniGUI Programming Guide Version 2.0 (revised edition 4) for MiniGUI Ver 2.0.4/1.6.10.
Copyright © 2003~2007, Beijing Feynman Software Technology Co., Ltd. All rights reserved.
By whatever means you get the entire or partial text or photograph data in this guide, no matter mechanical or electronic, you are only authorized by Beijing Feynman Software Technology Co., Ltd. the reading right. Any format conversion, redistribution, dissemination, and copying its entire or partial content, or using text or photograph therein for commercial purpose without written permission will be regarded as tortuous, and may result in severe civil or criminal punishment.
I I MiniGUI Programming Guide V2.0-4
Contents
Introduction ...... I Copyright Claim ...... II 1 Preface...... 1
1.1 Relevant Documents...... 1
1.2 Organization of this Guide ...... 2
1.3 Obtaining Samples of the Guide ...... 3
1.4 Compiling and Running Environment of Samples...... 4
1.5 Copyright and Licensing ...... 5 I Foundation of MiniGUI Programming ...... 7 2 Beginning MiniGUI Programming ...... 9
2.1 Basic Programming Concepts ...... 9 2.1.1 Event Driven Programming...... 9 2.1.2 Three Runtime Modes of MiniGUI...... 10
2.2 A Simple MiniGUI Program...... 12 2.2.1 Header Files...... 14 2.2.2 Entrance of the Program...... 15 2.2.3 Join a Layer in MiniGUI-Processes ...... 15 2.2.4 Creating and Showing Main Window ...... 16 2.2.5 Entering Message Loop...... 18 2.2.6 Window Procedure Function...... 20 2.2.7 Screen Output...... 21 2.2.8 Exit of the Program...... 21
2.3 Compiling, Linking and Running...... 22 2.3.1 Compiling MiniGUI Program...... 22 2.3.2 Function Libraries of MiniGUI...... 23
2.4 Writing Automake/Autoconf Scripts for MiniGUI Application ...... 23 3 Window and Message ...... 31
3.1 Window System and Window...... 31 3.1.1 What Is Window System...... 31 3.1.2 Concept of Window...... 32
3.2 Window of MiniGUI...... 33 3.2.1 Window Type...... 33
III MiniGUI Programming Guide V2.0-4
3.2.2 Main Window...... 35 3.2.3 Window Style...... 36 3.2.4 Destroying Main Window...... 37 3.2.5 Dialog Box...... 38 3.2.6 Control and Control Class...... 38 3.2.7 Input Method Window...... 41
3.3 Message and Message Handling ...... 43 3.3.1 Message...... 43 3.3.2 Message Type...... 45 3.3.3 Message Queue...... 45 3.3.4 Message Handling...... 47 3.3.5 Sending and Posting Message...... 49 3.3.6 Message Handling Function Specific to MiniGUI-Processes ...... 51
3.4 Several Important Messages and Corresponding Handling ...... 52 3.4.1 MSG_NCCREATE...... 53 3.4.2 MSG_SIZECHANGING...... 53 3.4.3 MSG_SIZECHANGED and MSG_CSIZECHANGED ...... 54 3.4.4 MSG_CREATE...... 54 3.4.5 MSG_FONTCHANGING...... 55 3.4.6 MSG_FONTCHANGED...... 55 3.4.7 MSG_ERASEBKGND...... 56 3.4.8 MSG_PAINT...... 57 3.4.9 MSG_CLOSE...... 58 3.4.10 MSG_DESTROY...... 58
3.5 Common Window Operation Functions ...... 59 4 Foundation of Dialog Box Programming ...... 63
4.1 Main Window and Dialog Box ...... 63
4.2 Dialog Box Template...... 63
4.3 Dialog Box Callback Function ...... 65
4.4 MSG_INITDIALOG Message...... 66
4.5 Modal and Modeless Dialog Box ...... 68
4.6 Control Styles and Operations Relevant to Dialog Box...... 69 5 Foundation of Control Programming...... 73
5.1 Control and Control Class ...... 73
5.2 Creating Control Instance by Using Predefined Control Class ...... 75
IV MiniGUI Programming Guide V2.0-4
5.3 Topics Involved in Control Programming...... 77
5.4 Operations Specific to Control ...... 81 6 Advanced Programming of Control...... 83
6.1 User-Defined Control ...... 83
6.2 Subclassing of Control ...... 83
6.3 Combined Use of Controls ...... 84 7 Menu...... 89
7.1 Concept of Menu...... 89
7.2 Creating and Handling Menu ...... 89 7.2.1 Creating Normal Menu...... 89 7.2.2 Creating Popup Menu...... 90 7.2.3 MENUITEMINFO Structure...... 91 7.2.4 Operating on Menu Item...... 93 7.2.5 Deleting and Destroying Menu or Menu Item ...... 94 7.2.6 MSG_ACTIVEMENU Message...... 94
7.3 Sample Program ...... 95 8 Scrollbar...... 99
8.1 Concept of Scrollbar ...... 99
8.2 Enabling or Disabling a Scrollbar ...... 100
8.3 Range and Position of a Scrollbar...... 100
8.4 Messages of Scrollbar ...... 102
8.5 Sample Program ...... 104 9 Keyboard and Mouse...... 109
9.1 Keyboard...... 109 9.1.1 Keyboard Input...... 109 9.1.2 Key Stroke Message...... 110 9.1.3 Character Message...... 111 9.1.4 Key Status...... 112 9.1.5 Input Focus...... 113 9.1.6 Sample Program...... 114
9.2 Mouse...... 114 9.2.1 Mouse Input...... 114 9.2.2 Mouse Message...... 115 9.2.3 Capture of Mouse...... 118 9.2.4 Tracking Mouse Cursor...... 120
V MiniGUI Programming Guide V2.0-4
9.3 Event Hook ...... 123 10 Icon, Cursor, and Caret...... 127
10.1 Icon...... 127 10.1.1 Loading and Displaying Icon...... 127 10.1.2 Destroying Icon...... 130 10.1.3 Creating Icon...... 130 10.1.4 Using System Icons...... 133
10.2 Cursor...... 135 10.2.1 Loading and Creating Cursor...... 136 10.2.2 Destroying Cursor...... 137 10.2.3 Positioning and Displaying Cursor ...... 137 10.2.4 Clipping Cursor...... 139 10.2.5 Using System Cursors...... 140 10.2.6 Sample Program...... 142
10.3 Caret ...... 145 10.3.1 Creating and Destroying Caret...... 145 10.3.2 Showing and Hiding Caret...... 146 10.3.3 Positioning Caret...... 146 10.3.4 Changing Blink Time of Caret...... 147 10.3.5 Sample Program...... 147 11 Using MiniGUIExt Library ...... 153
11.1 User Interface Wrap Functions...... 153
11.2 Skin...... 156 11.2.1 Form of skin...... 157 11.2.2 Skin Window...... 161 11.2.3 Use of callbacks...... 162 11.2.4 Skin Operations...... 164 11.2.5 Normal Label...... 165 11.2.6 Image Label...... 166 11.2.7 Command Button...... 167 11.2.8 Check Button...... 167 11.2.9 Normal Slider...... 168 11.2.10 Rotate Slider...... 169 11.2.11 MiniGUI Control...... 170 11.2.12 Sample Program...... 170
V I MiniGUI Programming Guide V2.0-4
11.3 Color Selection Dialog Box ...... 173
11.4 New Open File Dialog Box ...... 175 12 Other Programming Topics ...... 177
12.1 Timer...... 177
12.2 Dynamic Change of Color of Window Element ...... 180
12.3 Clipboard...... 181 12.3.1 Creating and Destroying Clipboard ...... 182 12.3.2 Transferring Data to Clipboard ...... 183 12.3.3 Getting Data from Clipboard...... 183
12.4 Reading/Writing Configuration File ...... 184
12.5 Writing Portable Program...... 188 12.5.1 Using Endian-Specific Read/Write Functions of MiniGUI ...... 189 12.5.2 Using Condition Compilation to Write Portable Code ...... 191
12.6 Fixed-Point Computing ...... 193 II MiniGUI Graphics Programming ...... 195 13 Graphics Device Interfaces ...... 197
13.1 Architecture of MiniGUI Graphics System...... 197 13.1.1 GAL and GDI...... 197 13.1.2 New GAL...... 198
13.2 Painting and Updating of a Window ...... 200 13.2.1 When to Paint a Window?...... 200 13.2.2 MSG_PAINT Message...... 200 13.2.3 Valid and Invalid Region...... 201
13.3 Graphics Device Context...... 203 13.3.1 Abstraction of Graphics Device ...... 203 13.3.2 Getting and Releasing of Device Context ...... 205 13.3.3 Saving and Restoring of Device Context ...... 209 13.3.4 Device Context in Memory...... 209 13.3.5 Screen Device Context...... 209
13.4 Mapping Mode and Coordinate Space ...... 210 13.4.1 Mapping Mode...... 210 13.4.2 Viewport and Window...... 211 13.4.3 Conversion of Device Coordinates ...... 213 13.4.4 The Deviation and Zoom of Coordinate System ...... 214
13.5 Rectangle and Region Operations ...... 215
VII MiniGUI Programming Guide V2.0-4
13.5.1 Rectangle Operations...... 215 13.5.2 Region Operations...... 216
13.6 Basic Graphics Drawing ...... 218 13.6.1 Basic Drawing Attributes...... 218 13.6.2 Basic Drawing Functions...... 219 13.6.3 Clipping Region Operations...... 219
13.7 Text and Font ...... 220
13.8 Bitmap Operations...... 221 13.8.1 Concept of Bitmap...... 221 13.8.2 Bitmap Color...... 222 13.8.3 Device-Dependent Bitmap and Device-Independent Bitmap ...... 224 13.8.4 Loading a Bitmap from File...... 226 13.8.5 Filling Block...... 228 13.8.6 Bit Blitting...... 230
13.9 Palette ...... 233 13.9.1 Why Is the Palette Needed?...... 233 13.9.2 Using Palette...... 235 14 Handling and Rendering of Text...... 237
14.1 Charset and Encoding ...... 237
14.2 Device Font...... 239
14.3 Logical font ...... 240
14.4 Text Analysis ...... 242
14.5 Text Transformation...... 243
14.6 Text Output...... 244
14.7 Special Render Effects of Font Glyph...... 248 15 Advanced GDI Functions Based on NEWGAL ...... 251
15.1 New Region Implementation...... 251
15.2 Raster Operations ...... 252
15.3 Memory DC and BitBlt ...... 253
15.4 Enhanced BITMAP Operations ...... 256
15.5 New GDI functions ...... 258
15.6 Advanced GDI functions ...... 258 15.6.1 Image Scaling Functions...... 258 15.6.2 Image Rotation Functions...... 259 15.6.3 Rounded Corners Rectangle...... 261
VII I MiniGUI Programming Guide V2.0-4
15.7 Curve Generators ...... 261 15.7.1 Line Clipper and Line Generator ...... 262 15.7.2 Circle Generator...... 263 15.7.3 Ellipse Generator...... 263 15.7.4 Arc Generator...... 263 15.7.5 Vertical Monotonous Polygon Generator ...... 264 15.7.6 General Polygon Generator...... 265 15.7.7 Flood Filling Generator...... 265 15.7.8 Using Curve Generator...... 266
15.8 Plotting Complex Curve ...... 268
15.9 Filling Enclosed Curve ...... 269
15.10 Building Complex Region...... 270
15.11 Visiting Frame Buffer Directly ...... 272
15.12 YUV Overlay and Gamma Correction ...... 273 15.12.1 YUV Overlay...... 273 15.12.2 Gamma Correction...... 276
15.13 Advanced Two-Dimension GDI Functions ...... 277 15.13.1 Pen and Its Properties...... 277 15.13.2 Brush and Its Properties...... 280 15.13.3 Advanced Two-Dimension Drawing Functions ...... 281 15.13.4 Using Advanced Two-Dimension GDI Functions ...... 282
15.14 Support for Slave Screens...... 285 15.14.1 Creating Slave Screen...... 285 15.14.2 Destroying Slave Screen...... 285 III MiniGUI Advanced Programming Topics...... 287 16 Inter-Process Communication and Asynchronous Event Process ...... 289
16.1 Asynchronous Event Process ...... 289
16.2 MiniGUI-Processes and Inter-Process Communication ...... 291 16.2.1 Multi-Process Model under MiniGUI-Processes ...... 292 16.2.2 Simple Request/Response Processing ...... 293 16.2.4 Wraps for UNIX Domain Socket...... 296 17 Developing Customized MiniGUI-Processes Server Program...... 299
17.1 Mginit of MDE ...... 299 17.1.1 Initializing Itself as the Server of MiniGUI-Processes ...... 299 17.1.2 Displaying Copyright Information ...... 305
IX MiniGUI Programming Guide V2.0-4
17.1.3 Creating Taskbar...... 305 17.1.4 Startup the Default Program...... 306 17.1.5 Entering Message Loop...... 307
17.2 A Simple Mginit Program ...... 307
17.3 Functions Specific to Clients of MiniGUI-Processes ...... 311
17.4 Other Functions and Interfaces Specific to Mginit...... 312 18 GAL and IAL Engines ...... 314
18.1 Shadow NEWGAL Engine...... 315
18.2 CommLCD NEWGAL Engine ...... 315
18.3 The IAL Interface of MiniGUI ...... 317
18.4 Comm Input Engine ...... 321
18.5 Developing IAL Engine for a Specific Embedded Device ...... 322 IV MiniGUI Control Programming ...... 328 19 Static Control...... 330
19.1 Types and Styles of Static Control ...... 330 19.1.1 Standard Type...... 330 19.1.2 Bitmap Type...... 332 19.1.3 Group Box...... 333 19.1.4 Other static control types...... 334
19.2 Static Control Messages ...... 334
19.3 Notification Codes of Static Control ...... 335
19.4 Sample Program ...... 335 20 Button Control ...... 338
20.1 Types and Styles of Button ...... 338 20.1.1 Push button...... 338 20.1.2 Check Box...... 340 20.1.3 Radio Button...... 341
20.2 Messages of Button ...... 343
20.3 Notification Codes of Button...... 344
20.4 Sample Program ...... 345 21 List Box Control...... 350
21.1 Types and Styles of List Box...... 350
21.2 Messages of List Box...... 352 21.2.1 Adding Item into List Box...... 352 21.2.2 Deleting Item from List Box...... 354
X MiniGUI Programming Guide V2.0-4
21.2.3 Selecting and Getting Item...... 354 21.2.4 Searching Item Including a Text String ...... 356 21.2.5 Setting/Getting the Status of Check Mark ...... 356 21.2.6 Setting the Bold Status of Item ...... 357 21.2.7 Setting/Getting the Disable Status of Item ...... 357 21.2.8 Adding Multiple Items into List Box ...... 357 21.2.9 Other Messages...... 358
21.3 Notification Codes of List Box ...... 359
21.4 Sample Program ...... 360 22 Edit Box Control ...... 365
22.1 Styles of Edit Box...... 366
22.2 Messages of Edit Box ...... 367 22.2.1 Getting/Setting Caret Position ...... 368 22.2.2 Setting/Getting Selection of Text ...... 368 22.2.3 Copy, Cut, and Past...... 369 22.2.4 Setting/Getting Properties of Line Height and Others ...... 370 22.2.5 Setting Limit of Text...... 371 22.2.6 Setting or Canceling Read-only Status ...... 371 22.2.7 Setting/Getting Password Character ...... 371 22.2.8 Setting Title and Tip Text...... 372 22.2.9 Setting End of Line Symbol...... 373 22.2.10 Setting End of Line...... 373 22.2.11 Getting Paragraphs Information ...... 374
22.3 Notification Codes of Edit Box...... 375
22.4 Sample Program ...... 375 23 Combo Box Control ...... 379
23.1 Types and Styles of Combo Box ...... 379 23.1.1 Simple Combo Box, Pull-Down Combo Box, and Spin Combo Box ...... 379 23.1.2 Digital Spin Box...... 381
23.2 Messages of Combo Box ...... 382 23.2.1 Messages of Simple, Pull-Down, and Spin Combo Box ...... 382 23.2.2 Messages of Digital Spin Box...... 384
23.3 Notification Codes of Combo Box...... 385
23.4 Sample Program ...... 386 24 Menu Button Control ...... 391
XI MiniGUI Programming Guide V2.0-4
24.1 Styles of Menu Button...... 391
24.2 Messages of Menu Button ...... 392 24.2.1 Adding Items to Menu Button Control ...... 392 24.2.2 Deleting Items from Menu Button Control ...... 392 24.2.3 Deleting All Items in the Menu ...... 393 24.2.4 Setting Current Selected Item...... 393 24.2.5 Getting Current Selected Item...... 393 24.2.6 Getting/Setting Data of Menu Item ...... 393 24.2.7 Other Messages...... 394
24.3 Notification Codes of Menu Button...... 394
24.4 Sample Program ...... 395 25 Progress Bar Control ...... 399
25.1 Styles of Progress Bar...... 399
25.2 Messages of Progress Bar ...... 400 25.2.1 Setting Range of Progress Bar...... 400 25.2.2 Setting Step Value of Progress Bar ...... 400 25.2.3 Setting Position of Progress Bar ...... 400 25.2.4 Setting Offset Based-on Current Position ...... 401 25.2.5 Advancing Position by One Step ...... 401
25.3 Notification Codes of Progress Bar...... 401
25.4 Sample Program ...... 402 26 Track Bar Control...... 405
26.1 Styles of Track Bar ...... 405
26.2 Messages of Track Bar...... 406
26.3 Notification Codes of Track Bar ...... 407
26.4 Sample Program ...... 407 27 Toolbar Control...... 409
27.1 Creating Toolbar Control...... 409
27.2 Styles of Toolbar ...... 410
27.3 Messages of Toolbar ...... 411 27.3.1 Adding an Item...... 411 27.3.2 Getting/Setting Information of an Item ...... 413 27.3.3 NTBM_SETBITMAP Message...... 414
27.4 Notification Codes of Toolbar ...... 414
27.5 Sample Program ...... 414
X II MiniGUI Programming Guide V2.0-4
28 Property Sheet Control ...... 419
28.1 Styles of Property Sheet...... 420
28.2 Messages of Property Sheet ...... 420 28.2.1 Adding Property Page...... 420 28.2.2 Procedure Function of Property Page ...... 420 28.2.3 Deleting Property Page...... 423 28.2.4 Handle and Index of Property Page ...... 423 28.2.5 Messages Relevant Property Page ...... 424
28.3 Notification Codes of Property Sheet...... 425
28.4 Sample Program ...... 425 29 Scroll Window Control ...... 431
29.1 Scrollable Window ...... 431
29.2 General Scroll Window Messages...... 432 29.2.1 Get/Set the Range of Content Area and Visible Area ...... 432 29.2.2 Get Position Information and Set Current Position ...... 433 29.2.3 Get/Set Scroll Properties...... 434
29.3 Message of Scroll Window Control ...... 435 29.3.1 Add Child Control...... 435 29.3.2 Get Handle of Child Control...... 436 29.3.3 Container (Content) Window Procedure ...... 436
29.4 Sample Program ...... 437 30 Scroll View Control ...... 441
30.1 Styles of Scroll View Control ...... 441
30.2 Messages of Scroll View Control...... 442 30.2.1 Draw of List Item...... 442 30.2.2 Set Operation Functions of List Item ...... 443 30.2.3 Operations on List Item...... 444 30.2.4 Get/Set Current Highlighted Item ...... 446 30.2.5 Selection and Display of List Item ...... 446 30.2.6 Optimization of Display...... 447 30.2.7 Set Range of Visible Area...... 448
30.3 Notification Codes of Scroll View Control ...... 449
30.4 Sample Program ...... 449 31 Tree View Control ...... 453
31.1 Styles of Tree View Control ...... 453
XIII MiniGUI Programming Guide V2.0-4
31.2 Messages of Tree View Control...... 454 31.2.1 Creating and Deleting Node Item ...... 454 31.2.2 Setting/Getting Properties of Node Item ...... 455 31.2.3 Selecting and Searching a Node Item ...... 456 31.2.4 Comparing and Sorting...... 458
31.3 Notification Codes of Tree View Control ...... 459
31.4 Sample Program ...... 459 32 List View Control ...... 463
32.1 Styles of List View Control ...... 463
32.2 Messages of List View Control...... 464 32.2.1 Operations on Columns...... 464 32.2.2 Operations on List Item...... 467 32.2.3 Selecting, Displaying, and Searching List Item ...... 472 32.2.4 Comparing and Sorting...... 474 32.2.5 Operation of Tree View Node...... 475
32.3 Handling of Key Messages...... 476
32.4 Notification Codes of List View Control ...... 477
32.5 Sample Program ...... 477 33 Month Calendar Control ...... 483
33.1 Styles of Month Calendar...... 483
33.2 Messages of Month Calendar ...... 483 33.2.1 Getting Date...... 483 33.2.2 Setting Date...... 485 33.2.3 Adjusting Colors...... 486 33.2.4 Size of Control...... 487
33.3 Notification Codes of Month Calendar...... 487
33.4 Sample Program ...... 487 34 Spin Box Control ...... 489
34.1 Styles of Spin Box ...... 489
34.2 Messages of Spin Box ...... 490 34.2.1 Setting/Getting Position...... 490 34.2.2 Disabling and Enabling...... 491 34.2.3 Target Window...... 491
34.3 Notification Codes of Spin Box ...... 492
34.4 Sample Program ...... 492
X IV MiniGUI Programming Guide V2.0-4
35 Cool Bar Control ...... 495
35.1 Styles of Cool Bar ...... 495
35.2 Messages of Cool Bar ...... 495
35.3 Sample Program ...... 497 36 Animation Control...... 499
36.1 ANIMATION Object ...... 499
36.2 Styles of Animation Control...... 501
36.3 Messages of Animation Control ...... 502
36.4 Sample Program ...... 502 37 GridView Control ...... 505
37.1 Styles of Gridview ...... 505
37.2 Messages of GridView ...... 505 37.2.1 Column Operations...... 506 37.2.2 Row Operations...... 509 37.2.3 Cell Operations...... 511
37.3 Other Messages ...... 512
37.4 Notification Codes of GridView...... 513
37.5 Sample Program ...... 514 38 IconView Control ...... 519
38.1 Styles of IconView...... 519
38.2 Messages of IconView ...... 520 38.2.1 Icon operation...... 520
38.3 Notification Codes of IconView...... 523
38.4 Sample Program ...... 523 Appendix A Universal Startup API for RTOSes ...... 528
A.1 Malloc Initialization Interface ...... 528
A.2 Standard Output Initialization Interface ...... 529
A.3 POSIX Threads Initialization Interface ...... 529
XV
MiniGUI Programming Guide V2.0-4
1 Preface
MiniGUI is a cross operating system and lightweight GUI support system for real-time embedded systems, and is especially suitable for embedded systems based on Linux/uClinux, VxWorks, pSOS, eCos, uC/OS-II, ThreadX, OSE, and Nucleus. Launched at the end of 1998, the software has, over nine years of development, become a stable and reliable one securing widespread applications in a variety of products and projects. At present, the latest stable version of MiniGUI is 2.0.4/1.6.10. This handbook is the programming guide for the MiniGUI version 2.0.4/1.6.101, which describes how to develop applications based on MiniGUI.
This handbook is a complete guide on MiniGUI programming, which describes the foundation knowledge of MiniGUI programming and various programming methods and skills, and detailed describes the main API functions. Though the handbook tries to detailed describe various aspects of MiniGUI programming, it is not a complete reference manual about MiniGUI APIs; please refer to MiniGUI API Reference for relevant information.
1.1 Relevant Documents
Except for this guide, Feynman Software also ships the following printed manual with the MiniGUI-VAR product: