52 #ifndef _MGUI_WINDOW_H 53 #define _MGUI_WINDOW_H 65 #define MSG_NULLMSG 0x0000 66 #define MSG_SYNCMSG 0x0000 74 #define MSG_FIRSTMOUSEMSG 0x0001 98 #define MSG_LBUTTONDOWN 0x0001 119 #define MSG_LBUTTONUP 0x0002 140 #define MSG_LBUTTONDBLCLK 0x0003 161 #define MSG_MOUSEMOVE 0x0004 185 #define MSG_RBUTTONDOWN 0x0005 206 #define MSG_RBUTTONUP 0x0006 227 #define MSG_RBUTTONDBLCLK 0x0007 229 #define MSG_NCMOUSEOFF 0x0007 250 #define MSG_NCLBUTTONDOWN 0x0008 271 #define MSG_NCLBUTTONUP 0x0009 292 #define MSG_NCLBUTTONDBLCLK 0x000A 313 #define MSG_NCMOUSEMOVE 0x000B 334 #define MSG_NCRBUTTONDOWN 0x000C 355 #define MSG_NCRBUTTONUP 0x000D 376 #define MSG_NCRBUTTONDBLCLK 0x000E 378 #define MSG_LASTMOUSEMSG 0x000F 388 #define MSG_FIRSTKEYMSG 0x0010 412 #define MSG_KEYDOWN 0x0010 440 #define MSG_CHAR 0x0011 460 #define MSG_KEYUP 0x0012 480 #define MSG_SYSKEYDOWN 0x0013 500 #define MSG_SYSCHAR 0x0014 520 #define MSG_SYSKEYUP 0x0015 532 #define MSG_KEYLONGPRESS 0x0016 541 #define MSG_KEYALWAYSPRESS 0x0017 568 #define MSG_KEYSYM 0x0018 592 #define MSG_UTF8CHAR 0x0019 600 #define DEF_LPRESS_TIME 500 608 #define DEF_APRESS_TIME 1000 614 #define DEF_INTERVAL_TIME 200 616 extern DWORD __mg_key_longpress_time;
617 extern DWORD __mg_key_alwayspress_time;
618 extern DWORD __mg_interval_time;
624 #define SetKeyLongPressTime(time) \ 626 __mg_key_longpress_time = time; \ 633 #define SetKeyAlwaysPressTime(time) \ 635 __mg_key_alwayspress_time = time; \ 642 #define SetIntervalTime(time) \ 644 __mg_interval_time = time; \ 647 #define MSG_LASTKEYMSG 0x001F 657 #define MSG_FIRSTPOSTMSG 0x0020 683 #define MSG_SETCURSOR 0x0020 687 #define HT_UNKNOWN 0x00 689 #define HT_MENUBAR 0x02 690 #define HT_TRANSPARENT 0x03 692 #define HT_BORDER 0x04 693 #define HT_CLIENT 0x0C 695 #define HT_NEEDCAPTURE 0x10 697 #define HT_CLOSEBUTTON 0x15 698 #define HT_MAXBUTTON 0x16 699 #define HT_MINBUTTON 0x17 700 #define HT_HSCROLL 0x18 701 #define HT_VSCROLL 0x19 703 #define HT_DRAGGABLE 0x20 704 #define HT_CAPTION 0x20 707 #define HT_BORDER_MASK 0x28 708 #define HT_BORDER_TOP 0x28 709 #define HT_BORDER_BOTTOM 0x29 710 #define HT_BORDER_LEFT 0x2A 711 #define HT_BORDER_RIGHT 0x2B 714 #define HT_CORNER_MASK 0x2C 715 #define HT_CORNER_TL 0x2C 716 #define HT_CORNER_TR 0x2D 717 #define HT_CORNER_BL 0x2E 718 #define HT_CORNER_BR 0x2F 722 #define HT_SB_MASK 0x50 724 #define HT_SB_LEFTARROW 0x50 725 #define HT_SB_RIGHTARROW 0x51 726 #define HT_SB_LEFTSPACE 0x52 727 #define HT_SB_RIGHTSPACE 0x53 728 #define HT_SB_HTHUMB 0x54 730 #define HT_SB_VMASK 0x58 732 #define HT_SB_UPARROW 0x58 733 #define HT_SB_DOWNARROW 0x59 734 #define HT_SB_UPSPACE 0x5a 735 #define HT_SB_DOWNSPACE 0x5b 736 #define HT_SB_VTHUMB 0x5c 738 #define HT_SB_UNKNOWN 0x5f 741 #define HT_USER_MASK 0x80 749 #define MSG_NCHITTEST 0x0021 757 #define MSG_HITTEST MSG_NCHITTEST 763 #define MSG_CHANGESIZE 0x0022 766 #define MSG_QUERYNCRECT 0x0023 772 #define MSG_QUERYCLIENTAREA 0x0024 797 #define MSG_SIZECHANGING 0x0025 821 #define MSG_SIZECHANGED 0x0026 839 #define MSG_CSIZECHANGED 0x0027 851 #define MSG_SETFOCUS 0x0030 863 #define MSG_KILLFOCUS 0x0031 873 #define MSG_MOUSEACTIVE 0x0032 883 #define MSG_ACTIVE 0x0033 889 #define MSG_CHILDHIDDEN 0x0034 892 #define RCTM_MESSAGE 3 893 #define RCTM_SHOWCTRL 4 919 #define MSG_ACTIVEMENU 0x0040 938 #define MSG_DEACTIVEMENU 0x0041 951 #define SB_LINEUP 0x01a 958 #define SB_LINEDOWN 0x02 965 #define SB_LINELEFT 0x03 972 #define SB_LINERIGHT 0x04 979 #define SB_PAGEUP 0x05 986 #define SB_PAGEDOWN 0x06 993 #define SB_PAGELEFT 0x07 1000 #define SB_PAGERIGHT 0x08 1007 #define SB_THUMBPOSITION 0x09 1014 #define SB_THUMBTRACK 0x0A 1028 #define SB_BOTTOM 0x0C 1035 #define SB_ENDSCROLL 0x0D 1067 #define MSG_HSCROLL 0x0042 1097 #define MSG_VSCROLL 0x0043 1111 #define MSG_NCSETCURSOR 0x0044 1128 #define MSG_MOUSEMOVEIN 0x0050 1135 #define MSG_WINDOWDROPPED 0x0051 1137 #define MSG_LASTPOSTMSG 0x005F 1147 #define MSG_FIRSTCREATEMSG 0x0060 1176 #define MSG_CREATE 0x0060 1206 #define MSG_NCCREATE 0x0061 1209 #define MSG_INITPANES 0x0062 1210 #define MSG_DESTROYPANES 0x0063 1225 #define MSG_DESTROY 0x0064 1228 #define MSG_NCDESTROY 0x0065 1237 #define MSG_CLOSE 0x0066 1240 #define MSG_NCCALCSIZE 0x0067 1251 #define MSG_MAXIMIZE 0x0068 1262 #define MSG_MINIMIZE 0x0069 1273 #define MSG_HELP 0x006A 1275 #define MSG_LASTCREATEMSG 0x009F 1285 #define MSG_FIRSTPAINTMSG 0x00A0 1311 #define MSG_SHOWWINDOW 0x00A0 1331 #define MSG_ERASEBKGND 0x00B0 1346 #define MSG_PAINT 0x00B1 1363 #define MSG_NCPAINT 0x00B2 1369 #define MSG_NCACTIVATE 0x00B3 1375 #define MSG_SYNCPAINT 0x00B4 1377 #define MSG_LASTPAINTMSG 0x00CF 1387 #define MSG_FIRSTSESSIONMSG 0x00D0 1389 #define MSG_STARTSESSION 0x00D0 1390 #define MSG_QUERYENDSESSION 0x00D1 1391 #define MSG_ENDSESSION 0x00D2 1392 #define MSG_REINITSESSION 0x00D3 1394 #define MSG_ERASEDESKTOP 0x00DE 1395 #define MSG_PAINTDESKTOP 0x00DF 1397 #define MSG_DT_MOUSEOFF 0x00E0 1416 #define MSG_DT_LBUTTONDOWN 0x00E1 1435 #define MSG_DT_LBUTTONUP 0x00E2 1454 #define MSG_DT_LBUTTONDBLCLK 0x00E3 1473 #define MSG_DT_MOUSEMOVE 0x00E4 1493 #define MSG_DT_RBUTTONDOWN 0x00E5 1512 #define MSG_DT_RBUTTONUP 0x00E6 1531 #define MSG_DT_RBUTTONDBLCLK 0x00E7 1533 #define MSG_DT_KEYOFF 0x00D8 1552 #define MSG_DT_KEYDOWN 0x00E8 1570 #define MSG_DT_KEYUP 0x00EA 1572 #define MSG_DT_SYSKEYDOWN 0x00EB 1573 #define MSG_DT_SYSKEYUP 0x00ED 1575 #define MSG_DT_SYSCHAR 0x00EC 1576 #define MSG_DT_CHAR 0x00E9 1578 #define MSG_DT_KEYLONGPRESS 0x00EE 1579 #define MSG_DT_KEYALWAYSPRESS 0x00EF 1581 #define MSG_LASTSESSIONMSG 0x00EF 1591 #define MSG_FIRSTWINDOWMSG 0x00F0 1593 #define MSG_ADDNEWMAINWIN 0x00F0 1594 #define MSG_REMOVEMAINWIN 0x00F1 1595 #define MSG_MOVETOTOPMOST 0x00F2 1596 #define MSG_SETACTIVEMAIN 0x00F3 1597 #define MSG_GETACTIVEMAIN 0x00F4 1598 #define MSG_SHOWMAINWIN 0x00F5 1599 #define MSG_HIDEMAINWIN 0x00F6 1600 #define MSG_MOVEMAINWIN 0x00F7 1601 #define MSG_SETCAPTURE 0x00F8 1602 #define MSG_GETCAPTURE 0x00F9 1604 #define MSG_ENDTRACKMENU 0x00FA 1605 #define MSG_TRACKPOPUPMENU 0x00FB 1606 #define MSG_CLOSEMENU 0x00FC 1607 #define MSG_SCROLLMAINWIN 0x00FD 1608 #define MSG_CARET_CREATE 0x00FE 1609 #define MSG_CARET_DESTROY 0x00FF 1611 #define MSG_ENABLEMAINWIN 0x0100 1612 #define MSG_ISENABLED 0x0101 1614 #define MSG_SETWINCURSOR 0x0102 1616 #define MSG_GETNEXTMAINWIN 0x0103 1618 #define MSG_SHOWGLOBALCTRL 0x010A 1619 #define MSG_HIDEGLOBALCTRL 0x010B 1621 typedef struct _DRAGINFO {
1627 #define MSG_STARTDRAGWIN 0x010C 1629 #define MSG_CANCELDRAGWIN 0x010D 1631 #define MSG_CHANGECAPTION 0x010E 1633 #define MSG_LASTWINDOWMSG 0x010F 1643 #define MSG_FIRSTCONTROLMSG 0x0120 1674 #define MSG_COMMAND 0x0120 1680 #define MSG_SYSCOMMAND 0x0121 1686 #define MSG_GETDLGCODE 0x0122 1714 #define MSG_INITDIALOG 0x0123 1717 #define MSG_NEXTDLGCTRL 0x0124 1718 #define MSG_ENTERIDLE 0x0125 1724 #define MSG_DLG_GETDEFID 0x0126 1730 #define MSG_DLG_SETDEFID 0x0127 1740 #define MSG_ISDIALOG 0x0128 1759 #define MSG_INITPAGE 0x0129 1781 #define MSG_SHOWPAGE 0x012A 1802 #define MSG_SHEETCMD 0x012B 1823 #define MSG_INITCONTAINER 0x012C 1853 #define MSG_SVCONTCMD 0x012D 1873 #define MSG_FREEZECTRL 0x012E 1893 #define MSG_FONTCHANGING 0x0130 1903 #define MSG_FONTCHANGED 0x0131 1922 #define MSG_GETTEXTLENGTH 0x0132 1946 #define MSG_GETTEXT 0x0133 1968 #define MSG_SETTEXT 0x0134 1983 #define MSG_ENABLE 0x0135 1985 #define MSG_LASTCONTROLMSG 0x013F 1995 #define MSG_FIRSTSYSTEMMSG 0x0140 1997 #define MSG_QUIT 0x0140 2006 #define MSG_IDLE 0x0142 2008 #define MSG_TIMEOUT 0x0143 2025 #define MSG_TIMER 0x0144 2027 #define MSG_CARETBLINK 0x0145 2029 #ifndef _MGRM_THREADS 2058 #define MSG_FDEVENT 0x0146 2073 #define MSG_SRVNOTIFY 0x0147 2075 #ifdef _MGRM_PROCESSES 2076 #define MSG_UPDATECLIWIN 0x0148 2094 #define MSG_DOESNEEDIME 0x0150 2097 #define IME_STATUS_REGISTERED 0x0000 2098 #define IME_STATUS_ENABLED 0x0001 2099 #define IME_STATUS_AUTOTRACK 0x0002 2100 #define IME_STATUS_LANGUAGE 0x0003 2101 #define IME_LANGUAGE_UNKNOWN 0x0000 2102 #define IME_LANGUAGE_LATIN 0x0001 2103 #define IME_LANGUAGE_ZHCN 0x0002 2104 #define IME_LANGUAGE_ZHTW 0x0003 2105 #define IME_STATUS_ENCODING 0x0004 2106 #define IME_ENCODING_LOCAL 0x0000 2107 #define IME_ENCODING_UTF8 0x0001 2108 #define IME_STATUS_VERSION 0x0005 2109 #define IME_STATUS_USER_MIN 0x0006 2110 #define IME_STATUS_USER_MAX 0x0020 2113 #define IME_WINDOW_TYPE_NOT_EDITABLE 0x0000 2114 #define IME_WINDOW_TYPE_EDITABLE 0x0001 2115 #define IME_WINDOW_TYPE_READONLY 0x0002 2116 #define IME_WINDOW_TYPE_PASSWORD 0x0003 2119 #define MSG_IME_REGISTER 0x0151 2120 #define MSG_IME_UNREGISTER 0x0152 2121 #define MSG_IME_OPEN 0x0153 2122 #define MSG_IME_CLOSE 0x0154 2123 #define MSG_IME_SETSTATUS 0x0156 2124 #define MSG_IME_GETSTATUS 0x0157 2125 #define MSG_IME_SETTARGET 0x0158 2126 #define MSG_IME_GETTARGET 0x0159 2127 #define MSG_IME_SETPOS 0x015A 2128 #define MSG_IME_GETPOS 0x015B 2131 #define MSG_IME_SET_TARGET_INFO 0x015C 2132 #define MSG_IME_GET_TARGET_INFO 0x015D 2134 #define MSG_SHOWMENU 0x0160 2135 #define MSG_HIDEMENU 0x0161 2137 #define MSG_ADDTIMER 0x0162 2138 #define MSG_REMOVETIMER 0x0163 2139 #define MSG_RESETTIMER 0x0164 2141 #define MSG_WINDOWCHANGED 0x0165 2143 #define MSG_BROADCASTMSG 0x0166 2145 #define MSG_REGISTERWNDCLASS 0x0167 2146 #define MSG_UNREGISTERWNDCLASS 0x0168 2147 #define MSG_NEWCTRLINSTANCE 0x0169 2148 #define MSG_REMOVECTRLINSTANCE 0x016A 2149 #define MSG_GETCTRLCLASSINFO 0x016B 2150 #define MSG_CTRLCLASSDATAOP 0x016C 2151 #define CCDOP_GETCCI 0x01 2152 #define CCDOP_SETCCI 0x02 2154 #define MSG_REGISTERKEYHOOK 0x016D 2155 #define MSG_REGISTERMOUSEHOOK 0x016E 2157 #define MSG_LASTSYSTEMMSG 0x016F 2167 #define MSG_FIRSTMENUMSG 0x0170 2170 #define MSG_INITMENU 0x0170 2171 #define MSG_INITMENUPOPUP 0x0171 2172 #define MSG_MENUSELECT 0x0172 2173 #define MSG_MENUCHAR 0x0173 2174 #define MSG_ENTERMENULOOP 0x0174 2175 #define MSG_EXITMENULOOP 0x0175 2176 #define MSG_CONTEXTMENU 0x0176 2177 #define MSG_NEXTMENU 0x0177 2179 #define MSG_LASTMENUMSG 0x018F 2188 #define MSG_FIRSTUSERMSG 0x0800 2198 #define MSG_USER 0x0800 2200 #define MSG_LASTUSERMSG 0xEFFF 2237 #ifdef _MGRM_THREADS 2244 #define QS_NOTIFYMSG 0x10000000 2245 #ifdef _MGRM_THREADS 2246 #define QS_SYNCMSG 0x20000000 2248 #define QS_DESKTIMER 0x20000000 2250 #define QS_POSTMSG 0x40000000 2251 #define QS_QUIT 0x80000000 2252 #define QS_INPUT 0x01000000 2253 #define QS_PAINT 0x02000000 2254 #define QS_TIMER 0x0000FFFF 2255 #define QS_EMPTY 0x00000000 2262 #define PM_NOREMOVE 0x0000 2269 #define PM_REMOVE 0x0001 2276 #define PM_NOYIELD 0x0002 2306 UINT nMsgFilterMin,
UINT nMsgFilterMax,
2393 UINT nMsgFilterMax,
UINT uRemoveMsg)
2395 return PeekMessageEx (pMsg, hWnd, nMsgFilterMin, nMsgFilterMax,
2426 UINT nMsgFilterMax,
UINT uRemoveMsg);
2488 #ifndef _MGRM_THREADS 2496 #define SendAsyncMessage SendMessage 2498 #ifdef _MGRM_PROCESSES 2500 #define CLIENTS_TOPMOST -1 2501 #define CLIENTS_ALL -2 2502 #define CLIENTS_EXCEPT_TOPMOST -3 2503 #define CLIENT_ACTIVE -4 2680 #define KBD_LAYOUT_DEFAULT "default" 2681 #define KBD_LAYOUT_FRPC "frpc" 2682 #define KBD_LAYOUT_FR "fr" 2683 #define KBD_LAYOUT_DE "de" 2684 #define KBD_LAYOUT_DELATIN1 "delatin1" 2685 #define KBD_LAYOUT_IT "it" 2686 #define KBD_LAYOUT_ES "es" 2687 #define KBD_LAYOUT_ESCP850 "escp850" 2688 #define KBD_LAYOUT_HEBREW "hebrew" 2689 #define KBD_LAYOUT_ARABIC "arabic" 2730 #ifdef _MGCHARSET_UNICODE 2735 MG_EXPORT
int GUIAPI ToUnicode (
UINT keycode,
const BYTE* kbd_state,
2736 wchar_t* wcs,
int wcs_len,
const char* kbd_layout);
2738 MG_EXPORT
int GUIAPI ToAscii (
UINT keycode,
const BYTE* kbd_state,
2739 WORD* ch,
const char* kbd_layout);
2822 #ifndef _MGRM_THREADS 2842 #ifdef _MGHAVE_MSG_STRING 2858 MG_EXPORT
const char* GUIAPI Message2Str (
UINT message);
2876 MG_EXPORT
void GUIAPI PrintMessage (FILE* fp,
HWND hWnd,
2900 #ifndef _MGRM_PROCESSES 2908 typedef int (* MSGHOOK)(
void* context,
HWND dst_wnd,
2914 typedef struct _HOOKINFO
2938 MG_EXPORT MSGHOOK GUIAPI RegisterKeyMsgHook (
void* context, MSGHOOK hook);
2956 MG_EXPORT MSGHOOK GUIAPI RegisterMouseMsgHook (
void* context, MSGHOOK hook);
2960 #ifndef _MGRM_THREADS 2992 #ifdef _MGRM_PROCESSES 3055 #define WS_CTRLMASK 0x0000FFFFL 3061 #define WS_NONE 0x00000000L 3067 #define WS_CHILD 0x40000000L 3073 #define WS_CAPTION 0x20000000L 3079 #define WS_SYSMENU 0x10000000L 3085 #define WS_VISIBLE 0x08000000L 3091 #define WS_DISABLED 0x04000000L 3094 #define WS_MINIMIZE 0x02000000L 3095 #define WS_MAXIMIZE 0x01000000L 3102 #define WS_DLGFRAME 0x00800000L 3108 #define WS_BORDER 0x00400000L 3114 #define WS_THICKFRAME 0x00200000L 3120 #define WS_THINFRAME 0x00100000L 3126 #define WS_VSCROLL 0x00080000L 3132 #define WS_HSCROLL 0x00040000L 3139 #define WS_GROUP 0x00020000L 3147 #define WS_TABSTOP 0x00010000L 3156 #define WS_MINIMIZEBOX 0x00020000L 3165 #define WS_MAXIMIZEBOX 0x00010000L 3168 #define WS_OVERLAPPED 0x00000000L 3169 #define WS_ABSSCRPOS 0x00000000L 3175 #define WS_EX_CONTROL_MASK 0x0000000FL 3181 #define WS_EX_INTERNAL_MASK 0xF0000000L 3187 #define WS_EX_NONE 0x00000000L 3193 #define WS_EX_TROUNDCNS 0x00000010L 3199 #define WS_EX_BROUNDCNS 0x00000020L 3207 #define WS_EX_USEPRIVATECDC 0x00000040L 3213 #define WS_EX_NOTDRAGGABLE 0x00000080L 3214 #define WS_EX_DRAGGABLE 0x00000000L 3220 #define WS_EX_USEPARENTFONT 0x00000100L 3226 #define WS_EX_USEPARENTCURSOR 0x00000200L 3232 #define WS_EX_USEPARENTRDR 0x00000400L 3240 #define WS_EX_NOPARENTNOTIFY 0x00000800L 3248 #define WS_EX_AUTOSECONDARYDC 0x00001000L 3255 #define WS_EX_TRANSPARENT 0x00002000L 3261 #define WS_EX_TOPMOST 0x00004000L 3267 #define WS_EX_TOOLWINDOW 0x00008000L 3270 #define WS_EX_RIGHT 0x00010000L 3271 #define WS_EX_LEFT 0x00000000L 3272 #define WS_EX_RTLREADING 0x00020000L 3273 #define WS_EX_LTRREADING 0x00000000L 3279 #define WS_EX_LEFTSCROLLBAR 0x00040000L 3285 #define WS_EX_RIGHTSCROLLBAR 0x00000000L 3291 #define WS_EX_DLGHIDE 0x00100000L 3297 #define WS_EX_NOCLOSEBOX 0x00400000L 3303 #define WS_EX_CLIPCHILDREN 0x00800000L 3309 #define WS_EX_LFRDR_MASK 0x0F000000L 3316 #define WS_EX_LFRDR_CUSTOM1 0x01000000L 3324 #define WS_EX_LFRDR_CUSTOM2 0x02000000L 3332 #define WS_EX_LFRDR_CUSTOM3 0x04000000L 3340 #define WS_EX_LFRDR_CUSTOM4 0x08000000L 3343 #define WS_EX_IMECOMPOSE 0x00000000L 3361 #define WE_FONTS_NUMBER 4 3367 #define WE_METRICS_NUMBER 6 3373 #define WE_COLORS_NUMBER 14 3376 #define WE_ATTR_TYPE_MASK 0xF000 3377 #define WE_ATTR_TYPE_COLOR_MASK 0x0F00 3378 #define WE_ATTR_INDEX_MASK 0x00FF 3380 #define WE_ATTR_TYPE_FONT 0x1000 3381 #define WE_ATTR_TYPE_METRICS 0x2000 3383 #define WE_ATTR_TYPE_COLOR 0x3000 3384 #define WE_ATTR_TYPE_FGC 0x3000 3385 #define WE_ATTR_TYPE_BGCA 0x3100 3386 #define WE_ATTR_TYPE_BGCB 0x3200 3389 #define WE_CAPTION 0 3391 #define WE_MESSAGEBOX 2 3392 #define WE_TOOLTIP 3 3393 #define WE_WND_BORDER 4 3394 #define WE_SCROLLBAR 5 3395 #define WE_INACTIVE_CAPTION 6 3397 #define WE_THREED_BODY 8 3398 #define WE_SELECTED_ITEM 9 3399 #define WE_DISABLED_ITEM 10 3400 #define WE_HIGHLIGHT_ITEM 11 3401 #define WE_SIGNIFICANT_ITEM 12 3402 #define WE_DESKTOP 13 3407 #define WE_FONT_CAPTION (WE_CAPTION | WE_ATTR_TYPE_FONT) 3408 #define WE_METRICS_CAPTION (WE_CAPTION | WE_ATTR_TYPE_METRICS) 3409 #define WE_FGC_ACTIVE_CAPTION (WE_CAPTION | WE_ATTR_TYPE_FGC) 3410 #define WE_BGCA_ACTIVE_CAPTION (WE_CAPTION | WE_ATTR_TYPE_BGCA) 3411 #define WE_BGCB_ACTIVE_CAPTION (WE_CAPTION | WE_ATTR_TYPE_BGCB) 3414 #define WE_FONT_MENU (WE_MENU | WE_ATTR_TYPE_FONT) 3415 #define WE_METRICS_MENU (WE_MENU | WE_ATTR_TYPE_METRICS) 3416 #define WE_FGC_MENU (WE_MENU | WE_ATTR_TYPE_FGC) 3417 #define WE_BGC_MENU (WE_MENU | WE_ATTR_TYPE_BGCA) 3420 #define WE_FONT_MESSAGEBOX (WE_MESSAGEBOX | WE_ATTR_TYPE_FONT) 3421 #define WE_FGC_MESSAGEBOX (WE_MESSAGEBOX | WE_ATTR_TYPE_FGC) 3424 #define WE_FONT_TOOLTIP (WE_TOOLTIP | WE_ATTR_TYPE_FONT) 3425 #define WE_FGC_TOOLTIP (WE_TOOLTIP | WE_ATTR_TYPE_FGC) 3426 #define WE_BGC_TOOLTIP (WE_TOOLTIP | WE_ATTR_TYPE_BGCA) 3429 #define WE_METRICS_WND_BORDER (WE_WND_BORDER | WE_ATTR_TYPE_METRICS) 3430 #define WE_FGC_ACTIVE_WND_BORDER (WE_WND_BORDER | WE_ATTR_TYPE_FGC) 3431 #define WE_FGC_INACTIVE_WND_BORDER (WE_WND_BORDER | WE_ATTR_TYPE_BGCA) 3434 #define WE_METRICS_SCROLLBAR (WE_SCROLLBAR | WE_ATTR_TYPE_METRICS) 3437 #define WE_FGC_INACTIVE_CAPTION (WE_INACTIVE_CAPTION | WE_ATTR_TYPE_FGC) 3438 #define WE_BGCA_INACTIVE_CAPTION (WE_INACTIVE_CAPTION | WE_ATTR_TYPE_BGCA) 3439 #define WE_BGCB_INACTIVE_CAPTION (WE_INACTIVE_CAPTION | WE_ATTR_TYPE_BGCB) 3442 #define WE_FGC_WINDOW (WE_WINDOW | WE_ATTR_TYPE_FGC) 3443 #define WE_BGC_WINDOW (WE_WINDOW | WE_ATTR_TYPE_BGCA) 3446 #define WE_FGC_THREED_BODY (WE_THREED_BODY | WE_ATTR_TYPE_FGC) 3447 #define WE_MAINC_THREED_BODY (WE_THREED_BODY | WE_ATTR_TYPE_BGCA) 3450 #define WE_FGC_SELECTED_ITEM (WE_SELECTED_ITEM | WE_ATTR_TYPE_FGC) 3451 #define WE_BGC_SELECTED_ITEM (WE_SELECTED_ITEM | WE_ATTR_TYPE_BGCA) 3452 #define WE_BGC_SELECTED_LOSTFOCUS (WE_SELECTED_ITEM | WE_ATTR_TYPE_BGCB) 3455 #define WE_FGC_DISABLED_ITEM (WE_DISABLED_ITEM | WE_ATTR_TYPE_FGC) 3456 #define WE_BGC_DISABLED_ITEM (WE_DISABLED_ITEM | WE_ATTR_TYPE_BGCA) 3459 #define WE_FGC_HIGHLIGHT_ITEM (WE_HIGHLIGHT_ITEM | WE_ATTR_TYPE_FGC) 3460 #define WE_BGC_HIGHLIGHT_ITEM (WE_HIGHLIGHT_ITEM | WE_ATTR_TYPE_BGCA) 3463 #define WE_FGC_SIGNIFICANT_ITEM (WE_SIGNIFICANT_ITEM | WE_ATTR_TYPE_FGC) 3464 #define WE_BGC_SIGNIFICANT_ITEM (WE_SIGNIFICANT_ITEM | WE_ATTR_TYPE_BGCA) 3467 #define WE_BGC_DESKTOP (WE_DESKTOP | WE_ATTR_TYPE_BGCA) 3469 #define WE_ATTR_TYPE_ICON 0x4000 3470 #define WE_ATTR_TYPE_ICON_MASK 0x0F00 3471 #define WE_ATTR_TYPE_SMALLICON 0x4000 3472 #define WE_ATTR_TYPE_LARGEICON 0x4100 3474 #define WE_LARGEICON_APPLICATION (WE_ATTR_TYPE_LARGEICON | 0x00) 3475 #define WE_LARGEICON_HAND (WE_ATTR_TYPE_LARGEICON | 0x01) 3476 #define WE_LARGEICON_QUESTION (WE_ATTR_TYPE_LARGEICON | 0x02) 3477 #define WE_LARGEICON_EXCLAMATION (WE_ATTR_TYPE_LARGEICON | 0x03) 3478 #define WE_LARGEICON_ASTERISK (WE_ATTR_TYPE_LARGEICON | 0x04) 3479 #define WE_LARGEICON_STOP WE_LARGEICON_HAND 3480 #define WE_LARGEICON_INFORMATION WE_LARGEICON_ASTERISK 3482 #define WE_SMALLICON_APPLICATION (WE_ATTR_TYPE_SMALLICON | 0x00) 3483 #define WE_SMALLICON_HAND (WE_ATTR_TYPE_SMALLICON | 0x01) 3484 #define WE_SMALLICON_QUESTION (WE_ATTR_TYPE_SMALLICON | 0x02) 3485 #define WE_SMALLICON_EXCLAMATION (WE_ATTR_TYPE_SMALLICON | 0x03) 3486 #define WE_SMALLICON_ASTERISK (WE_ATTR_TYPE_SMALLICON | 0x04) 3487 #define WE_SMALLICON_STOP WE_SMALLICON_HAND 3488 #define WE_SMALLICON_INFORMATION WE_SMALLICON_ASTERISK 3494 #define WE_ATTR_TYPE_RDR 0x5000 3496 #define WE_LFFLAT_NUMBER 1 3497 #ifdef _MGLF_RDR_FLAT 3499 #define WE_LFFLAT_TAB_NRMLCLR (WE_ATTR_TYPE_RDR | 0) 3502 #define WE_LFSKIN_NUMBER 28 3503 #ifdef _MGLF_RDR_SKIN 3504 #define WE_LFSKIN_WND_BKGND (WE_ATTR_TYPE_RDR | 0) 3506 #define WE_LFSKIN_CAPTION (WE_ATTR_TYPE_RDR | 1) 3507 #define WE_LFSKIN_CAPTION_BTN (WE_ATTR_TYPE_RDR | 2) 3509 #define WE_LFSKIN_SCROLLBAR_VSHAFT (WE_ATTR_TYPE_RDR | 3) 3510 #define WE_LFSKIN_SCROLLBAR_VTHUMB (WE_ATTR_TYPE_RDR | 4) 3511 #define WE_LFSKIN_SCROLLBAR_HSHAFT (WE_ATTR_TYPE_RDR | 5) 3512 #define WE_LFSKIN_SCROLLBAR_HTHUMB (WE_ATTR_TYPE_RDR | 6) 3513 #define WE_LFSKIN_SCROLLBAR_ARROWS (WE_ATTR_TYPE_RDR | 7) 3515 #define WE_LFSKIN_BORDER_TOP (WE_ATTR_TYPE_RDR | 8) 3516 #define WE_LFSKIN_BORDER_BOTTOM (WE_ATTR_TYPE_RDR | 9) 3517 #define WE_LFSKIN_BORDER_LEFT (WE_ATTR_TYPE_RDR | 10) 3518 #define WE_LFSKIN_BORDER_RIGHT (WE_ATTR_TYPE_RDR | 11) 3520 #define WE_LFSKIN_ARROWS (WE_ATTR_TYPE_RDR | 12) 3521 #define WE_LFSKIN_ARROWS_SHELL (WE_ATTR_TYPE_RDR | 13) 3523 #define WE_LFSKIN_RADIOBUTTON (WE_ATTR_TYPE_RDR | 14) 3524 #define WE_LFSKIN_CHECKBUTTON (WE_ATTR_TYPE_RDR | 15) 3525 #define WE_LFSKIN_PUSHBUTTON (WE_ATTR_TYPE_RDR | 16) 3527 #define WE_LFSKIN_TREE (WE_ATTR_TYPE_RDR | 17) 3529 #define WE_LFSKIN_HEADER (WE_ATTR_TYPE_RDR | 18) 3530 #define WE_LFSKIN_TAB (WE_ATTR_TYPE_RDR | 19) 3532 #define WE_LFSKIN_PROGRESS_HCHUNK (WE_ATTR_TYPE_RDR | 20) 3533 #define WE_LFSKIN_PROGRESS_VCHUNK (WE_ATTR_TYPE_RDR | 21) 3534 #define WE_LFSKIN_PROGRESS_HTRACKBAR (WE_ATTR_TYPE_RDR | 22) 3535 #define WE_LFSKIN_PROGRESS_VTRACKBAR (WE_ATTR_TYPE_RDR | 23) 3537 #define WE_LFSKIN_TBSLIDER_H (WE_ATTR_TYPE_RDR | 24) 3538 #define WE_LFSKIN_TRACKBAR_VERT (WE_ATTR_TYPE_RDR | 25) 3539 #define WE_LFSKIN_TRACKBAR_HORZ (WE_ATTR_TYPE_RDR | 26) 3540 #define WE_LFSKIN_TBSLIDER_V (WE_ATTR_TYPE_RDR | 27) 3554 #define SBS_NORMAL 0x00 3555 #define SBS_DISABLED 0x01 3556 #define SBS_HIDE 0x02 3614 #define SBS_DISABLED_LTUP 0x0100 3617 #define SBS_DISABLED_BTDN 0x0200 3620 #define SBS_HILITE_LTUP 0x0400 3623 #define SBS_HILITE_BTDN 0x0800 3626 #define SBS_HILITE_THUMB 0x0010 3629 #define SBS_PRESSED_LTUP 0x0020 3632 #define SBS_PRESSED_BTDN 0x0040 3635 #define SBS_PRESSED_THUMB 0x0080 3638 #define LFRDR_WINTYPE_UNKNOWN 0 3639 #define LFRDR_WINTYPE_DIALOG 1 3640 #define LFRDR_WINTYPE_MAINWIN 2 3641 #define LFRDR_WINTYPE_CONTROL 3 3675 #define LFRDR_METRICS_MASK 0xFF00 3676 #define LFRDR_METRICS_BORDER 0x0100 3677 #define LFRDR_METRICS_CAPTION_H 0x0200 3678 #define LFRDR_METRICS_ICON_H 0x0300 3679 #define LFRDR_METRICS_ICON_W 0x0400 3680 #define LFRDR_METRICS_MENU_H 0x0500 3681 #define LFRDR_METRICS_VSCROLL_W 0x0600 3682 #define LFRDR_METRICS_HSCROLL_H 0x0700 3683 #define LFRDR_METRICS_MINWIN_WIDTH 0x0800 3684 #define LFRDR_METRICS_MINWIN_HEIGHT 0x0900 3686 #define LFRDR_SB_MINBARLEN 10 3692 #define LEN_RENDERER_NAME 15 3695 #define LFRDR_BTN_STATUS_MASK 0x03 3696 #define LFRDR_BTN_STATUS_NORMAL 0x00 3697 #define LFRDR_BTN_STATUS_HILITE 0x01 3698 #define LFRDR_BTN_STATUS_PRESSED 0x02 3699 #define LFRDR_BTN_STATUS_DISABLED 0x03 3702 #define LFRDR_BTN_STATUS_SELECTED 0x04 3705 #define LFRDR_BTN_STATUS_INACTIVE 0x08 3708 #define LFRDR_3DBOX_THICKFRAME 0x20 3711 #define LFRDR_3DBOX_FILLED 0x40 3714 #define LFRDR_MARK_SELECTED_MASK 0x05 3715 #define LFRDR_MARK_ALL_SELECTED 0x01 3716 #define LFRDR_MARK_HALF_SELECTED 0x04 3719 #define LFRDR_MARK_HAVESHELL 0x02 3722 #define LFRDR_ARROW_DIRECT_MASK 0x0F00 3723 #define LFRDR_ARROW_LEFT 0x0000 3724 #define LFRDR_ARROW_RIGHT 0x0100 3725 #define LFRDR_ARROW_UP 0x0200 3726 #define LFRDR_ARROW_DOWN 0x0300 3729 #define LFRDR_ARROW_NOFILL 0x1000 3730 #define LFRDR_ARROW_HAVESHELL 0x2000 3733 #define LFRDR_MENUITEMOFFY_MIN 4 3735 #define LFRDR_3DBOX_COLOR_LIGHTEST 0x01 3736 #define LFRDR_3DBOX_COLOR_DARKEST 0x02 3737 #define LFRDR_3DBOX_COLOR_LIGHTER 0x03 3738 #define LFRDR_3DBOX_COLOR_DARKER 0x04 3741 #define LFRDR_TAB_BOTTOM 0x0001 3742 #define LFRDR_TAB_ACTIVE 0x0010 3743 #define LFRDR_TAB_ICON 0x0100 3746 #define LFRDR_TREE_WITHICON 0x08 3747 #define LFRDR_TREE_FOLD 0x01 3750 #define LFRDR_TREE_CHILD 0x02 3751 #define LFRDR_TREE_NEXT 0x04 3753 #define SYSICO_ITEM_NUMBER 5 3764 int (*init) (PWERENDERER renderer);
3770 int (*deinit) (PWERENDERER renderer);
3866 int status,
int next);
3919 void (*draw_radio_button) (
HWND hWnd,
HDC hdc,
const RECT* pRect,
int status);
3937 void (*draw_check_button) (
HWND hWnd,
HDC hdc,
const RECT* pRect,
int status);
3958 void (*draw_caption_button) (
HWND hwnd,
HDC hdc,
int ht_code,
int state);
3974 void (*draw_scrollbar) (
HWND hWnd,
HDC hdc,
int sb_pos);
3990 int (*calc_we_area) (
HWND hWnd,
int which,
RECT* we_area);
4022 int (*hit_test) (
HWND hWnd,
int x,
int y);
4025 int (*on_click_hotspot) (
HWND hWnd,
int which);
4036 void (*draw_custom_hotspot) (
HWND hWnd,
HDC hdc,
int ht_code,
int state);
4048 void (*disabled_text_out) (
HWND hWnd,
HDC hdc,
const char* spText,
4066 int nMax,
int nMin,
int nPos,
BOOL fVertical);
4334 HDC hdc,
int we_attr_id);
4498 const unsigned char* data,
size_t data_size);
4581 typedef unsigned long RES_KEY;
4582 #define RES_KEY_INVALID 0 4585 typedef struct _INNER_RES {
4602 RES_TYPE_INVALID = 0xFF,
4622 #ifdef _MGHAVE_CURSOR 4659 RES_TYPE_USER_MAX = 0x7F
4663 typedef struct _MEM_RES {
4668 typedef struct _FONT_RES {
4679 #define REF_SRC_NOTYPE 0x00 4682 #define REF_SRC_FILE 0x01 4685 #define REF_SRC_INNER 0x02 4688 #define REF_SRC_SHARED 0x03 4691 #define REF_SRC_OUTSIDE 0x04 4694 #define REF_SRC_STREAM 0x05 4697 #define REF_SRC_LOGIC 0x06 4700 typedef struct _RESOURCE {
4710 typedef struct _RES_TYPE_OPS {
4717 void* (*get_res_data)(RESOURCE* res,
int src_type,
DWORD usr_param);
4720 void (*unload)(RESOURCE* res,
int src_type);
4726 RES_RET_INVALID_PARAM,
4727 RES_RET_NOT_EXIST_KEY,
4728 RES_RET_LOAD_FILE_FAILED,
4729 RES_RET_LOAD_MEM_FAILED,
4730 RES_RET_UNKNOWN_TYPE,
4731 RES_RET_NOT_IMPLEMENTED,
4774 MG_EXPORT
int AddInnerRes (INNER_RES* inner_res,
int count,
BOOL copy);
4779 MG_EXPORT
int AddSharedRes (
const char* shared_name);
4891 #define LoadBitmapFromRes(hdc, res_name) \ 4892 (PBITMAP)LoadResource(res_name, RES_TYPE_IMAGE, (DWORD)hdc) 4894 #define GetBitmapFromRes(key) (BITMAP*)GetResource(key) 4896 #define GetIconFromRes(key) (HICON)GetResource(key) 4898 #ifndef _MGHAVE_CURSOR 4899 #define GetCursorFromRes(key) (HCURSOR)GetResource(key) 4902 #define GetEtcFromRes(key) (GHANDLE)GetResource(key) 4904 #define LoadLogicFontFromRes(font_name) (PLOGFONT)LoadResource(font_name, RES_TYPE_FONT, 0) 4905 #define GetLogicFontFromRes(font_name) (PLOGFONT)GetResource(Str2Key(font_name)) 4906 #define ReleaseLogicFont(font) ReleaseRes(((FONT_RES*)(font))->key) 4907 #define ReleaseLogicFontByName(font_name) ReleaseRes(Str2Key(font_name)) 4920 MG_EXPORT RES_KEY
Str2Key (
const char* str);
4923 #ifdef __TARGET_MSTUDIO__ 4933 MG_EXPORT
int GUIAPI GetWindowZOrder(
HWND hWnd);
4944 MG_EXPORT
int GUIAPI SetWindowZOrder(
HWND hWnd,
int zorder);
4966 extern MG_EXPORT HWND __mg_hwnd_desktop;
4972 #define HWND_DESKTOP __mg_hwnd_desktop 4978 #define HWND_NULL ((HWND)0) 4984 #define HWND_INVALID ((HWND)-1) 4986 #define HWND_OTHERPROC ((HWND)-1) 5031 #ifdef _MGRM_THREADS 5043 MG_EXPORT
int GUIAPI CreateThreadForMainWindow(pthread_t* thread,
5044 pthread_attr_t* attr,
5045 void * (*start_routine)(
void *),
5054 MG_EXPORT pthread_t GUIAPI GetMainWinThread(HWND hMainWnd);
5065 MG_EXPORT
int GUIAPI WaitMainWindowClose(HWND hWnd,
void** returnval);
5091 #define MainWindowCleanup(hwnd) MainWindowThreadCleanup(hwnd) 5120 const char* window_name,
const char* layer_name);
5224 LRESULT GUIAPI PreDefMainWinProc (HWND hWnd, UINT message,
5225 WPARAM wParam,
LPARAM lParam);
5227 LRESULT GUIAPI PreDefDialogProc (HWND hWnd,
5228 UINT message, WPARAM wParam,
LPARAM lParam);
5230 LRESULT GUIAPI PreDefControlProc (HWND hWnd, UINT message,
5231 WPARAM wParam,
LPARAM lParam);
5251 WPARAM wParam,
LPARAM lParam);
5274 #define DefaultMainWinProc (__mg_def_proc[0]) 5292 #define DefaultDialogProc (__mg_def_proc[1]) 5307 #define DefaultControlProc (__mg_def_proc[2]) 5310 MG_EXPORT
void GUIAPI DumpWindow (FILE* fp, HWND hWnd);
5320 #define SW_HIDE 0x0000 5321 #define SW_SHOW 0x0010 5322 #define SW_SHOWNORMAL 0x0100 5820 const RECT* prc,
BOOL bEraseBkgnd);
5945 MG_EXPORT
void GUIAPI
EndPaint(HWND hWnd,
HDC hdc);
6002 int win_type,
int cw);
6021 int win_type,
int ch,
BOOL hasMenu);
6023 #define ClientWidthToWindowWidth(dwStyle, cw) \ 6024 ClientWidthToWindowWidthEx (dwStyle, LFRDR_WINTYPE_MAINWIN, cw) 6026 #define ClientHeightToWindowHeight(dwStyle, ch, hasMenu) \ 6027 ClientHeightToWindowHeightEx (dwStyle, LFRDR_WINTYPE_MAINWIN, ch, hasMenu) 6083 MG_EXPORT
void GUIAPI
ClientToScreen (HWND hWnd,
int* x,
int* y);
6098 MG_EXPORT
void GUIAPI
ScreenToClient (HWND hWnd,
int* x,
int* y);
6144 MG_EXPORT
void GUIAPI
WindowToScreen (HWND hWnd,
int* x,
int* y);
6159 MG_EXPORT
void GUIAPI
ScreenToWindow (HWND hWnd,
int* x,
int* y);
6237 MG_EXPORT HWND GUIAPI
GetParent (HWND hWnd);
6315 MG_EXPORT HWND GUIAPI
GetNextChild (HWND hWnd, HWND hChild);
6355 MG_EXPORT HWND GUIAPI
GetHosting (HWND hMainWnd);
6402 MG_EXPORT HWND GUIAPI
GetNextHosted (HWND hHosting, HWND hHosted);
6436 MG_EXPORT
int GUIAPI
GetWindowText (HWND hWnd,
char* spString,
int nMaxLen);
6505 #define SetFocus SetFocusChild 6511 #define GetFocus GetFocusChild 6545 #define GetForegroundWindow GetActiveWindow 6551 #define SetForegroundWindow SetActiveWindow 6629 #define WindowFromPoint(pt) WindowFromPointEx(pt, TRUE) 6631 #define CWP_ALL 0x0000 6632 #define CWP_SKIPINVISIBLE 0x0001 6633 #define CWP_SKIPDISABLED 0x0002 6634 #define CWP_SKIPTRANSPARENT 0x0004 6712 MG_EXPORT
BOOL GUIAPI
MoveWindow (HWND hWnd,
int x,
int y,
int w,
int h,
6715 #define SW_INVALIDATE 0x01 6716 #define SW_ERASE 0x02 6717 #define SW_SCROLLCHILDREN 0x04 6791 const RECT *prcScroll,
const RECT *prcClip,
6815 const RECT* prcScroll,
const RECT* prcClip)
6818 NULL,
NULL, SW_ERASE | SW_INVALIDATE | SW_SCROLLCHILDREN);
6825 #define GetWindowElementColor(iItem) \ 6826 GetWindowElementPixelEx(HWND_NULL, (HDC)-1, iItem) 6828 #define GetWindowElementColorEx(hWnd, iItem) \ 6829 GetWindowElementPixelEx(hWnd, (HDC)-1, iItem) 6831 #define GetWindowElementPixel(hWnd, iItem) \ 6832 GetWindowElementPixelEx(hWnd, (HDC)-1, iItem) 6840 #define SYSBMP_RADIOBUTTON "radiobutton" 6841 #define SYSBMP_CHECKBUTTON "checkbutton" 6842 #define SYSBMP_BGPICTURE "bgpicture" 6843 #define SYSBMP_BGPICPOS "bgpicpos" 6846 #define SYSBMP_IMECTRLBTN "IMEctrlbtn" 6847 #define SYSBMP_LOGO "logo" 6930 const char* rdr_name,
PBITMAP bmp);
6953 #define IDI_APPLICATION 0 6955 #define IDI_STOP IDI_HAND 6956 #define IDI_QUESTION 2 6957 #define IDI_EXCLAMATION 3 6958 #define IDI_ASTERISK 4 6959 #define IDI_INFORMATION IDI_ASTERISK 6961 #define SYSICON_FT_DIR "dir" 6962 #define SYSICON_FT_FILE "file" 6964 #define SYSICON_TREEFOLD "treefold" 6965 #define SYSICON_TREEUNFOLD "treeunfold" 6985 const char* rdr_name,
const char* szItemName,
int which);
7053 #define GetLargeSystemIcon(iItem) GetLargeSystemIconEx(HWND_NULL, iItem) 7061 #define GetSmallSystemIcon(iItem) GetSmallSystemIconEx(HWND_NULL, iItem) 7141 int* pMinPos,
int* pMaxPos);
7192 int iMinPos,
int iMaxPos);
7215 #define SIF_RANGE 0x0001 7216 #define SIF_PAGE 0x0002 7217 #define SIF_POS 0x0004 7218 #define SIF_DISABLENOSCROLL 0x0008 7219 #define SIF_TRACKPOS 0x0010 7220 #define SIF_ALL (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS) 7223 #define SB_ARROW_LTUP 0x0001 7226 #define SB_ARROW_BTDN 0x0002 7229 #define SB_ARROW_BOTH (SB_ARROW_LTUP | SB_ARROW_BTDN) 7322 #define CS_VREDRAW 0x0001 7323 #define CS_HREDRAW 0x0002 7324 #define CS_KEYCVTWINDOW 0x0004 7325 #define CS_DBLCLKS 0x0008 7327 #define CS_OWNDC 0x0020 7328 #define CS_CLASSDC 0x0040 7329 #define CS_PARENTDC 0x0080 7331 #define CS_NOKEYCVT 0x0100 7332 #define CS_NOCLOSE 0x0200 7333 #define CS_SAVEBITS 0x0800 7335 #define CS_BYTEALIGNCLIENT 0x1000 7336 #define CS_BYTEALIGNWINDOW 0x2000 7337 #define CS_GLOBALCLASS 0x4000 7338 #define CS_IME 0x8000 7340 #define COP_STYLE 0x0001 7341 #define COP_HCURSOR 0x0002 7342 #define COP_BKCOLOR 0x0004 7343 #define COP_WINPROC 0x0008 7344 #define COP_ADDDATA 0x0010 7388 #define MAINWINCLASSNAME ("MAINWINDOW") 7389 #define ROOTWINCLASSNAME ("ROOTWINDOW") 7519 const char* spCaption,
DWORD dwStyle,
DWORD dwExStyle,
7520 LINT id,
int x,
int y,
int w,
int h, HWND hParentWnd,
7537 const char* spCaption,
DWORD dwStyle,
DWORD dwExStyle,
7538 LINT id,
int x,
int y,
int w,
int h, HWND hParentWnd,
7542 id, x, y, w, h, hParentWnd,
NULL,
NULL, dwAddData);
7624 #define CreateWindow(class_name, caption, style, \ 7625 id, x, y, w, h, parent, add_data) \ 7626 CreateWindowEx(class_name, caption, style, 0, \ 7627 id, x, y, w, h, parent, add_data) 7699 #define SetTimer(hwnd, id, speed) \ 7700 SetTimerEx(hwnd, id, speed, NULL) 7719 MG_EXPORT
int GUIAPI
KillTimer (HWND hWnd, LINT
id);
7752 #define ResetTimer(hwnd, id, speed) \ 7753 ResetTimerEx(hwnd, id, speed, (TIMERPROC)INV_PTR) 7930 MG_EXPORT
int GUIAPI
SetIMEStatus (
int StatusCode,
int Value);
7999 MG_EXPORT
int GUIAPI SetIMEPos (
const POINT* pt);
8036 #define ACCEL_SHIFT KS_SHIFT 8037 #define ACCEL_ALT KS_ALT 8038 #define ACCEL_CTRL KS_CTRL 8139 int nWidth,
int nHeight);
8238 MG_EXPORT
BOOL GUIAPI HideCaretEx (HWND hWnd,
BOOL ime);
8256 return HideCaretEx (hWnd,
TRUE);
8339 #define MF_INSERT 0x00000000L 8340 #define MF_CHANGE 0x00000080L 8341 #define MF_APPEND 0x00000100L 8342 #define MF_DELETE 0x00000200L 8343 #define MF_REMOVE 0x00001000L 8345 #define MF_BYCOMMAND 0x00000000L 8346 #define MF_BYPOSITION 0x00000400L 8348 #define MF_SEPARATOR 0x00000800L 8350 #define MF_ENABLED 0x00000000L 8351 #define MF_GRAYED 0x00000001L 8352 #define MF_DISABLED 0x00000002L 8354 #define MF_UNCHECKED 0x00000000L 8355 #define MF_CHECKED 0x00000008L 8356 #define MF_USECHECKBITMAPS 0x00000200L 8358 #define MF_STRING 0x00000000L 8359 #define MF_BITMAP 0x00000004L 8360 #define MF_OWNERDRAW 0x00000100L 8362 #define MF_POPUP 0x00000010L 8363 #define MF_MENUBARBREAK 0x00000020L 8364 #define MF_MENUBREAK 0x00000040L 8366 #define MF_UNHILITE 0x00000000L 8367 #define MF_HILITE 0x00000080L 8369 #define MF_DEFAULT 0x00001000L 8370 #define MF_SYSMENU 0x00002000L 8371 #define MF_HELP 0x00004000L 8372 #define MF_RIGHTJUSTIFY 0x00004000L 8374 #define MF_MOUSESELECT 0x00008000L 8375 #define MF_END 0x00000080L 8377 #define MFT_STRING MF_STRING 8378 #define MFT_BITMAP MF_BITMAP 8379 #define MFT_BMPSTRING 0x00010000L 8380 #define MFT_MENUBARBREAK MF_MENUBARBREAK 8381 #define MFT_MENUBREAK MF_MENUBREAK 8382 #define MFT_OWNERDRAW MF_OWNERDRAW 8383 #define MFT_RADIOCHECK 0x00000200L 8384 #define MFT_MARKCHECK 0x00000400L 8385 #define MFT_SEPARATOR MF_SEPARATOR 8387 #define MFT_RIGHTORDER 0x00002000L 8388 #define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY 8390 #define MFS_GRAYED 0x00000003L 8391 #define MFS_DISABLED MFS_GRAYED 8392 #define MFS_CHECKED MF_CHECKED 8393 #define MFS_HILITE MF_HILITE 8394 #define MFS_ENABLED MF_ENABLED 8395 #define MFS_UNCHECKED MF_UNCHECKED 8396 #define MFS_UNHILITE MF_UNHILITE 8397 #define MFS_DEFAULT MF_DEFAULT 8400 #define SC_SIZE 0xF000 8401 #define SC_MOVE 0xF010 8402 #define SC_MINIMIZE 0xF020 8403 #define SC_MAXIMIZE 0xF030 8404 #define SC_NEXTWINDOW 0xF040 8405 #define SC_PREVWINDOW 0xF050 8406 #define SC_CLOSE 0xF060 8407 #define SC_VSCROLL 0xF070 8408 #define SC_HSCROLL 0xF080 8409 #define SC_MOUSEMENU 0xF090 8410 #define SC_KEYMENU 0xF100 8411 #define SC_ARRANGE 0xF110 8412 #define SC_RESTORE 0xF120 8413 #define SC_TASKLIST 0xF130 8414 #define SC_SCREENSAVE 0xF140 8415 #define SC_HOTKEY 0xF150 8417 #define SC_DEFAULT 0xF160 8418 #define SC_MONITORPOWER 0xF170 8419 #define SC_CONTEXTHELP 0xF180 8420 #define SC_SEPARATOR 0xF00F 8423 #define MIIM_STATE 0x00000001 8424 #define MIIM_ID 0x00000002 8425 #define MIIM_SUBMENU 0x00000004 8426 #define MIIM_CHECKMARKS 0x00000008 8427 #define MIIM_TYPE 0x00000010 8428 #define MIIM_DATA 0x00000020 8429 #define MIIM_STRING 0x00000040 8430 #define MIIM_BITMAP 0x00000080 8431 #define MIIM_FTYPE 0x00000100 8435 #define TPM_LEFTBUTTON 0x0000L 8436 #define TPM_RIGHTBUTTON 0x0002L 8437 #define TPM_LEFTALIGN 0x0000L 8438 #define TPM_CENTERALIGN 0x0004L 8439 #define TPM_RIGHTALIGN 0x0008L 8440 #define TPM_TOPALIGN 0x0000L 8441 #define TPM_VCENTERALIGN 0x0010L 8442 #define TPM_BOTTOMALIGN 0x0020L 8444 #define TPM_HORIZONTAL 0x0000L 8445 #define TPM_VERTICAL 0x0040L 8446 #define TPM_NONOTIFY 0x0080L 8447 #define TPM_RETURNCMD 0x0100L 8449 #define TPM_DESTROY 0x1000L 8450 #define TPM_SYSCMD 0x2000L 8451 #define TPM_DEFAULT 0x0000L 8454 #define MNC_IGNORE 0 8456 #define MNC_EXECUTE 2 8457 #define MNC_SELECT 3 8627 UINT flag, PMENUITEMINFO pmii);
8776 MG_EXPORT
int GUIAPI
TrackMenuBar (HWND hwnd,
int pos);
8816 int x,
int y, HWND hwnd);
8837 #define LFRDR_MENU_STATE_HILITE 0x01 8838 #define LFRDR_MENU_STATE_NORMAL 0x02 8839 #define LFRDR_MENU_STATE_DISABLED 0x04 8923 UINT flag, PMENUITEMINFO pmii);
8926 int GUIAPI GetMenuItemRect (HWND hwnd,
HMENU hmnu,
8927 LINT item,
PRECT prc);
9045 LINT checkitem, UINT flag);
9099 UINT flag, PMENUITEMINFO pmii);
9113 #define DLGC_WANTARROWS 0x0001 9118 #define DLGC_WANTTAB 0x0002 9123 #define DLGC_WANTALLKEYS 0x0004 9128 #define DLGC_WANTCHARS 0x0008 9134 #define DLGC_WANTENTER 0x0010 9139 #define DLGC_HASSETSEL 0x0080 9145 #define DLGC_DEFPUSHBUTTON 0x0100 9150 #define DLGC_PUSHBUTTON 0x0200 9155 #define DLGC_RADIOBUTTON 0x0400 9160 #define DLGC_3STATE 0x0800 9165 #define DLGC_STATIC 0x1000 9170 #define DLGC_BUTTON 0x2000 9266 const char* window_name,
const char* layer_name);
9281 PDLGTEMPLATE pDlgTemplate, HWND hOwner,
9300 PDLGTEMPLATE pDlgTemplate, HWND hOwner,
WNDPROC WndProc)
9354 const char* window_name,
const char* layer_name);
9448 MG_EXPORT HWND GUIAPI
GetDlgItem (HWND hDlg, LINT nIDDlgItem);
9482 MG_EXPORT UINT GUIAPI
GetDlgItemInt (HWND hDlg, LINT nIDDlgItem,
9508 char* lpString,
int nMaxCount);
9530 MG_EXPORT
char* GUIAPI
GetDlgItemText2 (HWND hDlg, LINT
id,
int* lenPtr);
9552 HWND hCtl,
BOOL bPrevious);
9596 UINT message, WPARAM wParam,
LPARAM lParam);
9621 UINT uValue,
BOOL bSigned);
9642 MG_EXPORT
BOOL GUIAPI SetDlgItemText (HWND hDlg, LINT nIDDlgItem,
9643 const char* lpString);
9645 #ifdef _MGCTRL_BUTTON 9671 MG_EXPORT
void GUIAPI
CheckDlgButton (HWND hDlg, LINT nIDDlgItem,
int nCheck);
9695 LINT idFirstButton, LINT idLastButton, LINT idCheckButton);
9734 #if defined(_MGCTRL_STATIC) && defined (_MGCTRL_BUTTON) 9737 #define IDC_STATIC 0 9746 #define MINID_RESERVED 0xF001 9747 #define MAXID_RESERVED 0xFFFF 9749 #define MB_OK 0x00000000 9750 #define MB_OKCANCEL 0x00000001 9751 #define MB_YESNO 0x00000002 9752 #define MB_RETRYCANCEL 0x00000003 9753 #define MB_ABORTRETRYIGNORE 0x00000004 9754 #define MB_YESNOCANCEL 0x00000005 9755 #define MB_CANCELASBACK 0x00000008 9756 #define MB_TYPEMASK 0x00000007 9758 #define MB_ICONHAND 0x00000010 9759 #define MB_ICONQUESTION 0x00000020 9760 #define MB_ICONEXCLAMATION 0x00000030 9761 #define MB_ICONASTERISK 0x00000040 9762 #define MB_ICONMASK 0x000000F0 9764 #define MB_ICONINFORMATION MB_ICONASTERISK 9765 #define MB_ICONSTOP MB_ICONHAND 9767 #define MB_DEFBUTTON1 0x00000000 9768 #define MB_DEFBUTTON2 0x00000100 9769 #define MB_DEFBUTTON3 0x00000200 9770 #define MB_DEFMASK 0x00000F00 9776 #define MB_NOFOCUS 0x00008000 9778 #define MB_ALIGNCENTER 0x00000000 9779 #define MB_ALIGNTOPLEFT 0x00010000 9780 #define MB_ALIGNBTMLEFT 0x00020000 9781 #define MB_ALIGNTOPRIGHT 0x00030000 9782 #define MB_ALIGNBTMRIGHT 0x00040000 9783 #define MB_ALIGNMASK 0x00070000 9785 #define MB_BASEDONPARENT 0x00080000 9889 MG_EXPORT
int GUIAPI
MessageBox (HWND hParentWnd,
const char* pszText,
9890 const char* pszCaption,
DWORD dwStyle);
GHANDLE HACCEL
Handle to accelarator.
MG_EXPORT int UnregisterResType(int type)
Unregister a user-defined resource type.
MG_EXPORT DWORD GUIAPI GetWindowElementAttr(HWND hwnd, int we_attr_id)
Get a window element data.
#define SendAsyncMessage
Is an alias of SendMessage for MiniGUI-Processes and MiniGUI-Standalone.
MG_EXPORT int GUIAPI BroadcastMessage(UINT nMsg, WPARAM wParam, LPARAM lParam)
Broadcasts a message to all main window on the desktop.
MG_EXPORT LINT GUIAPI GetDlgCtrlID(HWND hwndCtl)
Gets the integer identifier of a control.
MG_EXPORT BOOL GUIAPI IsMainWindow(HWND hWnd)
Determines whether a window is a main window.
MG_EXPORT int RegisterResType(int type, RES_TYPE_OPS *ops)
Register a new user-defined type into resource manager, so that the LoadResource can load the special...
MG_EXPORT void GUIAPI UnregisterRes(const char *file)
Unregister the BITMAP object from cache according to the specified resource file name.
MG_EXPORT HWND GUIAPI GetFocusChild(HWND hParent)
Retrieves the handle to the window's active child that has the keyboard focus.
MG_EXPORT void TermRendererSystemIcon(HICON *small_icon, HICON *large_icon)
Release large and small system icon resources.
MG_EXPORT WINDOW_ELEMENT_RENDERER *GUIAPI GetDefaultWindowElementRenderer(void)
Get the default window renderer.
struct _DLGTEMPLATE DLGTEMPLATE
struct _LFRDR_TRACKBARINFO LFRDR_TRACKBARINFO
int BOOL
A type definition for boolean value.
MG_EXPORT void GUIAPI CheckRadioButton(HWND hDlg, LINT idFirstButton, LINT idLastButton, LINT idCheckButton)
Adds a check mark to (checks) a specified radio button in a group and removes a check mark from (clea...
MG_EXPORT int GUIAPI TranslateAccelerator(HACCEL hAccel, PMSG pMsg)
Translates an accelerator key message to MSG_COMMAND messge and sends it to the window procedure...
MG_EXPORT HICON GUIAPI SetWindowIcon(HWND hWnd, HICON hIcon, BOOL bRedraw)
Sets the current icon of a window.
static BOOL GUIAPI HideCaret(HWND hWnd)
Hides a caret.
MG_EXPORT int GUIAPI GetUpdateRegion(HWND hWnd, PCLIPRGN pRgn)
Copy the update region of a window to a region.
unsigned char BYTE
A type definition for an 8-bit unsigned character (byte).
MG_EXPORT LRESULT GUIAPI SendMessage(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
Sends a message to a window.
MG_EXPORT gal_pixel GUIAPI GetWindowElementPixelEx(HWND hwnd, HDC hdc, int we_attr_id)
Get a window element gal_pixel color.
MG_EXPORT DWORD GUIAPI SetWindowAdditionalData2(HWND hWnd, DWORD newData)
Sets the second additional data of a window.
MG_EXPORT int GUIAPI GetIMEStatus(int StatusCode)
Retrives status of the current IME window.
MG_EXPORT DWORD GUIAPI GetWindowAdditionalData(HWND hWnd)
Retrives the first additional data of a window.
MG_EXPORT UINT GUIAPI GetCaretBlinkTime(HWND hWnd)
Returns the elapsed time, in milliseconds, required to invert the caret's pixels. ...
MG_EXPORT int GUIAPI SetIMETargetInfo(const IME_TARGET_INFO *info)
Sets the target info of the current IME window.
MG_EXPORT HWND GUIAPI GetNextMainWindow(HWND hMainWnd)
Retrives the next main window in the system according to the zorder.
MG_EXPORT int GUIAPI KillTimer(HWND hWnd, LINT id)
Destroys a timer.
LRESULT(* WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Type of the window callback procedure.
MG_EXPORT HWND GUIAPI GetActiveWindow(void)
Retrieves the main window handle to the active main window.
MG_EXPORT void GUIAPI MainWindowThreadCleanup(HWND hMainWnd)
Cleans up system resource associated with a main window.
MG_EXPORT LRESULT GUIAPI DefaultWindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
The default window callback procedure.
MG_EXPORT const char *GUIAPI GetClassName(HWND hWnd)
Retrieves the name of the class to which the specified window belongs.
MG_EXPORT int GUIAPI PostMessage(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
Posts a message into the message queue of a window and returns immediatly.
MG_EXPORT void GUIAPI WindowToClient(HWND hWnd, int *x, int *y)
Converts the window coordinates to client coordinates.
struct _SCROLLBARDATA SCROLLBARDATA
MG_EXPORT BOOL GUIAPI CreateCaret(HWND hWnd, PBITMAP pBitmap, int nWidth, int nHeight)
Creates a new shape for the system caret and assigns ownership of the caret to the specified window...
MG_EXPORT BOOL GUIAPI DestroyMainWindow(HWND hWnd)
Destroys a main window.
MG_EXPORT WINDOW_ELEMENT_RENDERER *GUIAPI GetWindowRendererFromName(const char *name)
Get window renderer from name.
DWORD(* on_set_rdr_attr)(struct _WINDOW_ELEMENT_RENDERER *, int we_attr_id, DWORD we_attr, BOOL change)
MG_EXPORT HWND GUIAPI GetHosting(HWND hMainWnd)
Retrives the hosting main window of a main window.
MG_EXPORT BOOL InitRendererSystemIcon(const char *rdr_name, HICON *small_icon, HICON *large_icon)
Initialize large and small system icons in the specified renderer rdr_name.
MG_EXPORT int GUIAPI ClientHeightToWindowHeightEx(DWORD dwStyle, int win_type, int ch, BOOL hasMenu)
Calculates window height from the height of the client area.
MG_EXPORT HICON GUIAPI GetLargeSystemIconEx(HWND hWnd, int iItem)
Retrives a large system icon by its identifier in default renderer.
MG_EXPORT WNDPROC __mg_def_proc[3]
The default window callback procedure array.
MG_EXPORT HWND GUIAPI SetActiveWindow(HWND hMainWnd)
Sets a main window to be the active main window.
MG_EXPORT PLOGFONT GUIAPI SetWindowFont(HWND hWnd, PLOGFONT pLogFont)
Sets the default font of a window.
static HWND GUIAPI CreateMainWindow(PMAINWINCREATE pCreateInfo)
A simplified version of CreateMainWindowEx.
MG_EXPORT void * LoadResource(const char *res_name, int type, DWORD usr_param)
Load a resource from disk or memory.
MG_EXPORT void GUIAPI WindowToScreen(HWND hWnd, int *x, int *y)
Converts the window coordinates of a point to screen coordinates.
MG_EXPORT HWND GUIAPI CreateWindowEx2(const char *spClassName, const char *spCaption, DWORD dwStyle, DWORD dwExStyle, LINT id, int x, int y, int w, int h, HWND hParentWnd, const char *werdr_name, const WINDOW_ELEMENT_ATTR *we_attrs, DWORD dwAddData)
Creates a child window with extended style, renderer and attributes table.
const WINDOW_ELEMENT_ATTR * we_attrs
MG_EXPORT void GUIAPI DestroyAllControls(HWND hWnd)
Destroys all controls in a window.
MG_EXPORT BOOL GUIAPI EnableWindow(HWND hWnd, BOOL fEnable)
Enables of disables a window.
MG_EXPORT BOOL GUIAPI SetWindowMaskEx(HWND hWnd, HDC hdc, const BITMAP *mask)
Set window (a main window, or a child window which is also known as "control")'s Mask Rect with BITMA...
MG_EXPORT BOOL GUIAPI PeekPostMessage(PMSG pMsg, HWND hWnd, UINT nMsgFilterMin, UINT nMsgFilterMax, UINT uRemoveMsg)
Peeks a post message from the message queue of a main window.
static HWND GUIAPI CreateMainWindowIndirect(PDLGTEMPLATE pDlgTemplate, HWND hOwner, WNDPROC WndProc)
A simplified version of CreateMainWindowIndirectParam.
MG_EXPORT int GUIAPI ThrowAwayMessages(HWND pMainWnd)
Removes all messages in the message queue associated with a window.
#define WE_COLORS_NUMBER
The number of window element color attributes.
MG_EXPORT HCURSOR GUIAPI GetWindowCursor(HWND hWnd)
Retrives the current cursor of a window.
Uint32 gal_pixel
Data type of pixel value.
MG_EXPORT HWND GUIAPI SetNullFocus(HWND hParent)
Cancels the current active child and set the focus child to be null.
MG_EXPORT HICON GUIAPI LoadSystemIconEx(HDC hdc, const char *rdr_name, const char *szItemName, int which)
Loads an icon from information defined in MiniGUI.cfg.
MG_EXPORT int GUIAPI GetDlgItemText(HWND hDlg, LINT nIDDlgItem, char *lpString, int nMaxCount)
Retrieves the title or text associated with a control in a dialog box.
MG_EXPORT HWND GUIAPI SetFocusChild(HWND hWnd)
Sets the active child of a window.
MG_EXPORT BOOL GUIAPI SetWindowText(HWND hWnd, const char *spString)
Sets the text of a window.
MG_EXPORT HWND GUIAPI GetWindowUnderCursor(void)
Retrives the handle to the window (if any) which is just beneath the mouse cursor.
void(* draw_hilite_menu_item)(HWND hWnd, HDC hdc, const RECT *pRect, DWORD color)
struct _MAINWINCREATE MAINWINCREATE
MG_EXPORT const char * GetResPath(void)
Get the currrent user's resource path.
MG_EXPORT int SetResPath(const char *path)
Set user's resource path into the search paths of resource manager.
MG_EXPORT int GUIAPI ScrollWindowEx(HWND hWnd, int dx, int dy, const RECT *prcScroll, const RECT *prcClip, PCLIPRGN pRgnUpdate, PRECT prcUpdate, UINT flags)
Scrolls the content of a window's client area.
MG_EXPORT HCURSOR GUIAPI SetWindowCursor(HWND hWnd, HCURSOR hNewCursor)
Sets the current cursor of a window.
static BOOL GUIAPI ShowCaret(HWND hWnd)
Shows a caret.
int(* SRVEVTHOOK)(PMSG pMsg)
The type of the event hook.
int GUIAPI Send2Client(const MSG *msg, int cli)
Sends a message to a client.
MG_EXPORT BOOL GUIAPI GetClientRect(HWND hWnd, PRECT prc)
Retrives the client rectangle of a window.
MG_EXPORT DWORD GUIAPI GetWindowClassAdditionalData(HWND hWnd)
Retrives the additional data of a control class.
MG_EXPORT BOOL GUIAPI GetWindowClassInfo(PWNDCLASS pWndClass)
Retrieves the information of the specified window class.
MG_EXPORT BOOL GUIAPI TranslateKeyMsgToChar(int message, WPARAM wParam, LPARAM lParam, WORD *ch)
Translates a key down and key up message to a corresponding character.
const void * private_info
MG_EXPORT BOOL GUIAPI PeekMessageEx(PMSG pMsg, HWND hWnd, UINT nMsgFilterMin, UINT nMsgFilterMax, BOOL bWait, UINT uRemoveMsg)
Peeks a message from the message queue of a main window.
MG_EXPORT HWND GUIAPI GetFirstHosted(HWND hHosting)
Retrives the first hosted main window of a main window.
MG_EXPORT void GUIAPI ClientToWindow(HWND hWnd, int *x, int *y)
Converts the client coordinates to the window coordinates.
MG_EXPORT int GUIAPI GetWindowText(HWND hWnd, char *spString, int nMaxLen)
Copies the text of a window's into a buffer.
GHANDLE HDC
Handle to device context.
MG_EXPORT void GUIAPI ScreenToWindow(HWND hWnd, int *x, int *y)
Converts the screen coordinates of a point to window coordinates.
MG_EXPORT WNDPROC GUIAPI SetWindowCallbackProc(HWND hWnd, WNDPROC newProc)
Sets the callback procedure of a window.
void(* NOTIFPROC)(HWND hwnd, LINT id, int nc, DWORD add_data)
Type of the notification callback procedure.
MG_EXPORT void GUIAPI UnregisterSystemBitmap(HDC hdc, const char *rdr_name, const char *id)
Unregister a BITMAP object from BITMAP cache.
MG_EXPORT BOOL GUIAPI SetKeyboardLayout(const char *kbd_layout)
Sets a new keyboard layout.
MG_EXPORT BOOL GUIAPI SetWindowElementRenderer(HWND hWnd, const char *werdr_name, const WINDOW_ELEMENT_ATTR *we_attrs)
Set a window element renderer and window element attributes for window specified by hwnd...
MG_EXPORT BOOL GUIAPI IsWindowVisible(HWND hWnd)
Retrieves the visibility state of the specified window.
MG_EXPORT BOOL GUIAPI DestroyWindow(HWND hWnd)
Destroys a specified control.
MG_EXPORT UINT GUIAPI GetDlgItemInt(HWND hDlg, LINT nIDDlgItem, BOOL *lpTranslated, BOOL bSigned)
Translates the text of a control in a dialog box into an integer value.
BOOL(* TIMERPROC)(HWND, LINT, DWORD)
Type of the timer callback procedure.
MG_EXPORT BOOL GUIAPI UnregisterWindowClass(const char *szClassName)
Undoes the effect of RegisterWindowClass.
MG_EXPORT BOOL GUIAPI ExcludeWindowExStyle(HWND hWnd, DWORD dwStyle)
Removes the specific extended style of a window.
#define TRUE
TRUE value, defined as 1 by MiniGUI.
MG_EXPORT void GUIAPI UpdateWindow(HWND hWnd, BOOL bErase)
Updates a window.
BOOL GUIAPI Send2TopMostClients(UINT nMsg, WPARAM wParam, LPARAM lParam)
Sends a message to all clients in the topmost layer.
MG_EXPORT BOOL GUIAPI EmptyMessageQueue(HWND hWnd)
Empties a message queue.
MG_EXPORT DWORD GUIAPI GetTickCount(void)
Retrieves the tick counts that have elapsed since MiniGUI was started.
MG_EXPORT void * GetResource(RES_KEY key)
Retrive and return a buffered resource by the key.
DWORD we_colors[WE_COLORS_NUMBER][3]
MG_EXPORT BOOL GUIAPI SetCaretPos(HWND hWnd, int x, int y)
Moves the caret to a new position.
MG_EXPORT int ReleaseRes(RES_KEY key)
Release the buffered resource. It will decrease the reference count of the resource. If the reference count is less then 0, the resource will be released.
MG_EXPORT HWND GUIAPI RegisterMouseHookWindow(HWND hwnd, DWORD flag)
Registers a mouse message hook window.
MG_EXPORT HICON GUIAPI LoadSystemIcon(const char *szItemName, int which)
Uses default renderer and HDC_SCREEN to load an icon from information defined in MiniGUI.cfg.
static const WINDOWINFO *GUIAPI GetWindowInfo(HWND hWnd)
Get the handle of window information.
GHANDLE HWND
Handle to main window or control.
MG_EXPORT void GUIAPI TermSystemBitmap(HWND hWnd, const char *id, PBITMAP bmp)
Release the system bitmap object by identifier.
MG_EXPORT DWORD GUIAPI SetWindowAdditionalData(HWND hWnd, DWORD newData)
Sets the first additional data of a window.
MG_EXPORT BOOL GUIAPI SetWindowCaption(HWND hWnd, const char *spCaption)
Sets the caption of a window.
MG_EXPORT BOOL GUIAPI AdjustWindowRectEx(RECT *pRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle)
Calculates the required size of the window rectangle based on the desired size of the client rectangl...
MG_EXPORT BOOL GUIAPI ValidateRegion(HWND hWnd, const CLIPRGN *pRgn)
Validates the client area within a region by removing the region from the current update region of th...
MG_EXPORT int GUIAPI DestroyAcceleratorTable(HACCEL hacc)
Destroys an accelerator table.
MG_EXPORT const char *GUIAPI SetDefaultWindowElementRenderer(const char *name)
Set a window element renderer as the default system renderer.
MG_EXPORT DWORD GUIAPI GetWindowStyle(HWND hWnd)
Retrives the style of a window.
MG_EXPORT BOOL GUIAPI HavePendingMessage(HWND hMainWnd)
Checks if there is any pending message in the message queue of a main window.
MG_EXPORT BOOL GUIAPI GetWindowRect(HWND hWnd, PRECT prc)
Retrives the dimensions of the bounding rectangle of a window.
MG_EXPORT HWND GUIAPI WindowFromPointEx(POINT pt, BOOL bRecursion)
Retrieves a handle to the window that contains the specified point.
MG_EXPORT int GUIAPI GetIMEPos(POINT *pt)
Retrives the position of the current IME window.
PLOGFONT we_fonts[WE_FONTS_NUMBER]
MG_EXPORT int GUIAPI MessageBox(HWND hParentWnd, const char *pszText, const char *pszCaption, DWORD dwStyle)
Displays a message box within one, two, or three push buttons.
MG_EXPORT BOOL GUIAPI RegisterSystemBitmap(HDC hdc, const char *rdr_name, const char *id)
Register a device-dependent bitmap from id to BITMAP cache.
MG_EXPORT const BITMAP *GUIAPI RetrieveRes(const char *file)
Get a BITMAP object from cache according to the specified resource file name.
struct _WINDOWINFO WINDOWINFO
MG_EXPORT HWND GUIAPI GetDlgItem(HWND hDlg, LINT nIDDlgItem)
Retrives the handle to a control in a dialog box.
MG_EXPORT BOOL GUIAPI InitWindowElementAttrs(PWERENDERER rdr)
static HWND GUIAPI ChildWindowFromPoint(HWND hParent, POINT pt)
Retrives a handle to the child window that contains the speicified point.
static HWND GUIAPI CreateMainWindowIndirectParam(PDLGTEMPLATE pDlgTemplate, HWND hOwner, WNDPROC WndProc, LPARAM lParam)
A simplified version of CreateMainWindowIndirectParamEx.
MG_EXPORT BOOL GUIAPI SetTimerEx(HWND hWnd, LINT id, DWORD speed, TIMERPROC timer_proc)
Creates a timer with the specified timeout value.
LONG_PTR LINT
Signed integer which has pointer precision.
struct _LFSCROLLBARINFO LFSCROLLBARINFO
MG_EXPORT DWORD GUIAPI GetWindowExStyle(HWND hWnd)
Retrives the extended style of a window.
MG_EXPORT int GUIAPI DialogBoxIndirectParamEx(PDLGTEMPLATE pDlgTemplate, HWND hOwner, WNDPROC DlgProc, LPARAM lParam, const char *werdr_name, WINDOW_ELEMENT_ATTR *we_attrs, const char *window_name, const char *layer_name)
Creates a modal dialog box from a dialog box template in memory and other information.
#define LEN_RENDERER_NAME
The maximum length of a renderer name.
MG_EXPORT BOOL GUIAPI IncludeWindowStyle(HWND hWnd, DWORD dwStyle)
Includes the specific style of a window.
MG_EXPORT LRESULT GUIAPI SendDlgItemMessage(HWND hDlg, LINT nIDDlgItem, UINT message, WPARAM wParam, LPARAM lParam)
Sends a message to the specified control in a dialog box.
void(* erase_background)(HWND hWnd, HDC hdc, const RECT *rect)
MG_EXPORT BOOL GUIAPI ExcludeWindowStyle(HWND hWnd, DWORD dwStyle)
Removes the specific style of a window.
static HWND GUIAPI CreateWindowEx(const char *spClassName, const char *spCaption, DWORD dwStyle, DWORD dwExStyle, LINT id, int x, int y, int w, int h, HWND hParentWnd, DWORD dwAddData)
A shortcut version of CreateWindowEx2.
MG_EXPORT HWND GUIAPI GetNextDlgTabItem(HWND hDlg, HWND hCtl, BOOL bPrevious)
Retrieves the handle to the first control that has the WS_TABSTOP style that precedes (or follows) th...
GHANDLE HCURSOR
Handle to cursor.
MG_EXPORT BOOL GUIAPI IsWindowEnabled(HWND hWnd)
Determines whether the specified window is enabled for mouse and keyboard input.
MG_EXPORT BOOL GUIAPI IncludeWindowExStyle(HWND hWnd, DWORD dwStyle)
Includes the specific extended style of a window.
MG_EXPORT DWORD GUIAPI GetWindowAdditionalData2(HWND hWnd)
Retrives the second additional data of a window.
BOOL GUIAPI GetWindowRegion(HWND hWnd, CLIPRGN *region)
The function obtains a copy of the window region of a window.
MG_EXPORT BOOL GUIAPI SetWindowClassInfo(const WNDCLASS *pWndClass)
Sets the information of the specified window class.
#define NULL
A value indicates null pointer.
int we_metrics[WE_METRICS_NUMBER]
MG_EXPORT HWND GUIAPI CreateMainWindowEx(PMAINWINCREATE pCreateInfo, const char *werdr_name, const WINDOW_ELEMENT_ATTR *we_attrs, const char *window_name, const char *layer_name)
Creates a main window.
static void GUIAPI ScrollWindow(HWND hWnd, int dx, int dy, const RECT *prcScroll, const RECT *prcClip)
Scrolls the content of a window's client area.
BOOL GUIAPI SetWindowRegion(HWND hWnd, const CLIPRGN *region)
Set window's Mask Rect with CLIPRGN data.
MG_EXPORT const char *GUIAPI GetWindowCaption(HWND hWnd)
Retrives the caption of a window.
MG_EXPORT BOOL GUIAPI IsTimerInstalled(HWND hWnd, LINT id)
Determines whether a timer is installed.
unsigned char Uint8
A type definition for an 8-bit unsigned character.
MG_EXPORT int GUIAPI AddAccelerators(HACCEL hacc, int key, DWORD keymask, WPARAM wParam, LPARAM lParam)
Adds an accelerator to the accelerator table.
UINT_PTR LPARAM
A type definition for the second message paramter.
MG_EXPORT BOOL GUIAPI RegisterWindowClass(PWNDCLASS pWndClass)
Registers a window class.
MG_EXPORT void GUIAPI SetAutoRepeatMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
Sets the auto-repeat message.
MG_EXPORT gal_pixel GUIAPI GetWindowBkColor(HWND hWnd)
Returns the current background color of a window.
MG_EXPORT BOOL GUIAPI WaitMessage(PMSG pMsg, HWND hMainWnd)
Waits for a message from the message queue of a main window.
MG_EXPORT int AddInnerRes(INNER_RES *inner_res, int count, BOOL copy)
Add some incore resource into the resource manager in order to call LoadResource to get those resourc...
MG_EXPORT BOOL GUIAPI SetCaretBlinkTime(HWND hWnd, UINT uTime)
Sets the caret blink time to the specified number of milliseconds.
MG_EXPORT void GUIAPI ClientToScreen(HWND hWnd, int *x, int *y)
Converts the client coordinates of a point to screen coordinates.
static BOOL GUIAPI PeekMessage(PMSG pMsg, HWND hWnd, UINT nMsgFilterMin, UINT nMsgFilterMax, UINT uRemoveMsg)
Peeks a message from the message queue of a main window.
MG_EXPORT BOOL GUIAPI TranslateMessage(PMSG pMsg)
Translates key down and key up messages to MSG_CHAR message and post it into the message queue...
MG_EXPORT int GUIAPI UnregisterIMEWindow(HWND hWnd)
Unregisters an IME window.
MG_EXPORT HWND GUIAPI GetParent(HWND hWnd)
Retrieves the handle to a child window's parent window.
MG_EXPORT BOOL GUIAPI IsWindow(HWND hWnd)
Determines whether a window handle identifies an existing window.
BOOL GUIAPI Send2ActiveWindow(const MG_Layer *layer, UINT nMsg, WPARAM wParam, LPARAM lParam)
Sends a message to the active window in layer.
MG_EXPORT const BITMAP *GUIAPI GetSystemBitmapByHwnd(HWND hWnd, const char *id)
Retrives the system bitmap object by identifier.
MG_EXPORT void GUIAPI MessageBeep(DWORD dwBeep)
Makes a sound of beep.
MG_EXPORT BOOL GUIAPI RemoveWindowElementRenderer(const char *name)
Remove a window renderer from MiniGUI.
MG_EXPORT const BITMAP *GUIAPI GetSystemBitmap(HWND hWnd, const char *id)
Retrives the system bitmap object by identifier.
MG_EXPORT NOTIFPROC GUIAPI GetNotificationCallback(HWND hwnd)
Gets the notification callback procedure of a control.
MG_EXPORT DWORD GUIAPI SetWindowClassAdditionalData(HWND hWnd, DWORD newData)
Sets the additional data of a control class.
MG_EXPORT BOOL GUIAPI ValidateRect(HWND hWnd, const RECT *rect)
Validates the client area within a rectangle by removing the rectangle from the update region of the ...
MG_EXPORT HACCEL GUIAPI CopyAcceleratorTable(HACCEL hacc)
Copies the specified accelerator table.
MG_EXPORT BOOL GUIAPI GetCaretPos(HWND hWnd, PPOINT pPt)
Gets the caret position.
MG_EXPORT char *GUIAPI GetDlgItemText2(HWND hDlg, LINT id, int *lenPtr)
Retrieves the title or text associated with a control in a dialog box.
HICON we_icon[2][SYSICO_ITEM_NUMBER]
WORD_HPTR WORD
A type definition for an unsigned integer (word).
struct _LFRDR_WINSTYLEINFO LFRDR_WINSTYLEINFO
MG_EXPORT BOOL GUIAPI HaveFreeTimer(void)
Determines whether there is any free timer slot in the system.
static BOOL GUIAPI GetMessage(PMSG pMsg, HWND hWnd)
Gets a message from the message queue of a main window.
MG_EXPORT BOOL GUIAPI DestroyMainWindowIndirect(HWND hMainWin)
Destroys a main window created by CreateMainWindowIndirectParam.
MG_EXPORT BOOL GUIAPI InvalidateRect(HWND hWnd, const RECT *prc, BOOL bEraseBkgnd)
Makes a rectangle region in the client area of a window invalid.
MG_EXPORT BOOL GUIAPI IsControl(HWND hWnd)
Determines whether a window is a control.
UINT_PTR WPARAM
A type definition for the first message paramter.
MG_EXPORT HICON GUIAPI GetWindowIcon(HWND hWnd)
Retrives the current icon of a window.
MG_EXPORT int GUIAPI GetWindowTextLength(HWND hWnd)
Retrieves the length of a window's text.
DWORD_PTR DWORD
A unsigned long type definition for pointer precision.
static int GUIAPI DialogBoxIndirectParam(PDLGTEMPLATE pDlgTemplate, HWND hOwner, WNDPROC DlgProc, LPARAM lParam)
A simplified version of DialogBoxIndirectParamEx.
MG_EXPORT int GUIAPI SendNotifyMessage(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
Sends a notification message to a window.
LONG_PTR LRESULT
Signed result of message processing.
MG_EXPORT void GUIAPI ScreenToClient(HWND hWnd, int *x, int *y)
Converts the screen coordinates of a point to client coordinates.
MG_EXPORT PLOGFONT GUIAPI GetWindowFont(HWND hWnd)
Retrives the default font of a window.
MG_EXPORT HWND GUIAPI GetNextChild(HWND hWnd, HWND hChild)
Retrives the next control in a window.
MG_EXPORT HWND GUIAPI GetNextDlgGroupItem(HWND hDlg, HWND hCtl, BOOL bPrevious)
Retrieves the handle to the first control in a group of controls that precedes (or follows) the speci...
#define WE_METRICS_NUMBER
The number of window element metric attributes.
MG_EXPORT SRVEVTHOOK GUIAPI SetServerEventHook(SRVEVTHOOK SrvEvtHook)
Sets an event hook in the server of MiniGUI-Processes.
MG_EXPORT HWND GUIAPI CreateMainWindowIndirectParamEx(PDLGTEMPLATE pDlgTemplate, HWND hOwner, WNDPROC WndProc, LPARAM lParam, const char *werdr_name, WINDOW_ELEMENT_ATTR *we_attrs, const char *window_name, const char *layer_name)
Uses a dialog template and other information to create a modeless main window and controls in it...
MG_EXPORT void GUIAPI CheckDlgButton(HWND hDlg, LINT nIDDlgItem, int nCheck)
Changes the check status of a button control.
MG_EXPORT LRESULT GUIAPI DispatchMessage(PMSG pMsg)
Dispatches a message to the window's callback procedure.
MG_EXPORT int GUIAPI GetIMETargetInfo(IME_TARGET_INFO *info)
Retrives the target info of the current IME window.
struct _WINDOW_ELEMENT_ATTR WINDOW_ELEMENT_ATTR
MG_EXPORT BOOL GUIAPI ResetTimerEx(HWND hWnd, LINT id, DWORD speed, TIMERPROC timer_proc)
Adjusts a timer with a different timeout value or different timer callback procedure.
MG_EXPORT HWND GUIAPI GetMainWindowHandle(HWND hWnd)
Retrives the handle to the main window contains a window.
MG_EXPORT BOOL GUIAPI ShowCaretEx(HWND hWnd, BOOL ime)
Shows a caret.
MG_EXPORT void GUIAPI TermSystemBitmapEx(const char *id, const char *rdr_name, PBITMAP bmp)
Release the system bitmap object by identifier.
MG_EXPORT RES_KEY Str2Key(const char *str)
Translate a string to an unsigned long (RES_KEY), which is used to find a resource in the resource ma...
struct _CTRLDATA CTRLDATA
MG_EXPORT HWND GUIAPI GetNextHosted(HWND hHosting, HWND hHosted)
Retrives the next hosted main window of a main window.
MG_EXPORT gal_pixel GUIAPI SetWindowBkColor(HWND hWnd, gal_pixel new_bkcolor)
Sets the background color of a window.
MG_EXPORT HDC GUIAPI BeginPaint(HWND hWnd)
Prepares a window for painting.
MG_EXPORT int GUIAPI RegisterIMEWindow(HWND hWnd)
Registers an IME window.
MG_EXPORT HWND GUIAPI RegisterKeyHookWindow(HWND hwnd, DWORD flag)
Registers a key message hook window.
#define FALSE
FALSE value, defined as 0 by MiniGUI.
MG_EXPORT int GUIAPI PostQuitMessage(HWND hWnd)
Puts a MSG_QUIT message into the message queue of a main window.
void(* draw_normal_menu_item)(HWND hWnd, HDC hdc, const RECT *pRect, DWORD color)
MG_EXPORT BOOL GUIAPI EndDialog(HWND hDlg, int endCode)
Destroys a modal dialog box, causing MiniGUI to end any processing for the dialog box...
MG_EXPORT BOOL GUIAPI RegisterResFromMem(HDC hdc, const char *file, const unsigned char *data, size_t data_size)
Register a device-dependent bitmap to bitmap cache from memory.
unsigned int UINT
A type definition for unsigned integer.
struct _IME_TARGET_INFO IME_TARGET_INFO
MG_EXPORT BOOL GUIAPI ShowWindow(HWND hWnd, int iCmdShow)
Shows or hides a window.
MG_EXPORT BOOL GUIAPI MoveWindow(HWND hWnd, int x, int y, int w, int h, BOOL fPaint)
Changes the position and dimensions of a window.
MG_EXPORT int GUIAPI SetIMEStatus(int StatusCode, int Value)
Sets the status of the current IME window.
struct _WINDOW_ELEMENT_RENDERER WINDOW_ELEMENT_RENDERER
MG_EXPORT void GUIAPI EndPaint(HWND hWnd, HDC hdc)
Marks the end of painting in a window.
MG_EXPORT HWND GUIAPI ChildWindowFromPointEx(HWND hParent, POINT pt, UINT uFlags)
Retrives a handle to the child window that contains the speicified point and meets the certain criter...
void(* draw_disabled_menu_item)(HWND hWnd, HDC hdc, const RECT *pRect, DWORD color)
GHANDLE HMENU
Handle to menu.
MG_EXPORT BOOL GUIAPI ActiveCaret(HWND hWnd)
Activates the caret owned by a window.
MG_EXPORT BOOL GUIAPI ChangeCaretSize(HWND hWnd, int newWidth, int newHeight)
Changes the size of the caret.
MG_EXPORT BOOL GUIAPI AddWindowElementRenderer(const char *name, const WINDOW_ELEMENT_RENDERER *we_rdr)
Add a window element renderer to the system.
MG_EXPORT BOOL GUIAPI RegisterResFromBitmap(const char *file, const BITMAP *bmp)
Register a device-dependent bitmap to bitmap cache.
MG_EXPORT int AddResRef(RES_KEY key)
Increase the reference count of a buffered resource.
MG_EXPORT DWORD GUIAPI SetWindowElementAttr(HWND hwnd, int we_attr_id, DWORD we_attr)
Set a new window element data specified by we_attr_id.
MG_EXPORT HWND GUIAPI GetDlgDefPushButton(HWND hWnd)
Gets the default push button control in a window.
MG_EXPORT BOOL GUIAPI InvalidateRegion(HWND hWnd, const CLIPRGN *pRgn, BOOL bErase)
Invalidates the client area within the specified region.
MG_EXPORT BOOL GUIAPI RegisterResFromFile(HDC hdc, const char *file)
Register a device-dependent bitmap from a file.
#define WE_FONTS_NUMBER
The number of window element font attributes.
MG_EXPORT const BITMAP *GUIAPI GetSystemBitmapEx(const char *rdr_name, const char *id)
Retrives the system bitmap object by identifier.
MG_EXPORT HWND GUIAPI GetCapture(void)
Retrives the handle to the window (if any) that has captured the mouse.
MG_EXPORT HWND GUIAPI SetCapture(HWND hWnd)
Sets the mouse capture to the specified window.
MG_EXPORT WNDPROC GUIAPI GetWindowCallbackProc(HWND hWnd)
Retrives the callback procedure of a window.
WINDOW_ELEMENT_RENDERER * we_rdr
MG_EXPORT BOOL GUIAPI GetUpdateRect(HWND hWnd, RECT *update_rect)
Retrives the bounding box of the update region of a window.
MG_EXPORT HICON GUIAPI GetSmallSystemIconEx(HWND hWnd, int iItem)
Retrives a small system icon by its identifier.
MG_EXPORT int GUIAPI IsDlgButtonChecked(HWND hDlg, LINT idButton)
Determines whether a button control has a check mark next to it or whether a three-state button contr...
MG_EXPORT NOTIFPROC GUIAPI SetNotificationCallback(HWND hwnd, NOTIFPROC notif_proc)
Sets a new notification callback procedure for a control.
MG_EXPORT void GUIAPI ReleaseCapture(void)
Releases the mouse capture from a window and restores normal mouse input processing.
MG_EXPORT int GUIAPI ClientWidthToWindowWidthEx(DWORD dwStyle, int win_type, int cw)
Calculates main window width from the width of the client area.
MG_EXPORT BOOL GUIAPI DestroyCaret(HWND hWnd)
Destroys a caret.
MG_EXPORT int GUIAPI DeleteAccelerators(HACCEL hacc, int key, DWORD keymask)
Deletes an accelerator from the accelerator table.
MG_EXPORT HACCEL GUIAPI CreateAcceleratorTable(HWND hWnd)
Creates an empty accelerator table.
GHANDLE HICON
Handle to icon.
MG_EXPORT BOOL GUIAPI SetDlgItemInt(HWND hDlg, LINT nIDDlgItem, UINT uValue, BOOL bSigned)
Sets the text of a control in a dialog box to the string representation of a specified integer value...
MG_EXPORT BOOL GUIAPI IsDialog(HWND hWnd)
Determines whether a window handle identifies a dialog window.
MG_EXPORT BOOL GUIAPI SetWindowMask(HWND hWnd, const MYBITMAP *mask)
Set window (a main window, or a child window which is also known as "control")'s Mask Rect with MYBIT...
struct _WNDCLASS WNDCLASS