# MiniGUI Programming Guide

This document introduces the concepts and the main APIs to program MiniGUI apps in detail.

## Table of Contents

* [Preface](/minigui/development-documents/programming-guide/miniguiprogguidepreface.md)
* Part I Foundation of MiniGUI Programming
  * [Beginning MiniGUI Programming](/minigui/development-documents/programming-guide/part-i-foundation-of-minigui-programming/miniguiprogguidepart1chapter01.md)
  * [Window and Message](/minigui/development-documents/programming-guide/part-i-foundation-of-minigui-programming/miniguiprogguidepart1chapter02.md)
  * [Foundation of Dialog Box Programming](/minigui/development-documents/programming-guide/part-i-foundation-of-minigui-programming/miniguiprogguidepart1chapter03.md)
  * [Foundation of Control Programming](/minigui/development-documents/programming-guide/part-i-foundation-of-minigui-programming/miniguiprogguidepart1chapter04.md)
  * [Advanced Programming of Control](/minigui/development-documents/programming-guide/part-i-foundation-of-minigui-programming/miniguiprogguidepart1chapter05.md)
  * [Menu](/minigui/development-documents/programming-guide/part-i-foundation-of-minigui-programming/miniguiprogguidepart1chapter06.md)
  * [Scrollbar](/minigui/development-documents/programming-guide/part-i-foundation-of-minigui-programming/miniguiprogguidepart1chapter07.md)
  * [Keyboard and Mouse](/minigui/development-documents/programming-guide/part-i-foundation-of-minigui-programming/miniguiprogguidepart1chapter08.md)
  * [Icon, Cursor, and Caret](/minigui/development-documents/programming-guide/part-i-foundation-of-minigui-programming/miniguiprogguidepart1chapter09.md)
  * [Look-and-feel and UI effects](/minigui/development-documents/programming-guide/part-i-foundation-of-minigui-programming/miniguiprogguidepart1chapter10.md)
  * [Other Programming Topics](/minigui/development-documents/programming-guide/part-i-foundation-of-minigui-programming/miniguiprogguidepart1chapter11.md)
  * [Using mGUtils](/minigui/development-documents/programming-guide/part-i-foundation-of-minigui-programming/miniguiprogguidepart1chapter12.md)
* Part II Using mGNCS
  * [Brief Introduction to mGNCS](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter01.md)
  * [Getting Started](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter02.md)
  * [Renderer and Resources Management](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter03.md)
  * [Foundation Class](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter04.md)
  * [Static Box Series Control Class](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter05.md)
  * [Button Series Control Class](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter06.md)
  * [Panel and Its Derived Class](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter07.md)
  * [Container and Its Derived Class](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter08.md)
  * [Slider Series Control Class](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter09.md)
  * [Spinner Series Control Class](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter10.md)
  * [Progress Bar Control Class](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter11.md)
  * [Property Sheet Control Class](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter12.md)
  * [Edit Box Series Control Class](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter13.md)
  * [Animation Control Class](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter14.md)
  * [Other Advanced Control Class](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter15.md)
  * [Invisible Control Class](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter16.md)
  * [Other Class](/minigui/development-documents/programming-guide/part-ii-using-mgncs/miniguiprogguidepart2chapter17.md)
* Part III MiniGUI Graphics Programming
  * [Graphics Device Interfaces](/minigui/development-documents/programming-guide/part-iii-minigui-graphics-programming/miniguiprogguidepart3chapter01.md)
  * [Handling and Rendering of Text](/minigui/development-documents/programming-guide/part-iii-minigui-graphics-programming/miniguiprogguidepart3chapter02.md)
  * [Advanced GDI Functions](/minigui/development-documents/programming-guide/part-iii-minigui-graphics-programming/miniguiprogguidepart3chapter03.md)
  * [Using mGPlus for Vector Graphics](/minigui/development-documents/programming-guide/part-iii-minigui-graphics-programming/miniguiprogguidepart3chapter04.md)
  * [Integrating with GPU](/minigui/development-documents/programming-guide/part-iii-minigui-graphics-programming/miniguiprogguidepart3chapter05.md)
* Part IV Visual Effects and Animations
  * [Using mGEff for Visual Effects and Animations](/minigui/development-documents/programming-guide/part-iv-visual-effects-and-animations/miniguiprogguidepart4chapter01.md)
  * [Using mGNCS4Touch](/minigui/development-documents/programming-guide/part-iv-visual-effects-and-animations/miniguiprogguidepart4chapter02.md)
  * [The C++ UX Framework](/minigui/development-documents/programming-guide/part-iv-visual-effects-and-animations/miniguiprogguidepart4chapter03.md)
* Part V MiniGUI Advanced Programming
  * [Inter-Process Communication and Asynchronous Event Process](/minigui/development-documents/programming-guide/part-v-minigui-advanced-programming/miniguiprogguidepart5chapter01.md)
  * [Developing Customized MiniGUI-Processes Server Program](/minigui/development-documents/programming-guide/part-v-minigui-advanced-programming/miniguiprogguidepart5chapter02.md)
  * [GAL and IAL Engines](/minigui/development-documents/programming-guide/part-v-minigui-advanced-programming/miniguiprogguidepart5chapter03.md)
  * [Universal Startup API for RTOSes](/minigui/development-documents/programming-guide/part-v-minigui-advanced-programming/miniguiprogguidepart5chapter04.md)
* Part VI Using MiniGUI Inherent Controls
  * [Static Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter01.md)
  * [Button Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter02.md)
  * [List Box Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter03.md)
  * [Edit Box Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter04.md)
  * [Combo Box Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter05.md)
  * [Menu Button Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter06.md)
  * [Progress Bar Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter07.md)
  * [Track Bar Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter08.md)
  * [Toolbar Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter09.md)
  * [Property Sheet Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter10.md)
  * [Scroll Window Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter11.md)
  * [Scroll View Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter12.md)
  * [Tree View Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter13.md)
  * [List View Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter14.md)
  * [Month Calendar Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter15.md)
  * [Spin Box Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter16.md)
  * [Cool Bar Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter17.md)
  * [Animation Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter18.md)
  * [Gridview Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter19.md)
  * [Iconview Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter20.md)
  * [Independent Scrollbar Control](/minigui/development-documents/programming-guide/part-vi-using-minigui-inherent-controls/miniguiprogguidepart6chapter21.md)
* Appendix Specifications for MiniGUI Developers
  * [Code Style and Project Specification](/minigui/development-documents/programming-guide/appendix-specifications-for-minigui-developers/miniguiprogguideappendixa.md)
  * [Specification for the Image Resources Used by mGNCS Skin Renderer](/minigui/development-documents/programming-guide/appendix-specifications-for-minigui-developers/miniguiprogguideappendixb.md)
  * [Public Structures and Definitions of mGNCS](/minigui/development-documents/programming-guide/appendix-specifications-for-minigui-developers/miniguiprogguideappendixc.md)
  * [Specification for the mGNCS-compliant Widget Components](/minigui/development-documents/programming-guide/appendix-specifications-for-minigui-developers/miniguiprogguideappendixd.md)

## Copying

Copyright © 2003 \~ 2022, Beijing FMSoft Technologies Co., Ltd.\
All rights reserved.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://fmsoft.gitbook.io/minigui/development-documents/programming-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
