# Tutorial

Gustavo H. S. de O. Lyrio
Antonio E. Scuri

## Index

1. Introduction

2. Hello World

2.1 Initialization

2.1.1 Compiling and Linking

2.2 Creating a Dialog

2.3 Adding Interaction

2.4 Adding Layout Elements

2.5 Improving the Layout

3. Simple Notepad

3.1 Main Dialog

3.2 Adding a Menu

3.3 Using Pre-defined Dialogs

3.4 Custom Dialogs

3.5 Adding a Toolbar and a Statusbar

3.6 Defining Hot Keys

3.7 Recent Files Menu and a Configuration File

3.8 Clipboard Support

3.9 More File Management (Drag&Drop, Command Line, ...)

3.10 Dynamic Layout

3.11 External Help

3.12 Final Considerations

4. Simple Paint

4.1 Loading and Saving Images

4.2 Drawing with OpenGL

4.3 Drawing with CD and Printing

4.4 Interactive Zoom and Scrollbars

4.5 Canvas Interaction and a ToolBox

4.6 Image Processing and Final Considerations

4.7 Modern Main Window (Ribbon Like)

5. Advanced Topics

5.1 C++ Encapsulation

5.2 C++ Modularization

5.3 High Resolution Display

5.4 Splash Screen, About and System Information

5.5 Dynamic Libraries

5.6 Using LED for Interface Description

5.7 Using External Images

5.8 Display and Storage of Numeric Values

6. Simple Calc - Under Construction

6.1 Data Matrix

6.2 Plotting Data

6.3 Numbers, Units and Formulas

6.4 Embedded Help

7. Simple Draw - Under Construction

7.1 Hierarchy Tree for Objects

7.2 Embedded Controls in Canvas

7.3 Script Editor for Lua

7.4 Background Processing using Multithread

7.5 UTF-8 Character Encoding

7.6 Multilanguage Interface

Examples Folder

Obs: the tutorial samples are shown inside an HTML element called IFRAME. Unfortunately old browsers do not support iframes. We tested in recent versions of Mozilla Firefox, Google Chrome, Microsoft Internet Explorer and Opera. They all work ok, with some exceptions. Internet Explorer was not able to switch between C and Lua code. Firefox in Linux will try to download the contents of the iframe. If you have problems let us know.