MiniGUI API Reference (MiniGUI-Processes)  v5.0.6
A mature and proven cross-platform GUI system for embedded and smart IoT devices
Macros
Styles for main window types/levels

Before 5.0.0, you can create a topmost main window with the style WS_EX_TOPMOST in order to show the main window above all normal windows, and if you use MiniGUI-Processes runtime mode, the server (mginit) will always create global main windows. More...

Macros

#define WS_EX_WINTYPE_MASK   0x0000000FL
 The style mask for main window type. More...
 
#define WS_EX_WINTYPE_TOOLTIP   0x00000001L
 The type for a tooltip main window. More...
 
#define WS_EX_WINTYPE_GLOBAL   0x00000002L
 The type for a system/global main window. More...
 
#define WS_EX_WINTYPE_SCREENLOCK   0x00000003L
 The type for a main window in the screen lock level. More...
 
#define WS_EX_WINTYPE_DOCKER   0x00000004L
 The type for a main window in the docker level. More...
 
#define WS_EX_WINTYPE_HIGHER   0x00000005L
 The type for a main window in the higher level. More...
 
#define WS_EX_WINTYPE_NORMAL   0x00000006L
 The type for a main window in the normal level. More...
 
#define WS_EX_WINTYPE_LAUNCHER   0x00000007L
 The type for a main window in the launcher level. More...
 

Detailed Description

Before 5.0.0, you can create a topmost main window with the style WS_EX_TOPMOST in order to show the main window above all normal windows, and if you use MiniGUI-Processes runtime mode, the server (mginit) will always create global main windows.

Since 5.0.0, we introduce a concept of zorder levels for main windows. There are eight levels in MiniGUI from top to bottom:

We use new styles like WS_EX_WINTYPE_GLOBAL to create main windows in different levels. For historical reasons, you can still use the style WS_EX_TOPMOST, but MiniGUI will create a main window in the higher level for this style.

By default, without the style WS_EX_TOPMOST or a style like WS_EX_WINTYPE_GLOBAL, MiniGUI will create a main window in the normal level.

The desktop is the only main window in the desktop level. Any MiniGUI process instance has a virtual desktop window. The desktop window is an internal window object, so no API is provided for app to create or manage it.

Note that, under MiniGUI-Processes runtime mode, only the first client creates the first main window in a z-order level other than higher and normal levels can create another main window in the same z-order level. And only the server can create a main window in the global z-order level.

This is a security design for the multi-process runtime environment.

Macro Definition Documentation

◆ WS_EX_WINTYPE_DOCKER

#define WS_EX_WINTYPE_DOCKER   0x00000004L

The type for a main window in the docker level.

Use this style when you want to create a main window in the docker level. A main window in the docker level will be shown below the main windows in the screen lock level and above the main windows in the higher level.

Note
Under MiniGUI-Processes runtime mode, only clients on the default (mginit) layer can create a main window in this levele, and only the client which creates the first main window in the docker level can create other main windows in the docker level. For other clients, a main window in the higher level will be created.
Under MiniGUI-Processes runtime mode, the windows in this level will be kept visible on all layers.
The maximal number of all main windows in the docker level is 8. MiniGUI will create a main windows in higher level if there is no room in the docker level.

Since 5.0.0.

Definition at line 4534 of file window.h.

◆ WS_EX_WINTYPE_GLOBAL

#define WS_EX_WINTYPE_GLOBAL   0x00000002L

The type for a system/global main window.

Use this style when you want to create a system/global main window. A system/global main window will be shown above other types of main windows.

Note
Under MiniGUI-Processes runtime mode, only the server (mginit) can create main windows in the system level, and any main windows created by the server is a system main window.
Under MiniGUI-Processes runtime mode, the windows in this level will be kept visible on all layers.

Since 5.0.0.

Definition at line 4483 of file window.h.

◆ WS_EX_WINTYPE_HIGHER

#define WS_EX_WINTYPE_HIGHER   0x00000005L

The type for a main window in the higher level.

Use this style when you want to create a main window in the higher level. A main window in the higher level will be shown below the main windows in the docker level and above the main windows in the normal level.

Note
The maximal number of all main windows in the higher level is 16 by default. An attempt to create a main window in higher level will fail if there is no room in the higher level.

Since 5.0.0.

Definition at line 4551 of file window.h.

◆ WS_EX_WINTYPE_LAUNCHER

#define WS_EX_WINTYPE_LAUNCHER   0x00000007L

The type for a main window in the launcher level.

Use this style when you want to create a main window in the launcher level. A main window in the launcher level will be shown below the main windows in the normal level and above the wallpaper.

Note
Under MiniGUI-Processes runtime mode, only clients on the default (mginit) layer can create a main window in this levele, and only the client which creates the first main window in the launcher level can create other main windows in the launcher level. For other clients, a main window in the normal level will be created.
Under MiniGUI-Processes runtime mode, the windows in this level will be kept visible on all layers.
The maximal number of all main windows in the launcher level is 8. MiniGUI will create a main windows in normal level if there is no room in the launcher level.

Since 5.0.0.

Definition at line 4594 of file window.h.

◆ WS_EX_WINTYPE_MASK

#define WS_EX_WINTYPE_MASK   0x0000000FL

The style mask for main window type.

Note
This mask value is equal to the style mask WS_EX_CONTROL_MASK; The former is for main window, and the later for control.

Since 5.0.0.

Definition at line 4449 of file window.h.

◆ WS_EX_WINTYPE_NORMAL

#define WS_EX_WINTYPE_NORMAL   0x00000006L

The type for a main window in the normal level.

Use this style when you want to create a main window in the normal level (default). A main window in the normal level will be shown below the main windows in the higher level and above the main windows in the launcher level.

Note
The maximal number of all main windows in the normal level is 128 by default. An attempt to create a main window in normal level will fail if there is no room in the normal level.

Since 5.0.0.

Definition at line 4568 of file window.h.

◆ WS_EX_WINTYPE_SCREENLOCK

#define WS_EX_WINTYPE_SCREENLOCK   0x00000003L

The type for a main window in the screen lock level.

Use this style when you want to create a main window in the screen lock level. A main window in the screen lock level will be shown below the system main windows and above the other main windows.

Note
Under MiniGUI-Processes runtime mode, only clients on the default (mginit) layer can create a main window in this level, and only the client which creates the first main window in the screen lock level can create other main windows in the this level. For other clients, a main window in the higher level will be created.
Under MiniGUI-Processes runtime mode, the windows in this level will be kept visible on all layers.
The maximal number of all main windows in the screen lock level is 8. MiniGUI will create a main windows in higher level if there is no room in the screen lock level.

Since 5.0.0.

Definition at line 4508 of file window.h.

◆ WS_EX_WINTYPE_TOOLTIP

#define WS_EX_WINTYPE_TOOLTIP   0x00000001L

The type for a tooltip main window.

Use this style when you want to create a tooltip main window. A tooltip main window will be shown above other types of main windows.

Note
The maximal number of all main windows in the tooltip level is 16. MiniGUI will create a main windows in higher level if there is no room in the tooltip level.

Since 5.0.0.

Definition at line 4464 of file window.h.