source: branches/v2.9/common_functions/menu_funcs.c

Last change on this file was 2, checked in by stevenhl, 8 years ago

Import sources from cwmm-full.zip dated 2005-03-21

File size: 3.3 KB
Line 
1#define INCL_WIN
2#define INCL_GPI
3#define INCL_DOS
4#define INCL_DOSERRORS
5
6#include <os2.h>
7#include <sys/types.h>
8#include <sys/stat.h>
9
10#include <stdio.h>
11#include <string.h>
12#include <stdarg.h>
13
14#if __cplusplus
15extern "C" {
16#endif
17
18
19/*!**************************************************/
20/* */
21/* @@DESC */
22/* */
23/* This funktion inserts a separator into menu */
24/* <hwndMenu> and submenu <hwndSubMenu> at */
25/* position <iPosition>. */
26/* */
27/* */
28/* */
29/* */
30/* */
31/*!!*************************************************/
32MRESULT menuInsertMenuSeparator(HWND hwndMenu, HWND hwndSubMenu, SHORT sPosition )
33{
34 MENUITEM mi={0};
35
36 /* Fill the MENUITEM structure */
37 mi.iPosition=sPosition;
38 mi.afStyle=MIS_SEPARATOR;
39 if(hwndSubMenu)
40 mi.afStyle|=MIS_SUBMENU;
41 mi.id=0;
42 mi.afAttribute=NULLHANDLE;
43 mi.hwndSubMenu=hwndSubMenu;
44 mi.hItem=NULLHANDLE;
45
46 return WinSendMsg(hwndMenu,MM_INSERTITEM,(MPARAM)&mi,
47 (MPARAM)NULL);
48}
49
50
51/*!**************************************************/
52/* */
53/* @@DESC */
54/* */
55/* This funktion inserts an item into menu */
56/* <hwndMenu> and submenu <hwndSubMenu> at */
57/* position <iPosition>. */
58/* */
59/*!!*************************************************/
60SHORT menuInsertMenuItem( HWND hwndMenu, HWND hwndSubMenu, SHORT sPosition, USHORT iID, char * chrText)
61{
62 MENUITEM mi={0};
63
64 /* Fill the MENUITEM structure */
65 mi.iPosition=sPosition;
66 mi.afStyle=MIS_TEXT;
67 if(hwndSubMenu)
68 mi.afStyle|=MIS_SUBMENU;
69 mi.id=iID;
70 mi.afAttribute=NULLHANDLE;
71 mi.hwndSubMenu=hwndSubMenu;
72 mi.hItem=NULLHANDLE;
73
74 return SHORT1FROMMR(WinSendMsg(hwndMenu,MM_INSERTITEM,(MPARAM)&mi,
75 (MPARAM)chrText));
76}
77
78SHORT menuQueryItemCount(HWND hwndMenu)
79{
80 return SHORT1FROMMR(WinSendMsg( hwndMenu, MM_QUERYITEMCOUNT, MPFROMLONG(0L),
81 MPFROMLONG(0L)));
82}
83
84MRESULT menuCheckItem(HWND hwndMenu, USHORT usID, BOOL fIncludeSubMenu, BOOL fCheck)
85{
86 return WinSendMsg( hwndMenu, MM_SETITEMATTR, MPFROM2SHORT(usID, fIncludeSubMenu),
87 MPFROM2SHORT(MIA_CHECKED, (fCheck ? MIA_CHECKED : FALSE)));
88}
89
90MRESULT menuRemoveItem(HWND hwndMenu, USHORT usID, BOOL fIncludeSubMenu)
91{
92 return WinSendMsg( hwndMenu, MM_SETITEMATTR, MPFROM2SHORT(usID, fIncludeSubMenu),
93 MPFROMLONG(0L));
94}
95
96MRESULT menuCheckForItem(HWND hwndMenu, USHORT usID, BOOL fIncludeSubMenu)
97{
98 MENUITEM mi;
99 return WinSendMsg( hwndMenu, MM_QUERYITEM, MPFROM2SHORT(usID, fIncludeSubMenu),
100 MPFROMP(&mi));
101}
102
103
104#if __cplusplus
105}
106#endif
107
Note: See TracBrowser for help on using the repository browser.