> For the complete documentation index, see [llms.txt](https://fmsoft.gitbook.io/minigui/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fmsoft.gitbook.io/minigui/development-documents/programming-guide.md).

# 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.
