64 #ifndef _MGUI_WINDOW_H 65 #define _MGUI_WINDOW_H 77 #define MSG_NULLMSG 0x0000 78 #define MSG_SYNCMSG 0x0000 86 #define MSG_FIRSTMOUSEMSG 0x0001 110 #define MSG_LBUTTONDOWN 0x0001 131 #define MSG_LBUTTONUP 0x0002 152 #define MSG_LBUTTONDBLCLK 0x0003 173 #define MSG_MOUSEMOVE 0x0004 197 #define MSG_RBUTTONDOWN 0x0005 218 #define MSG_RBUTTONUP 0x0006 239 #define MSG_RBUTTONDBLCLK 0x0007 262 #define MSG_MBUTTONDOWN 0x0008 285 #define MSG_MBUTTONUP 0x0009 306 #define MSG_MBUTTONDBLCLK 0x000A 308 #define MSG_NCMOUSEOFF 0x000A 329 #define MSG_NCLBUTTONDOWN 0x000B 350 #define MSG_NCLBUTTONUP 0x000C 371 #define MSG_NCLBUTTONDBLCLK 0x000D 392 #define MSG_NCMOUSEMOVE 0x000E 413 #define MSG_NCRBUTTONDOWN 0x000F 434 #define MSG_NCRBUTTONUP 0x0010 455 #define MSG_NCRBUTTONDBLCLK 0x0011 476 #define MSG_NCMBUTTONDOWN 0x0012 497 #define MSG_NCMBUTTONUP 0x0013 518 #define MSG_NCMBUTTONDBLCLK 0x0014 520 #define MSG_LASTMOUSEMSG 0x0014 530 #define MSG_FIRSTKEYMSG 0x0015 554 #define MSG_KEYDOWN 0x0015 582 #define MSG_CHAR 0x0016 602 #define MSG_KEYUP 0x0017 622 #define MSG_SYSKEYDOWN 0x0018 642 #define MSG_SYSCHAR 0x0019 662 #define MSG_SYSKEYUP 0x001A 680 #define MSG_KEYLONGPRESS 0x001B 696 #define MSG_KEYALWAYSPRESS 0x001C 723 #define MSG_KEYSYM 0x001D 747 #define MSG_UTF8CHAR 0x001E 755 #define DEF_LPRESS_TIME 200 763 #define DEF_APRESS_TIME 1000 769 #define DEF_INTERVAL_TIME 200 771 extern DWORD __mg_key_longpress_time;
772 extern DWORD __mg_key_alwayspress_time;
773 extern DWORD __mg_interval_time;
779 #define SetKeyLongPressTime(time) \ 781 __mg_key_longpress_time = time; \ 788 #define SetKeyAlwaysPressTime(time) \ 790 __mg_key_alwayspress_time = time; \ 797 #define SetIntervalTime(time) \ 799 __mg_interval_time = time; \ 802 #define MSG_LASTKEYMSG 0x001F 812 #define MSG_FIRSTPOSTMSG 0x0020 838 #define MSG_SETCURSOR 0x0020 842 #define HT_UNKNOWN 0x00 844 #define HT_MENUBAR 0x02 845 #define HT_TRANSPARENT 0x03 847 #define HT_BORDER 0x04 848 #define HT_CLIENT 0x0C 850 #define HT_NEEDCAPTURE 0x10 852 #define HT_CLOSEBUTTON 0x15 853 #define HT_MAXBUTTON 0x16 854 #define HT_MINBUTTON 0x17 855 #define HT_HSCROLL 0x18 856 #define HT_VSCROLL 0x19 858 #define HT_DRAGGABLE 0x20 859 #define HT_CAPTION 0x20 862 #define HT_BORDER_MASK 0x28 863 #define HT_BORDER_TOP 0x28 864 #define HT_BORDER_BOTTOM 0x29 865 #define HT_BORDER_LEFT 0x2A 866 #define HT_BORDER_RIGHT 0x2B 869 #define HT_CORNER_MASK 0x2C 870 #define HT_CORNER_TL 0x2C 871 #define HT_CORNER_TR 0x2D 872 #define HT_CORNER_BL 0x2E 873 #define HT_CORNER_BR 0x2F 877 #define HT_SB_MASK 0x50 879 #define HT_SB_LEFTARROW 0x50 880 #define HT_SB_RIGHTARROW 0x51 881 #define HT_SB_LEFTSPACE 0x52 882 #define HT_SB_RIGHTSPACE 0x53 883 #define HT_SB_HTHUMB 0x54 885 #define HT_SB_VMASK 0x58 887 #define HT_SB_UPARROW 0x58 888 #define HT_SB_DOWNARROW 0x59 889 #define HT_SB_UPSPACE 0x5a 890 #define HT_SB_DOWNSPACE 0x5b 891 #define HT_SB_VTHUMB 0x5c 893 #define HT_SB_UNKNOWN 0x5f 896 #define HT_USER_MASK 0x80 904 #define MSG_NCHITTEST 0x0021 912 #define MSG_HITTEST MSG_NCHITTEST 918 #define MSG_CHANGESIZE 0x0022 921 #define MSG_QUERYNCRECT 0x0023 927 #define MSG_QUERYCLIENTAREA 0x0024 952 #define MSG_SIZECHANGING 0x0025 976 #define MSG_SIZECHANGED 0x0026 994 #define MSG_CSIZECHANGED 0x0027 1006 #define MSG_SETFOCUS 0x0030 1018 #define MSG_KILLFOCUS 0x0031 1028 #define MSG_MOUSEACTIVE 0x0032 1038 #define MSG_ACTIVE 0x0033 1044 #define MSG_CHILDHIDDEN 0x0034 1045 #define RCTM_CLICK 1 1047 #define RCTM_MESSAGE 3 1048 #define RCTM_SHOWCTRL 4 1074 #define MSG_ACTIVEMENU 0x0040 1093 #define MSG_DEACTIVEMENU 0x0041 1105 #define SB_LINEUP 0x01a 1112 #define SB_LINEDOWN 0x02 1119 #define SB_LINELEFT 0x03 1126 #define SB_LINERIGHT 0x04 1133 #define SB_PAGEUP 0x05 1140 #define SB_PAGEDOWN 0x06 1147 #define SB_PAGELEFT 0x07 1154 #define SB_PAGERIGHT 0x08 1161 #define SB_THUMBPOSITION 0x09 1168 #define SB_THUMBTRACK 0x0A 1182 #define SB_BOTTOM 0x0C 1189 #define SB_ENDSCROLL 0x0D 1221 #define MSG_HSCROLL 0x0042 1251 #define MSG_VSCROLL 0x0043 1265 #define MSG_NCSETCURSOR 0x0044 1282 #define MSG_MOUSEMOVEIN 0x0050 1289 #define MSG_WINDOWDROPPED 0x0051 1291 #define MSG_LASTPOSTMSG 0x005F 1301 #define MSG_FIRSTCREATEMSG 0x0060 1330 #define MSG_CREATE 0x0060 1360 #define MSG_NCCREATE 0x0061 1363 #define MSG_INITPANES 0x0062 1364 #define MSG_DESTROYPANES 0x0063 1379 #define MSG_DESTROY 0x0064 1382 #define MSG_NCDESTROY 0x0065 1391 #define MSG_CLOSE 0x0066 1394 #define MSG_NCCALCSIZE 0x0067 1405 #define MSG_MAXIMIZE 0x0068 1416 #define MSG_MINIMIZE 0x0069 1427 #define MSG_HELP 0x006A 1429 #define MSG_LASTCREATEMSG 0x006F 1460 #define MSG_FIRSTEXTRAINPUTMSG 0x0070 1462 #define AXIS_SCROLL_INVALID 0 1463 #define AXIS_SCROLL_VERTICAL 1 1464 #define AXIS_SCROLL_HORIZONTAL 2 1466 #define AXIS_SOURCE_INVALID 0 1467 #define AXIS_SOURCE_WHEEL 1 1468 #define AXIS_SOURCE_FINGER 2 1469 #define AXIS_SOURCE_CONTINUOUS 3 1470 #define AXIS_SOURCE_WHEEL_TILT 4 1493 #define MSG_EXIN_AXIS 0x0070 1513 #define MSG_EXIN_BUTTONDOWN 0x0071 1533 #define MSG_EXIN_BUTTONUP 0x0072 1547 #define MSG_EXIN_TOUCH_DOWN 0x0073 1555 #define MSG_EXIN_TOUCH_UP 0x0074 1569 #define MSG_EXIN_TOUCH_MOTION 0x0075 1577 #define MSG_EXIN_TOUCH_CANCEL 0x0076 1597 #define MSG_EXIN_TOUCH_FRAME 0x0077 1599 #define SWITCH_INVALID 0 1600 #define SWITCH_LID 1 1601 #define SWITCH_TABLET_MODE 2 1603 #define SWITCH_STATE_INVALID 0 1604 #define SWITCH_STATE_ON 1 1605 #define SWITCH_STATE_OFF 2 1622 #define MSG_EXIN_SWITCH_TOGGLE 0x007A 1635 #define MSG_EXIN_GESTURE_SWIPE_BEGIN 0x0080 1652 #define MSG_EXIN_GESTURE_SWIPE_UPDATE 0x0081 1667 #define MSG_EXIN_GESTURE_SWIPE_END 0x0082 1685 #define MSG_EXIN_GESTURE_PINCH_BEGIN 0x0083 1708 #define MSG_EXIN_GESTURE_PINCH_UPDATE 0x0084 1728 #define MSG_EXIN_GESTURE_PINCH_END 0x0085 1742 #define MSG_EXIN_END_CHANGES 0x008F 1744 #define TABLET_TOOL_X 0 1745 #define TABLET_TOOL_Y 1 1746 #define TABLET_TOOL_PRESSURE 2 1747 #define TABLET_TOOL_DISTANCE 3 1748 #define TABLET_TOOL_TILT_X 4 1749 #define TABLET_TOOL_TILT_Y 5 1750 #define TABLET_TOOL_ROTATION 6 1751 #define TABLET_TOOL_SLIDER 7 1752 #define TABLET_TOOL_SIZE_MAJOR 8 1753 #define TABLET_TOOL_SIZE_MINOR 9 1754 #define TABLET_TOOL_WHEEL 10 1756 #define TABLET_TOOL_PROXIMITY_STATE_INVALID 0 1757 #define TABLET_TOOL_PROXIMITY_STATE_OUT 1 1758 #define TABLET_TOOL_PROXIMITY_STATE_IN 2 1760 #define TABLET_TOOL_TIP_INVALID 0 1761 #define TABLET_TOOL_TIP_UP 1 1762 #define TABLET_TOOL_TIP_DOWN 2 1764 #define TABLET_BUTTON_STATE_INVALID 0 1765 #define TABLET_BUTTON_STATE_RELEASED 1 1766 #define TABLET_BUTTON_STATE_PRESSED 2 1816 #define MSG_EXIN_TABLET_TOOL_AXIS 0x0090 1839 #define MSG_EXIN_TABLET_TOOL_PROXIMITY 0x0091 1862 #define MSG_EXIN_TABLET_TOOL_TIP 0x0092 1879 #define MSG_EXIN_TABLET_TOOL_BUTTON 0x0093 1898 #define MSG_EXIN_TABLET_PAD_BUTTON 0x0094 1900 #define TABLET_PAD_RING_SOURCE_UNKNOWN 0 1901 #define TABLET_PAD_RING_SOURCE_FINGER 1 1926 #define MSG_EXIN_TABLET_PAD_RING 0x0095 1928 #define TABLET_PAD_STRIP_SOURCE_UNKNOWN 0 1929 #define TABLET_PAD_STRIP_SOURCE_FINGER 1 1953 #define MSG_EXIN_TABLET_PAD_STRIP 0x0096 1968 #define MSG_EXIN_USER_BEGIN 0x009A 1983 #define MSG_EXIN_USER_UPDATE 0x009B 1998 #define MSG_EXIN_USER_END 0x009C 2000 #define MSG_LASTEXTRAINPUTMSG 0x009F 2010 #define MSG_FIRSTPAINTMSG 0x00A0 2036 #define MSG_SHOWWINDOW 0x00A0 2056 #define MSG_ERASEBKGND 0x00B0 2071 #define MSG_PAINT 0x00B1 2088 #define MSG_NCPAINT 0x00B2 2094 #define MSG_NCACTIVATE 0x00B3 2100 #define MSG_SYNCPAINT 0x00B4 2102 #define MSG_LASTPAINTMSG 0x00BF 2112 #define MSG_FIRSTSESSIONMSG 0x00C0 2114 #define MSG_STARTSESSION 0x00C0 2115 #define MSG_QUERYENDSESSION 0x00C1 2116 #define MSG_ENDSESSION 0x00C2 2117 #define MSG_REINITSESSION 0x00C3 2119 #define MSG_ERASEDESKTOP 0x00CE 2120 #define MSG_PAINTDESKTOP 0x00CF 2122 #define MSG_DT_MOUSEOFF 0x00D0 2141 #define MSG_DT_LBUTTONDOWN 0x00D1 2160 #define MSG_DT_LBUTTONUP 0x00D2 2179 #define MSG_DT_LBUTTONDBLCLK 0x00D3 2198 #define MSG_DT_MOUSEMOVE 0x00D4 2218 #define MSG_DT_RBUTTONDOWN 0x00D5 2237 #define MSG_DT_RBUTTONUP 0x00D6 2256 #define MSG_DT_RBUTTONDBLCLK 0x00D7 2276 #define MSG_DT_MBUTTONDOWN 0x00D8 2295 #define MSG_DT_MBUTTONUP 0x00D9 2314 #define MSG_DT_MBUTTONDBLCLK 0x00DA 2316 #define MSG_DT_KEYOFF 0x00CB 2335 #define MSG_DT_KEYDOWN 0x00E0 2337 #define MSG_DT_CHAR 0x00E1 2355 #define MSG_DT_KEYUP 0x00E2 2357 #define MSG_DT_SYSKEYDOWN 0x00E3 2358 #define MSG_DT_SYSCHAR 0x00E4 2359 #define MSG_DT_SYSKEYUP 0x00E5 2361 #define MSG_DT_KEYLONGPRESS 0x00E6 2362 #define MSG_DT_KEYALWAYSPRESS 0x00E7 2364 #define MSG_LASTSESSIONMSG 0x00EF 2374 #define MSG_FIRSTWINDOWMSG 0x00F0 2376 #define MSG_ADDNEWMAINWIN 0x00F0 2377 #define MSG_REMOVEMAINWIN 0x00F1 2378 #define MSG_MOVETOTOPMOST 0x00F2 2379 #define MSG_SETACTIVEMAIN 0x00F3 2380 #define MSG_GETACTIVEMAIN 0x00F4 2381 #define MSG_SHOWMAINWIN 0x00F5 2382 #define MSG_HIDEMAINWIN 0x00F6 2383 #define MSG_MOVEMAINWIN 0x00F7 2384 #define MSG_SETCAPTURE 0x00F8 2385 #define MSG_GETCAPTURE 0x00F9 2387 #define MSG_ENDTRACKMENU 0x00FA 2388 #define MSG_TRACKPOPUPMENU 0x00FB 2389 #define MSG_CLOSEMENU 0x00FC 2390 #define MSG_SCROLLMAINWIN 0x00FD 2391 #define MSG_CARET_CREATE 0x00FE 2392 #define MSG_CARET_DESTROY 0x00FF 2394 #define MSG_ENABLEMAINWIN 0x0100 2395 #define MSG_ISENABLED 0x0101 2397 #define MSG_SETWINCURSOR 0x0102 2399 #define MSG_GETNEXTMAINWIN 0x0103 2401 #define MSG_SHOWGLOBALCTRL 0x010A 2402 #define MSG_HIDEGLOBALCTRL 0x010B 2404 typedef struct _DRAGINFO {
2410 #define MSG_STARTDRAGWIN 0x010C 2412 #define MSG_CANCELDRAGWIN 0x010D 2414 #define MSG_CHANGECAPTION 0x010E 2416 #define MSG_LASTWINDOWMSG 0x010F 2426 #define MSG_FIRSTCONTROLMSG 0x0120 2457 #define MSG_COMMAND 0x0120 2463 #define MSG_SYSCOMMAND 0x0121 2469 #define MSG_GETDLGCODE 0x0122 2497 #define MSG_INITDIALOG 0x0123 2500 #define MSG_NEXTDLGCTRL 0x0124 2501 #define MSG_ENTERIDLE 0x0125 2507 #define MSG_DLG_GETDEFID 0x0126 2513 #define MSG_DLG_SETDEFID 0x0127 2523 #define MSG_ISDIALOG 0x0128 2542 #define MSG_INITPAGE 0x0129 2564 #define MSG_SHOWPAGE 0x012A 2585 #define MSG_SHEETCMD 0x012B 2606 #define MSG_INITCONTAINER 0x012C 2636 #define MSG_SVCONTCMD 0x012D 2656 #define MSG_FREEZECTRL 0x012E 2676 #define MSG_FONTCHANGING 0x0130 2686 #define MSG_FONTCHANGED 0x0131 2705 #define MSG_GETTEXTLENGTH 0x0132 2729 #define MSG_GETTEXT 0x0133 2751 #define MSG_SETTEXT 0x0134 2766 #define MSG_ENABLE 0x0135 2768 #define MSG_LASTCONTROLMSG 0x013F 2778 #define MSG_FIRSTSYSTEMMSG 0x0140 2780 #define MSG_QUIT 0x0140 2789 #define MSG_IDLE 0x0142 2791 #define MSG_TIMEOUT 0x0143 2808 #define MSG_TIMER 0x0144 2810 #define MSG_CARETBLINK 0x0145 2812 #ifndef _MGRM_THREADS 2841 #define MSG_FDEVENT 0x0146 2856 #define MSG_SRVNOTIFY 0x0147 2858 #ifdef _MGRM_PROCESSES 2859 #define MSG_UPDATECLIWIN 0x0148 2877 #define MSG_DOESNEEDIME 0x0150 2880 #define IME_STATUS_REGISTERED 0x0000 2881 #define IME_STATUS_ENABLED 0x0001 2882 #define IME_STATUS_AUTOTRACK 0x0002 2883 #define IME_STATUS_LANGUAGE 0x0003 2884 #define IME_LANGUAGE_UNKNOWN 0x0000 2885 #define IME_LANGUAGE_LATIN 0x0001 2886 #define IME_LANGUAGE_ZHCN 0x0002 2887 #define IME_LANGUAGE_ZHTW 0x0003 2888 #define IME_STATUS_ENCODING 0x0004 2889 #define IME_ENCODING_LOCAL 0x0000 2890 #define IME_ENCODING_UTF8 0x0001 2891 #define IME_STATUS_VERSION 0x0005 2892 #define IME_STATUS_USER_MIN 0x0006 2893 #define IME_STATUS_USER_MAX 0x0020 2896 #define IME_WINDOW_TYPE_NOT_EDITABLE 0x0000 2897 #define IME_WINDOW_TYPE_EDITABLE 0x0001 2898 #define IME_WINDOW_TYPE_READONLY 0x0002 2899 #define IME_WINDOW_TYPE_PASSWORD 0x0003 2902 #define MSG_IME_REGISTER 0x0151 2903 #define MSG_IME_UNREGISTER 0x0152 2904 #define MSG_IME_OPEN 0x0153 2905 #define MSG_IME_CLOSE 0x0154 2906 #define MSG_IME_SETSTATUS 0x0156 2907 #define MSG_IME_GETSTATUS 0x0157 2908 #define MSG_IME_SETTARGET 0x0158 2909 #define MSG_IME_GETTARGET 0x0159 2910 #define MSG_IME_SETPOS 0x015A 2911 #define MSG_IME_GETPOS 0x015B 2914 #define MSG_IME_SET_TARGET_INFO 0x015C 2915 #define MSG_IME_GET_TARGET_INFO 0x015D 2917 #define MSG_SHOWMENU 0x0160 2918 #define MSG_HIDEMENU 0x0161 2920 #define MSG_ADDTIMER 0x0162 2921 #define MSG_REMOVETIMER 0x0163 2922 #define MSG_RESETTIMER 0x0164 2924 #define MSG_WINDOWCHANGED 0x0165 2926 #define MSG_BROADCASTMSG 0x0166 2928 #define MSG_REGISTERWNDCLASS 0x0167 2929 #define MSG_UNREGISTERWNDCLASS 0x0168 2930 #define MSG_NEWCTRLINSTANCE 0x0169 2931 #define MSG_REMOVECTRLINSTANCE 0x016A 2932 #define MSG_GETCTRLCLASSINFO 0x016B 2933 #define MSG_CTRLCLASSDATAOP 0x016C 2934 #define CCDOP_GETCCI 0x01 2935 #define CCDOP_SETCCI 0x02 2937 #define MSG_REGISTERKEYHOOK 0x016D 2938 #define MSG_REGISTERMOUSEHOOK 0x016E 2940 #define MSG_LASTSYSTEMMSG 0x016F 2950 #define MSG_FIRSTMENUMSG 0x0170 2953 #define MSG_INITMENU 0x0170 2954 #define MSG_INITMENUPOPUP 0x0171 2955 #define MSG_MENUSELECT 0x0172 2956 #define MSG_MENUCHAR 0x0173 2957 #define MSG_ENTERMENULOOP 0x0174 2958 #define MSG_EXITMENULOOP 0x0175 2959 #define MSG_CONTEXTMENU 0x0176 2960 #define MSG_NEXTMENU 0x0177 2962 #define MSG_LASTMENUMSG 0x018F 2971 #define MSG_FIRSTUSERMSG 0x0800 2981 #define MSG_USER 0x0800 2983 #define MSG_LASTUSERMSG 0xEFFF 3020 #ifdef _MGRM_THREADS 3027 #define QS_NOTIFYMSG 0x10000000 3028 #ifdef _MGRM_THREADS 3029 #define QS_SYNCMSG 0x20000000 3031 #define QS_DESKTIMER 0x20000000 3033 #define QS_POSTMSG 0x40000000 3034 #define QS_QUIT 0x80000000 3035 #define QS_INPUT 0x01000000 3036 #define QS_PAINT 0x02000000 3037 #define QS_TIMER 0x0000FFFF 3038 #define QS_EMPTY 0x00000000 3045 #define PM_NOREMOVE 0x0000 3052 #define PM_REMOVE 0x0001 3059 #define PM_NOYIELD 0x0002 3089 UINT nMsgFilterMin,
UINT nMsgFilterMax,
3176 UINT nMsgFilterMax,
UINT uRemoveMsg)
3178 return PeekMessageEx (pMsg, hWnd, nMsgFilterMin, nMsgFilterMax,
3209 UINT nMsgFilterMax,
UINT uRemoveMsg);
3271 #ifndef _MGRM_THREADS 3279 #define SendAsyncMessage SendMessage 3281 #ifdef _MGRM_PROCESSES 3283 #define CLIENTS_TOPMOST -1 3284 #define CLIENTS_ALL -2 3285 #define CLIENTS_EXCEPT_TOPMOST -3 3286 #define CLIENT_ACTIVE -4 3463 #define KBD_LAYOUT_DEFAULT "default" 3464 #define KBD_LAYOUT_FRPC "frpc" 3465 #define KBD_LAYOUT_FR "fr" 3466 #define KBD_LAYOUT_DE "de" 3467 #define KBD_LAYOUT_DELATIN1 "delatin1" 3468 #define KBD_LAYOUT_IT "it" 3469 #define KBD_LAYOUT_ES "es" 3470 #define KBD_LAYOUT_ESCP850 "escp850" 3471 #define KBD_LAYOUT_HEBREW "hebrew" 3472 #define KBD_LAYOUT_ARABIC "arabic" 3513 #ifdef _MGCHARSET_UNICODE 3518 MG_EXPORT
int GUIAPI ToUnicode (
UINT keycode,
const BYTE* kbd_state,
3519 wchar_t* wcs,
int wcs_len,
const char* kbd_layout);
3521 MG_EXPORT
int GUIAPI ToAscii (
UINT keycode,
const BYTE* kbd_state,
3522 WORD* ch,
const char* kbd_layout);
3605 #ifndef _MGRM_THREADS 3625 #ifdef _MGHAVE_MSG_STRING 3641 MG_EXPORT
const char* GUIAPI Message2Str (
UINT message);
3659 MG_EXPORT
void GUIAPI PrintMessage (FILE* fp,
HWND hWnd,
3683 #ifndef _MGRM_PROCESSES 3691 typedef int (* MSGHOOK)(
void* context,
HWND dst_wnd,
3697 typedef struct _HOOKINFO
3721 MG_EXPORT MSGHOOK GUIAPI RegisterKeyMsgHook (
void* context, MSGHOOK hook);
3739 MG_EXPORT MSGHOOK GUIAPI RegisterMouseMsgHook (
void* context, MSGHOOK hook);
3743 #ifndef _MGRM_THREADS 3775 #ifdef _MGRM_PROCESSES 3838 #define WS_CTRLMASK 0x0000FFFFL 3844 #define WS_NONE 0x00000000L 3850 #define WS_CHILD 0x40000000L 3856 #define WS_CAPTION 0x20000000L 3862 #define WS_SYSMENU 0x10000000L 3868 #define WS_VISIBLE 0x08000000L 3874 #define WS_DISABLED 0x04000000L 3877 #define WS_MINIMIZE 0x02000000L 3878 #define WS_MAXIMIZE 0x01000000L 3885 #define WS_DLGFRAME 0x00800000L 3891 #define WS_BORDER 0x00400000L 3897 #define WS_THICKFRAME 0x00200000L 3903 #define WS_THINFRAME 0x00100000L 3909 #define WS_VSCROLL 0x00080000L 3915 #define WS_HSCROLL 0x00040000L 3922 #define WS_GROUP 0x00020000L 3930 #define WS_TABSTOP 0x00010000L 3939 #define WS_MINIMIZEBOX 0x00020000L 3948 #define WS_MAXIMIZEBOX 0x00010000L 3951 #define WS_OVERLAPPED 0x00000000L 3952 #define WS_ABSSCRPOS 0x00000000L 3958 #define WS_EX_CONTROL_MASK 0x0000000FL 3964 #define WS_EX_INTERNAL_MASK 0xF0000000L 3970 #define WS_EX_NONE 0x00000000L 3976 #define WS_EX_TROUNDCNS 0x00000010L 3982 #define WS_EX_BROUNDCNS 0x00000020L 3990 #define WS_EX_USEPRIVATECDC 0x00000040L 3996 #define WS_EX_NOTDRAGGABLE 0x00000080L 3997 #define WS_EX_DRAGGABLE 0x00000000L 4003 #define WS_EX_USEPARENTFONT 0x00000100L 4009 #define WS_EX_USEPARENTCURSOR 0x00000200L 4015 #define WS_EX_USEPARENTRDR 0x00000400L 4023 #define WS_EX_NOPARENTNOTIFY 0x00000800L 4031 #define WS_EX_AUTOSECONDARYDC 0x00001000L 4038 #define WS_EX_TRANSPARENT 0x00002000L 4044 #define WS_EX_TOPMOST 0x00004000L 4050 #define WS_EX_TOOLWINDOW 0x00008000L 4053 #define WS_EX_RIGHT 0x00010000L 4054 #define WS_EX_LEFT 0x00000000L 4055 #define WS_EX_RTLREADING 0x00020000L 4056 #define WS_EX_LTRREADING 0x00000000L 4062 #define WS_EX_LEFTSCROLLBAR 0x00040000L 4068 #define WS_EX_RIGHTSCROLLBAR 0x00000000L 4074 #define WS_EX_DLGHIDE 0x00100000L 4080 #define WS_EX_NOCLOSEBOX 0x00400000L 4086 #define WS_EX_CLIPCHILDREN 0x00800000L 4092 #define WS_EX_LFRDR_MASK 0x0F000000L 4099 #define WS_EX_LFRDR_CUSTOM1 0x01000000L 4107 #define WS_EX_LFRDR_CUSTOM2 0x02000000L 4115 #define WS_EX_LFRDR_CUSTOM3 0x04000000L 4123 #define WS_EX_LFRDR_CUSTOM4 0x08000000L 4126 #define WS_EX_IMECOMPOSE 0x00000000L 4144 #define WE_FONTS_NUMBER 4 4150 #define WE_METRICS_NUMBER 6 4156 #define WE_COLORS_NUMBER 14 4159 #define WE_ATTR_TYPE_MASK 0xF000 4160 #define WE_ATTR_TYPE_COLOR_MASK 0x0F00 4161 #define WE_ATTR_INDEX_MASK 0x00FF 4163 #define WE_ATTR_TYPE_FONT 0x1000 4164 #define WE_ATTR_TYPE_METRICS 0x2000 4166 #define WE_ATTR_TYPE_COLOR 0x3000 4167 #define WE_ATTR_TYPE_FGC 0x3000 4168 #define WE_ATTR_TYPE_BGCA 0x3100 4169 #define WE_ATTR_TYPE_BGCB 0x3200 4172 #define WE_CAPTION 0 4174 #define WE_MESSAGEBOX 2 4175 #define WE_TOOLTIP 3 4176 #define WE_WND_BORDER 4 4177 #define WE_SCROLLBAR 5 4178 #define WE_INACTIVE_CAPTION 6 4180 #define WE_THREED_BODY 8 4181 #define WE_SELECTED_ITEM 9 4182 #define WE_DISABLED_ITEM 10 4183 #define WE_HIGHLIGHT_ITEM 11 4184 #define WE_SIGNIFICANT_ITEM 12 4185 #define WE_DESKTOP 13 4190 #define WE_FONT_CAPTION (WE_CAPTION | WE_ATTR_TYPE_FONT) 4191 #define WE_METRICS_CAPTION (WE_CAPTION | WE_ATTR_TYPE_METRICS) 4192 #define WE_FGC_ACTIVE_CAPTION (WE_CAPTION | WE_ATTR_TYPE_FGC) 4193 #define WE_BGCA_ACTIVE_CAPTION (WE_CAPTION | WE_ATTR_TYPE_BGCA) 4194 #define WE_BGCB_ACTIVE_CAPTION (WE_CAPTION | WE_ATTR_TYPE_BGCB) 4197 #define WE_FONT_MENU (WE_MENU | WE_ATTR_TYPE_FONT) 4198 #define WE_METRICS_MENU (WE_MENU | WE_ATTR_TYPE_METRICS) 4199 #define WE_FGC_MENU (WE_MENU | WE_ATTR_TYPE_FGC) 4200 #define WE_BGC_MENU (WE_MENU | WE_ATTR_TYPE_BGCA) 4203 #define WE_FONT_MESSAGEBOX (WE_MESSAGEBOX | WE_ATTR_TYPE_FONT) 4204 #define WE_FGC_MESSAGEBOX (WE_MESSAGEBOX | WE_ATTR_TYPE_FGC) 4207 #define WE_FONT_TOOLTIP (WE_TOOLTIP | WE_ATTR_TYPE_FONT) 4208 #define WE_FGC_TOOLTIP (WE_TOOLTIP | WE_ATTR_TYPE_FGC) 4209 #define WE_BGC_TOOLTIP (WE_TOOLTIP | WE_ATTR_TYPE_BGCA) 4212 #define WE_METRICS_WND_BORDER (WE_WND_BORDER | WE_ATTR_TYPE_METRICS) 4213 #define WE_FGC_ACTIVE_WND_BORDER (WE_WND_BORDER | WE_ATTR_TYPE_FGC) 4214 #define WE_FGC_INACTIVE_WND_BORDER (WE_WND_BORDER | WE_ATTR_TYPE_BGCA) 4217 #define WE_METRICS_SCROLLBAR (WE_SCROLLBAR | WE_ATTR_TYPE_METRICS) 4220 #define WE_FGC_INACTIVE_CAPTION (WE_INACTIVE_CAPTION | WE_ATTR_TYPE_FGC) 4221 #define WE_BGCA_INACTIVE_CAPTION (WE_INACTIVE_CAPTION | WE_ATTR_TYPE_BGCA) 4222 #define WE_BGCB_INACTIVE_CAPTION (WE_INACTIVE_CAPTION | WE_ATTR_TYPE_BGCB) 4225 #define WE_FGC_WINDOW (WE_WINDOW | WE_ATTR_TYPE_FGC) 4226 #define WE_BGC_WINDOW (WE_WINDOW | WE_ATTR_TYPE_BGCA) 4229 #define WE_FGC_THREED_BODY (WE_THREED_BODY | WE_ATTR_TYPE_FGC) 4230 #define WE_MAINC_THREED_BODY (WE_THREED_BODY | WE_ATTR_TYPE_BGCA) 4233 #define WE_FGC_SELECTED_ITEM (WE_SELECTED_ITEM | WE_ATTR_TYPE_FGC) 4234 #define WE_BGC_SELECTED_ITEM (WE_SELECTED_ITEM | WE_ATTR_TYPE_BGCA) 4235 #define WE_BGC_SELECTED_LOSTFOCUS (WE_SELECTED_ITEM | WE_ATTR_TYPE_BGCB) 4238 #define WE_FGC_DISABLED_ITEM (WE_DISABLED_ITEM | WE_ATTR_TYPE_FGC) 4239 #define WE_BGC_DISABLED_ITEM (WE_DISABLED_ITEM | WE_ATTR_TYPE_BGCA) 4242 #define WE_FGC_HIGHLIGHT_ITEM (WE_HIGHLIGHT_ITEM | WE_ATTR_TYPE_FGC) 4243 #define WE_BGC_HIGHLIGHT_ITEM (WE_HIGHLIGHT_ITEM | WE_ATTR_TYPE_BGCA) 4246 #define WE_FGC_SIGNIFICANT_ITEM (WE_SIGNIFICANT_ITEM | WE_ATTR_TYPE_FGC) 4247 #define WE_BGC_SIGNIFICANT_ITEM (WE_SIGNIFICANT_ITEM | WE_ATTR_TYPE_BGCA) 4250 #define WE_BGC_DESKTOP (WE_DESKTOP | WE_ATTR_TYPE_BGCA) 4252 #define WE_ATTR_TYPE_ICON 0x4000 4253 #define WE_ATTR_TYPE_ICON_MASK 0x0F00 4254 #define WE_ATTR_TYPE_SMALLICON 0x4000 4255 #define WE_ATTR_TYPE_LARGEICON 0x4100 4257 #define WE_LARGEICON_APPLICATION (WE_ATTR_TYPE_LARGEICON | 0x00) 4258 #define WE_LARGEICON_HAND (WE_ATTR_TYPE_LARGEICON | 0x01) 4259 #define WE_LARGEICON_QUESTION (WE_ATTR_TYPE_LARGEICON | 0x02) 4260 #define WE_LARGEICON_EXCLAMATION (WE_ATTR_TYPE_LARGEICON | 0x03) 4261 #define WE_LARGEICON_ASTERISK (WE_ATTR_TYPE_LARGEICON | 0x04) 4262 #define WE_LARGEICON_STOP WE_LARGEICON_HAND 4263 #define WE_LARGEICON_INFORMATION WE_LARGEICON_ASTERISK 4265 #define WE_SMALLICON_APPLICATION (WE_ATTR_TYPE_SMALLICON | 0x00) 4266 #define WE_SMALLICON_HAND (WE_ATTR_TYPE_SMALLICON | 0x01) 4267 #define WE_SMALLICON_QUESTION (WE_ATTR_TYPE_SMALLICON | 0x02) 4268 #define WE_SMALLICON_EXCLAMATION (WE_ATTR_TYPE_SMALLICON | 0x03) 4269 #define WE_SMALLICON_ASTERISK (WE_ATTR_TYPE_SMALLICON | 0x04) 4270 #define WE_SMALLICON_STOP WE_SMALLICON_HAND 4271 #define WE_SMALLICON_INFORMATION WE_SMALLICON_ASTERISK 4277 #define WE_ATTR_TYPE_RDR 0x5000 4279 #define WE_LFFLAT_NUMBER 1 4280 #ifdef _MGLF_RDR_FLAT 4282 #define WE_LFFLAT_TAB_NRMLCLR (WE_ATTR_TYPE_RDR | 0) 4285 #define WE_LFSKIN_NUMBER 28 4286 #ifdef _MGLF_RDR_SKIN 4287 #define WE_LFSKIN_WND_BKGND (WE_ATTR_TYPE_RDR | 0) 4289 #define WE_LFSKIN_CAPTION (WE_ATTR_TYPE_RDR | 1) 4290 #define WE_LFSKIN_CAPTION_BTN (WE_ATTR_TYPE_RDR | 2) 4292 #define WE_LFSKIN_SCROLLBAR_VSHAFT (WE_ATTR_TYPE_RDR | 3) 4293 #define WE_LFSKIN_SCROLLBAR_VTHUMB (WE_ATTR_TYPE_RDR | 4) 4294 #define WE_LFSKIN_SCROLLBAR_HSHAFT (WE_ATTR_TYPE_RDR | 5) 4295 #define WE_LFSKIN_SCROLLBAR_HTHUMB (WE_ATTR_TYPE_RDR | 6) 4296 #define WE_LFSKIN_SCROLLBAR_ARROWS (WE_ATTR_TYPE_RDR | 7) 4298 #define WE_LFSKIN_BORDER_TOP (WE_ATTR_TYPE_RDR | 8) 4299 #define WE_LFSKIN_BORDER_BOTTOM (WE_ATTR_TYPE_RDR | 9) 4300 #define WE_LFSKIN_BORDER_LEFT (WE_ATTR_TYPE_RDR | 10) 4301 #define WE_LFSKIN_BORDER_RIGHT (WE_ATTR_TYPE_RDR | 11) 4303 #define WE_LFSKIN_ARROWS (WE_ATTR_TYPE_RDR | 12) 4304 #define WE_LFSKIN_ARROWS_SHELL (WE_ATTR_TYPE_RDR | 13) 4306 #define WE_LFSKIN_RADIOBUTTON (WE_ATTR_TYPE_RDR | 14) 4307 #define WE_LFSKIN_CHECKBUTTON (WE_ATTR_TYPE_RDR | 15) 4308 #define WE_LFSKIN_PUSHBUTTON (WE_ATTR_TYPE_RDR | 16) 4310 #define WE_LFSKIN_TREE (WE_ATTR_TYPE_RDR | 17) 4312 #define WE_LFSKIN_HEADER (WE_ATTR_TYPE_RDR | 18) 4313 #define WE_LFSKIN_TAB (WE_ATTR_TYPE_RDR | 19) 4315 #define WE_LFSKIN_PROGRESS_HCHUNK (WE_ATTR_TYPE_RDR | 20) 4316 #define WE_LFSKIN_PROGRESS_VCHUNK (WE_ATTR_TYPE_RDR | 21) 4317 #define WE_LFSKIN_PROGRESS_HTRACKBAR (WE_ATTR_TYPE_RDR | 22) 4318 #define WE_LFSKIN_PROGRESS_VTRACKBAR (WE_ATTR_TYPE_RDR | 23) 4320 #define WE_LFSKIN_TBSLIDER_H (WE_ATTR_TYPE_RDR | 24) 4321 #define WE_LFSKIN_TRACKBAR_VERT (WE_ATTR_TYPE_RDR | 25) 4322 #define WE_LFSKIN_TRACKBAR_HORZ (WE_ATTR_TYPE_RDR | 26) 4323 #define WE_LFSKIN_TBSLIDER_V (WE_ATTR_TYPE_RDR | 27) 4337 #define SBS_NORMAL 0x00 4338 #define SBS_DISABLED 0x01 4339 #define SBS_HIDE 0x02 4397 #define SBS_DISABLED_LTUP 0x0100 4400 #define SBS_DISABLED_BTDN 0x0200 4403 #define SBS_HILITE_LTUP 0x0400 4406 #define SBS_HILITE_BTDN 0x0800 4409 #define SBS_HILITE_THUMB 0x0010 4412 #define SBS_PRESSED_LTUP 0x0020 4415 #define SBS_PRESSED_BTDN 0x0040 4418 #define SBS_PRESSED_THUMB 0x0080 4421 #define LFRDR_WINTYPE_UNKNOWN 0 4422 #define LFRDR_WINTYPE_DIALOG 1 4423 #define LFRDR_WINTYPE_MAINWIN 2 4424 #define LFRDR_WINTYPE_CONTROL 3 4458 #define LFRDR_METRICS_MASK 0xFF00 4459 #define LFRDR_METRICS_BORDER 0x0100 4460 #define LFRDR_METRICS_CAPTION_H 0x0200 4461 #define LFRDR_METRICS_ICON_H 0x0300 4462 #define LFRDR_METRICS_ICON_W 0x0400 4463 #define LFRDR_METRICS_MENU_H 0x0500 4464 #define LFRDR_METRICS_VSCROLL_W 0x0600 4465 #define LFRDR_METRICS_HSCROLL_H 0x0700 4466 #define LFRDR_METRICS_MINWIN_WIDTH 0x0800 4467 #define LFRDR_METRICS_MINWIN_HEIGHT 0x0900 4469 #define LFRDR_SB_MINBARLEN 10 4475 #define LEN_RENDERER_NAME 15 4478 #define LFRDR_BTN_STATUS_MASK 0x03 4479 #define LFRDR_BTN_STATUS_NORMAL 0x00 4480 #define LFRDR_BTN_STATUS_HILITE 0x01 4481 #define LFRDR_BTN_STATUS_PRESSED 0x02 4482 #define LFRDR_BTN_STATUS_DISABLED 0x03 4485 #define LFRDR_BTN_STATUS_SELECTED 0x04 4488 #define LFRDR_BTN_STATUS_INACTIVE 0x08 4491 #define LFRDR_3DBOX_THICKFRAME 0x20 4494 #define LFRDR_3DBOX_FILLED 0x40 4497 #define LFRDR_MARK_SELECTED_MASK 0x05 4498 #define LFRDR_MARK_ALL_SELECTED 0x01 4499 #define LFRDR_MARK_HALF_SELECTED 0x04 4502 #define LFRDR_MARK_HAVESHELL 0x02 4505 #define LFRDR_ARROW_DIRECT_MASK 0x0F00 4506 #define LFRDR_ARROW_LEFT 0x0000 4507 #define LFRDR_ARROW_RIGHT 0x0100 4508 #define LFRDR_ARROW_UP 0x0200 4509 #define LFRDR_ARROW_DOWN 0x0300 4512 #define LFRDR_ARROW_NOFILL 0x1000 4513 #define LFRDR_ARROW_HAVESHELL 0x2000 4516 #define LFRDR_MENUITEMOFFY_MIN 4 4518 #define LFRDR_3DBOX_COLOR_LIGHTEST 0x01 4519 #define LFRDR_3DBOX_COLOR_DARKEST 0x02 4520 #define LFRDR_3DBOX_COLOR_LIGHTER 0x03 4521 #define LFRDR_3DBOX_COLOR_DARKER 0x04 4524 #define LFRDR_TAB_BOTTOM 0x0001 4525 #define LFRDR_TAB_ACTIVE 0x0010 4526 #define LFRDR_TAB_ICON 0x0100 4529 #define LFRDR_TREE_WITHICON 0x08 4530 #define LFRDR_TREE_FOLD 0x01 4533 #define LFRDR_TREE_CHILD 0x02 4534 #define LFRDR_TREE_NEXT 0x04 4536 #define SYSICO_ITEM_NUMBER 5 4547 int (*init) (PWERENDERER renderer);
4553 int (*deinit) (PWERENDERER renderer);
4649 int status,
int next);
4702 void (*draw_radio_button) (
HWND hWnd,
HDC hdc,
const RECT* pRect,
int status);
4720 void (*draw_check_button) (
HWND hWnd,
HDC hdc,
const RECT* pRect,
int status);
4741 void (*draw_caption_button) (
HWND hwnd,
HDC hdc,
int ht_code,
int state);
4757 void (*draw_scrollbar) (
HWND hWnd,
HDC hdc,
int sb_pos);
4773 int (*calc_we_area) (
HWND hWnd,
int which,
RECT* we_area);
4805 int (*hit_test) (
HWND hWnd,
int x,
int y);
4808 int (*on_click_hotspot) (
HWND hWnd,
int which);
4819 void (*draw_custom_hotspot) (
HWND hWnd,
HDC hdc,
int ht_code,
int state);
4831 void (*disabled_text_out) (
HWND hWnd,
HDC hdc,
const char* spText,
4849 int nMax,
int nMin,
int nPos,
BOOL fVertical);
5117 HDC hdc,
int we_attr_id);
5281 const unsigned char* data,
size_t data_size);
5364 typedef DWORD RES_KEY;
5365 #define RES_KEY_INVALID 0 5368 typedef struct _INNER_RES {
5378 const void* additional;
5383 RES_TYPE_INVALID = 0xFF,
5403 #ifdef _MGHAVE_CURSOR 5448 RES_TYPE_USER_MAX = 0x7F
5452 typedef struct _MEM_RES {
5457 typedef struct _FONT_RES {
5468 #define REF_SRC_NOTYPE 0x00 5471 #define REF_SRC_FILE 0x01 5474 #define REF_SRC_INNER 0x02 5477 #define REF_SRC_SHARED 0x03 5480 #define REF_SRC_OUTSIDE 0x04 5483 #define REF_SRC_STREAM 0x05 5486 #define REF_SRC_LOGIC 0x06 5489 typedef struct _RESOURCE {
5499 typedef struct _RES_TYPE_OPS {
5506 void* (*get_res_data)(RESOURCE* res,
int src_type,
DWORD usr_param);
5509 void (*unload)(RESOURCE* res,
int src_type);
5515 RES_RET_INVALID_PARAM,
5516 RES_RET_NOT_EXIST_KEY,
5517 RES_RET_LOAD_FILE_FAILED,
5518 RES_RET_LOAD_MEM_FAILED,
5519 RES_RET_UNKNOWN_TYPE,
5520 RES_RET_NOT_IMPLEMENTED,
5563 MG_EXPORT
int AddInnerRes (INNER_RES* inner_res,
int count,
BOOL copy);
5568 MG_EXPORT
int AddSharedRes (
const char* shared_name);
5680 #define LoadBitmapFromRes(hdc, res_name) \ 5681 (PBITMAP)LoadResource(res_name, RES_TYPE_IMAGE, (DWORD)hdc) 5683 #define GetBitmapFromRes(key) (BITMAP*)GetResource(key) 5685 #define GetIconFromRes(key) (HICON)GetResource(key) 5687 #ifndef _MGHAVE_CURSOR 5688 #define GetCursorFromRes(key) (HCURSOR)GetResource(key) 5691 #define GetEtcFromRes(key) (GHANDLE)GetResource(key) 5693 #define LoadLogicFontFromRes(font_name) (PLOGFONT)LoadResource(font_name, RES_TYPE_FONT, 0) 5694 #define GetLogicFontFromRes(font_name) (PLOGFONT)GetResource(Str2Key(font_name)) 5695 #define ReleaseLogicFont(font) ReleaseRes(((FONT_RES*)(font))->key) 5696 #define ReleaseLogicFontByName(font_name) ReleaseRes(Str2Key(font_name)) 5709 MG_EXPORT RES_KEY
Str2Key (
const char* str);
5712 #ifdef __TARGET_MSTUDIO__ 5722 MG_EXPORT
int GUIAPI GetWindowZOrder(
HWND hWnd);
5733 MG_EXPORT
int GUIAPI SetWindowZOrder(
HWND hWnd,
int zorder);
5755 extern MG_EXPORT HWND __mg_hwnd_desktop;
5761 #define HWND_DESKTOP __mg_hwnd_desktop 5767 #define HWND_NULL ((HWND)0) 5773 #define HWND_INVALID ((HWND)-1) 5775 #define HWND_OTHERPROC ((HWND)-1) 5820 #ifdef _MGRM_THREADS 5832 MG_EXPORT
int GUIAPI CreateThreadForMainWindow(pthread_t* thread,
5833 pthread_attr_t* attr,
5834 void * (*start_routine)(
void *),
5843 MG_EXPORT pthread_t GUIAPI GetMainWinThread(HWND hMainWnd);
5854 MG_EXPORT
int GUIAPI WaitMainWindowClose(HWND hWnd,
void** returnval);
5880 #define MainWindowCleanup(hwnd) MainWindowThreadCleanup(hwnd) 5909 const char* window_name,
const char* layer_name);
6013 LRESULT GUIAPI PreDefMainWinProc (HWND hWnd, UINT message,
6014 WPARAM wParam,
LPARAM lParam);
6016 LRESULT GUIAPI PreDefDialogProc (HWND hWnd,
6017 UINT message, WPARAM wParam,
LPARAM lParam);
6019 LRESULT GUIAPI PreDefControlProc (HWND hWnd, UINT message,
6020 WPARAM wParam,
LPARAM lParam);
6040 WPARAM wParam,
LPARAM lParam);
6063 #define DefaultMainWinProc (__mg_def_proc[0]) 6081 #define DefaultDialogProc (__mg_def_proc[1]) 6096 #define DefaultControlProc (__mg_def_proc[2]) 6099 MG_EXPORT
void GUIAPI DumpWindow (FILE* fp, HWND hWnd);
6109 #define SW_HIDE 0x0000 6110 #define SW_SHOW 0x0010 6111 #define SW_SHOWNORMAL 0x0100 6625 const RECT* prc,
BOOL bEraseBkgnd);
6750 MG_EXPORT
void GUIAPI
EndPaint(HWND hWnd,
HDC hdc);
6807 int win_type,
int cw);
6826 int win_type,
int ch,
BOOL hasMenu);
6828 #define ClientWidthToWindowWidth(dwStyle, cw) \ 6829 ClientWidthToWindowWidthEx (dwStyle, LFRDR_WINTYPE_MAINWIN, cw) 6831 #define ClientHeightToWindowHeight(dwStyle, ch, hasMenu) \ 6832 ClientHeightToWindowHeightEx (dwStyle, LFRDR_WINTYPE_MAINWIN, ch, hasMenu) 6888 MG_EXPORT
void GUIAPI
ClientToScreen (HWND hWnd,
int* x,
int* y);
6903 MG_EXPORT
void GUIAPI
ScreenToClient (HWND hWnd,
int* x,
int* y);
6949 MG_EXPORT
void GUIAPI
WindowToScreen (HWND hWnd,
int* x,
int* y);
6964 MG_EXPORT
void GUIAPI
ScreenToWindow (HWND hWnd,
int* x,
int* y);
7042 MG_EXPORT HWND GUIAPI
GetParent (HWND hWnd);
7120 MG_EXPORT HWND GUIAPI
GetNextChild (HWND hWnd, HWND hChild);
7160 MG_EXPORT HWND GUIAPI
GetHosting (HWND hMainWnd);
7207 MG_EXPORT HWND GUIAPI
GetNextHosted (HWND hHosting, HWND hHosted);
7241 MG_EXPORT
int GUIAPI
GetWindowText (HWND hWnd,
char* spString,
int nMaxLen);
7310 #define SetFocus SetFocusChild 7316 #define GetFocus GetFocusChild 7350 #define GetForegroundWindow GetActiveWindow 7356 #define SetForegroundWindow SetActiveWindow 7434 #define WindowFromPoint(pt) WindowFromPointEx(pt, TRUE) 7436 #define CWP_ALL 0x0000 7437 #define CWP_SKIPINVISIBLE 0x0001 7438 #define CWP_SKIPDISABLED 0x0002 7439 #define CWP_SKIPTRANSPARENT 0x0004 7517 MG_EXPORT
BOOL GUIAPI
MoveWindow (HWND hWnd,
int x,
int y,
int w,
int h,
7520 #define SW_INVALIDATE 0x01 7521 #define SW_ERASE 0x02 7522 #define SW_SCROLLCHILDREN 0x04 7596 const RECT *prcScroll,
const RECT *prcClip,
7620 const RECT* prcScroll,
const RECT* prcClip)
7623 NULL,
NULL, SW_ERASE | SW_INVALIDATE | SW_SCROLLCHILDREN);
7630 #define GetWindowElementColor(iItem) \ 7631 GetWindowElementPixelEx(HWND_NULL, (HDC)-1, iItem) 7633 #define GetWindowElementColorEx(hWnd, iItem) \ 7634 GetWindowElementPixelEx(hWnd, (HDC)-1, iItem) 7636 #define GetWindowElementPixel(hWnd, iItem) \ 7637 GetWindowElementPixelEx(hWnd, (HDC)-1, iItem) 7645 #define SYSBMP_RADIOBUTTON "radiobutton" 7646 #define SYSBMP_CHECKBUTTON "checkbutton" 7647 #define SYSBMP_BGPICTURE "bgpicture" 7648 #define SYSBMP_BGPICPOS "bgpicpos" 7651 #define SYSBMP_IMECTRLBTN "IMEctrlbtn" 7652 #define SYSBMP_LOGO "logo" 7735 const char* rdr_name,
PBITMAP bmp);
7758 #define IDI_APPLICATION 0 7760 #define IDI_STOP IDI_HAND 7761 #define IDI_QUESTION 2 7762 #define IDI_EXCLAMATION 3 7763 #define IDI_ASTERISK 4 7764 #define IDI_INFORMATION IDI_ASTERISK 7766 #define SYSICON_FT_DIR "dir" 7767 #define SYSICON_FT_FILE "file" 7769 #define SYSICON_TREEFOLD "treefold" 7770 #define SYSICON_TREEUNFOLD "treeunfold" 7790 const char* rdr_name,
const char* szItemName,
int which);
7858 #define GetLargeSystemIcon(iItem) GetLargeSystemIconEx(HWND_NULL, iItem) 7866 #define GetSmallSystemIcon(iItem) GetSmallSystemIconEx(HWND_NULL, iItem) 7946 int* pMinPos,
int* pMaxPos);
7997 int iMinPos,
int iMaxPos);
8020 #define SIF_RANGE 0x0001 8021 #define SIF_PAGE 0x0002 8022 #define SIF_POS 0x0004 8023 #define SIF_DISABLENOSCROLL 0x0008 8024 #define SIF_TRACKPOS 0x0010 8025 #define SIF_ALL (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS) 8028 #define SB_ARROW_LTUP 0x0001 8031 #define SB_ARROW_BTDN 0x0002 8034 #define SB_ARROW_BOTH (SB_ARROW_LTUP | SB_ARROW_BTDN) 8127 #define CS_VREDRAW 0x0001 8128 #define CS_HREDRAW 0x0002 8129 #define CS_KEYCVTWINDOW 0x0004 8130 #define CS_DBLCLKS 0x0008 8132 #define CS_OWNDC 0x0020 8133 #define CS_CLASSDC 0x0040 8134 #define CS_PARENTDC 0x0080 8136 #define CS_NOKEYCVT 0x0100 8137 #define CS_NOCLOSE 0x0200 8138 #define CS_SAVEBITS 0x0800 8140 #define CS_BYTEALIGNCLIENT 0x1000 8141 #define CS_BYTEALIGNWINDOW 0x2000 8142 #define CS_GLOBALCLASS 0x4000 8143 #define CS_IME 0x8000 8145 #define COP_STYLE 0x0001 8146 #define COP_HCURSOR 0x0002 8147 #define COP_BKCOLOR 0x0004 8148 #define COP_WINPROC 0x0008 8149 #define COP_ADDDATA 0x0010 8193 #define MAINWINCLASSNAME ("MAINWINDOW") 8194 #define ROOTWINCLASSNAME ("ROOTWINDOW") 8324 const char* spCaption,
DWORD dwStyle,
DWORD dwExStyle,
8325 LINT id,
int x,
int y,
int w,
int h, HWND hParentWnd,
8342 const char* spCaption,
DWORD dwStyle,
DWORD dwExStyle,
8343 LINT id,
int x,
int y,
int w,
int h, HWND hParentWnd,
8347 id, x, y, w, h, hParentWnd,
NULL,
NULL, dwAddData);
8429 #define CreateWindow(class_name, caption, style, \ 8430 id, x, y, w, h, parent, add_data) \ 8431 CreateWindowEx(class_name, caption, style, 0, \ 8432 id, x, y, w, h, parent, add_data) 8504 #define SetTimer(hwnd, id, speed) \ 8505 SetTimerEx(hwnd, id, speed, NULL) 8524 MG_EXPORT
int GUIAPI
KillTimer (HWND hWnd, LINT
id);
8557 #define ResetTimer(hwnd, id, speed) \ 8558 ResetTimerEx(hwnd, id, speed, (TIMERPROC)INV_PTR) 8720 MG_EXPORT
int GUIAPI
SetIMEStatus (
int StatusCode,
int Value);
8789 MG_EXPORT
int GUIAPI SetIMEPos (
const POINT* pt);
8826 #define ACCEL_SHIFT KS_SHIFT 8827 #define ACCEL_ALT KS_ALT 8828 #define ACCEL_CTRL KS_CTRL 8929 int nWidth,
int nHeight);
9028 MG_EXPORT
BOOL GUIAPI HideCaretEx (HWND hWnd,
BOOL ime);
9046 return HideCaretEx (hWnd,
TRUE);
9129 #define MF_INSERT 0x00000000L 9130 #define MF_CHANGE 0x00000080L 9131 #define MF_APPEND 0x00000100L 9132 #define MF_DELETE 0x00000200L 9133 #define MF_REMOVE 0x00001000L 9135 #define MF_BYCOMMAND 0x00000000L 9136 #define MF_BYPOSITION 0x00000400L 9138 #define MF_SEPARATOR 0x00000800L 9140 #define MF_ENABLED 0x00000000L 9141 #define MF_GRAYED 0x00000001L 9142 #define MF_DISABLED 0x00000002L 9144 #define MF_UNCHECKED 0x00000000L 9145 #define MF_CHECKED 0x00000008L 9146 #define MF_USECHECKBITMAPS 0x00000200L 9148 #define MF_STRING 0x00000000L 9149 #define MF_BITMAP 0x00000004L 9150 #define MF_OWNERDRAW 0x00000100L 9152 #define MF_POPUP 0x00000010L 9153 #define MF_MENUBARBREAK 0x00000020L 9154 #define MF_MENUBREAK 0x00000040L 9156 #define MF_UNHILITE 0x00000000L 9157 #define MF_HILITE 0x00000080L 9159 #define MF_DEFAULT 0x00001000L 9160 #define MF_SYSMENU 0x00002000L 9161 #define MF_HELP 0x00004000L 9162 #define MF_RIGHTJUSTIFY 0x00004000L 9164 #define MF_MOUSESELECT 0x00008000L 9165 #define MF_END 0x00000080L 9167 #define MFT_STRING MF_STRING 9168 #define MFT_BITMAP MF_BITMAP 9169 #define MFT_BMPSTRING 0x00010000L 9170 #define MFT_MENUBARBREAK MF_MENUBARBREAK 9171 #define MFT_MENUBREAK MF_MENUBREAK 9172 #define MFT_OWNERDRAW MF_OWNERDRAW 9173 #define MFT_RADIOCHECK 0x00000200L 9174 #define MFT_MARKCHECK 0x00000400L 9175 #define MFT_SEPARATOR MF_SEPARATOR 9177 #define MFT_RIGHTORDER 0x00002000L 9178 #define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY 9180 #define MFS_GRAYED 0x00000003L 9181 #define MFS_DISABLED MFS_GRAYED 9182 #define MFS_CHECKED MF_CHECKED 9183 #define MFS_HILITE MF_HILITE 9184 #define MFS_ENABLED MF_ENABLED 9185 #define MFS_UNCHECKED MF_UNCHECKED 9186 #define MFS_UNHILITE MF_UNHILITE 9187 #define MFS_DEFAULT MF_DEFAULT 9190 #define SC_SIZE 0xF000 9191 #define SC_MOVE 0xF010 9192 #define SC_MINIMIZE 0xF020 9193 #define SC_MAXIMIZE 0xF030 9194 #define SC_NEXTWINDOW 0xF040 9195 #define SC_PREVWINDOW 0xF050 9196 #define SC_CLOSE 0xF060 9197 #define SC_VSCROLL 0xF070 9198 #define SC_HSCROLL 0xF080 9199 #define SC_MOUSEMENU 0xF090 9200 #define SC_KEYMENU 0xF100 9201 #define SC_ARRANGE 0xF110 9202 #define SC_RESTORE 0xF120 9203 #define SC_TASKLIST 0xF130 9204 #define SC_SCREENSAVE 0xF140 9205 #define SC_HOTKEY 0xF150 9207 #define SC_DEFAULT 0xF160 9208 #define SC_MONITORPOWER 0xF170 9209 #define SC_CONTEXTHELP 0xF180 9210 #define SC_SEPARATOR 0xF00F 9213 #define MIIM_STATE 0x00000001 9214 #define MIIM_ID 0x00000002 9215 #define MIIM_SUBMENU 0x00000004 9216 #define MIIM_CHECKMARKS 0x00000008 9217 #define MIIM_TYPE 0x00000010 9218 #define MIIM_DATA 0x00000020 9219 #define MIIM_STRING 0x00000040 9220 #define MIIM_BITMAP 0x00000080 9221 #define MIIM_FTYPE 0x00000100 9225 #define TPM_LEFTBUTTON 0x0000L 9226 #define TPM_RIGHTBUTTON 0x0002L 9227 #define TPM_LEFTALIGN 0x0000L 9228 #define TPM_CENTERALIGN 0x0004L 9229 #define TPM_RIGHTALIGN 0x0008L 9230 #define TPM_TOPALIGN 0x0000L 9231 #define TPM_VCENTERALIGN 0x0010L 9232 #define TPM_BOTTOMALIGN 0x0020L 9234 #define TPM_HORIZONTAL 0x0000L 9235 #define TPM_VERTICAL 0x0040L 9236 #define TPM_NONOTIFY 0x0080L 9237 #define TPM_RETURNCMD 0x0100L 9239 #define TPM_DESTROY 0x1000L 9240 #define TPM_SYSCMD 0x2000L 9241 #define TPM_DEFAULT 0x0000L 9244 #define MNC_IGNORE 0 9246 #define MNC_EXECUTE 2 9247 #define MNC_SELECT 3 9417 UINT flag, PMENUITEMINFO pmii);
9566 MG_EXPORT
int GUIAPI
TrackMenuBar (HWND hwnd,
int pos);
9606 int x,
int y, HWND hwnd);
9627 #define LFRDR_MENU_STATE_HILITE 0x01 9628 #define LFRDR_MENU_STATE_NORMAL 0x02 9629 #define LFRDR_MENU_STATE_DISABLED 0x04 9713 UINT flag, PMENUITEMINFO pmii);
9716 int GUIAPI GetMenuItemRect (HWND hwnd,
HMENU hmnu,
9717 LINT item,
PRECT prc);
9835 LINT checkitem, UINT flag);
9889 UINT flag, PMENUITEMINFO pmii);
9903 #define DLGC_WANTARROWS 0x0001 9908 #define DLGC_WANTTAB 0x0002 9913 #define DLGC_WANTALLKEYS 0x0004 9918 #define DLGC_WANTCHARS 0x0008 9924 #define DLGC_WANTENTER 0x0010 9929 #define DLGC_HASSETSEL 0x0080 9935 #define DLGC_DEFPUSHBUTTON 0x0100 9940 #define DLGC_PUSHBUTTON 0x0200 9945 #define DLGC_RADIOBUTTON 0x0400 9950 #define DLGC_3STATE 0x0800 9955 #define DLGC_STATIC 0x1000 9960 #define DLGC_BUTTON 0x2000 10056 const char* window_name,
const char* layer_name);
10071 PDLGTEMPLATE pDlgTemplate, HWND hOwner,
10090 PDLGTEMPLATE pDlgTemplate, HWND hOwner,
WNDPROC WndProc)
10144 const char* window_name,
const char* layer_name);
10238 MG_EXPORT HWND GUIAPI
GetDlgItem (HWND hDlg, LINT nIDDlgItem);
10272 MG_EXPORT UINT GUIAPI
GetDlgItemInt (HWND hDlg, LINT nIDDlgItem,
10273 BOOL *lpTranslated,
BOOL bSigned);
10297 MG_EXPORT
int GUIAPI
GetDlgItemText (HWND hDlg, LINT nIDDlgItem,
10298 char* lpString,
int nMaxCount);
10320 MG_EXPORT
char* GUIAPI
GetDlgItemText2 (HWND hDlg, LINT
id,
int* lenPtr);
10342 HWND hCtl,
BOOL bPrevious);
10386 UINT message, WPARAM wParam,
LPARAM lParam);
10411 UINT uValue,
BOOL bSigned);
10432 MG_EXPORT
BOOL GUIAPI SetDlgItemText (HWND hDlg, LINT nIDDlgItem,
10433 const char* lpString);
10435 #ifdef _MGCTRL_BUTTON 10461 MG_EXPORT
void GUIAPI
CheckDlgButton (HWND hDlg, LINT nIDDlgItem,
int nCheck);
10485 LINT idFirstButton, LINT idLastButton, LINT idCheckButton);
10524 #if defined(_MGCTRL_STATIC) && defined (_MGCTRL_BUTTON) 10527 #define IDC_STATIC 0 10536 #define MINID_RESERVED 0xF001 10537 #define MAXID_RESERVED 0xFFFF 10539 #define MB_OK 0x00000000 10540 #define MB_OKCANCEL 0x00000001 10541 #define MB_YESNO 0x00000002 10542 #define MB_RETRYCANCEL 0x00000003 10543 #define MB_ABORTRETRYIGNORE 0x00000004 10544 #define MB_YESNOCANCEL 0x00000005 10545 #define MB_CANCELASBACK 0x00000008 10546 #define MB_TYPEMASK 0x00000007 10548 #define MB_ICONHAND 0x00000010 10549 #define MB_ICONQUESTION 0x00000020 10550 #define MB_ICONEXCLAMATION 0x00000030 10551 #define MB_ICONASTERISK 0x00000040 10552 #define MB_ICONMASK 0x000000F0 10554 #define MB_ICONINFORMATION MB_ICONASTERISK 10555 #define MB_ICONSTOP MB_ICONHAND 10557 #define MB_DEFBUTTON1 0x00000000 10558 #define MB_DEFBUTTON2 0x00000100 10559 #define MB_DEFBUTTON3 0x00000200 10560 #define MB_DEFMASK 0x00000F00 10566 #define MB_NOFOCUS 0x00008000 10568 #define MB_ALIGNCENTER 0x00000000 10569 #define MB_ALIGNTOPLEFT 0x00010000 10570 #define MB_ALIGNBTMLEFT 0x00020000 10571 #define MB_ALIGNTOPRIGHT 0x00030000 10572 #define MB_ALIGNBTMRIGHT 0x00040000 10573 #define MB_ALIGNMASK 0x00070000 10575 #define MB_BASEDONPARENT 0x00080000 10679 MG_EXPORT
int GUIAPI
MessageBox (HWND hParentWnd,
const char* pszText,
10680 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.
MG_EXPORT void GUIAPI UpdateInvalidClient(HWND hWnd, BOOL bErase)
Updates the invalid client areas in a window.
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 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