MiniGUI API Reference (MiniGUI-Processes)
v5.0.6
A mature and proven cross-platform GUI system for embedded and smart IoT devices
|
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... | |
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.
#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.
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.Since 5.0.0.
#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.
mginit
) can create main windows in the system level, and any main windows created by the server is a system main window.Since 5.0.0.
#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.
Since 5.0.0.
#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.
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.Since 5.0.0.
#define WS_EX_WINTYPE_MASK 0x0000000FL |
#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.
Since 5.0.0.
#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.
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.Since 5.0.0.
#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.
Since 5.0.0.