|
|
1.1 root 1: /*** Public Module *****************************************************\
2: *
3: * Copyright (c) IBM Corporation 1987, 1989
4: * Copyright (c) MicroSoft Corporation 1987,1989
5: *
6: * Function Key Areas
7: * For OS/2 Presentation Manager 1.2
8: * Copyright IBM Hursley 1988
9: *
10: * This header contains public definitions of function key area related
11: * data.
12: *
13: \***********************************************************************/
14:
15: #if !(defined(INCL_32) || defined(INCL_16))
16: #ifdef M_I386
17: #define INCL_32
18: #else /* not M_I386 */
19: #define INCL_16
20: #endif /* M_I386 */
21: #endif /* INCL_32 || INCL_16 */
22:
23: #ifdef INCL_FKA
24:
25: /* FKA Frame control IDs */
26: #define FID_FKA 0x8009
27:
28: /* Frame create flags */
29: /* Use with frame create flags */
30: #define FCF_FKA 0x00800000L
31:
32: /* Window class for FKA */
33: #define WC_FKA ((PSZ)0xffff000bL)
34:
35: /* Use with fka style bits */
36:
37: #define FKAS_SHORT 0x00010000L
38: #define FKAS_OFF 0x00020000L
39: #define FKAS_BORDER 0x00040000L
40:
41: /* error returns from FKA control messages */
42:
43: #define FIT_NONE -1
44: #define FIT_ERROR -2
45: #define FIT_MEMERROR -3
46: #define FIT_END -4
47:
48: /* FKA messages */
49: /* these messages range between FM_FKAFIRST and FM_FKALAST */
50:
51: #define FM_FKAFIRST 0x0171
52: #define FM_INSERTITEM 0x0171
53: #define FM_DELETEITEM 0x0172
54: #define FM_QUERYITEM 0x0173
55: #define FM_SETITEM 0x0174
56: #define FM_QUERYITEMCOUNT 0x0175
57: #define FM_QUERYITEMTEXT 0x0176
58: #define FM_QUERYITEMTEXTLENGTH 0x0177
59: #define FM_SETITEMTEXT 0x0178
60: #define FM_ITEMPOSITIONFROMID 0x0179
61: #define FM_ITEMIDFROMPOSITION 0x017a
62: #define FM_NEXTFORM 0x017b
63: #define FM_FKALAST 0x017b
64:
65: /* FKA button styles & attributes */
66:
67: #define FIS_CURRENT 0x0000 /* specifies the currently active form of the FKA */
68: #define FIS_SHORT 0x0100 /* specifies the short form of the FKA area */
69: #define FIS_LONG 0x0200 /* specifies the long form of the FKA area */
70: #define FIS_NEXT 0x0400 /* specifies the next FKA form in the cycle */
71: #define FIS_NONE 0x0800 /* specifies that the FKA should be turned off */
72:
73: #ifdef OLD_H2INC
74: #define FIS_USERDRAW MIS_OWNERDRAW
75: #define FIS_SYSCOMMAND MIS_SYSCOMMAND
76: #define FIS_HELP MIS_HELP
77: #else
78: /* new h2inc does not accept #define FOO BAR
79: * the following constants are the MIS_ equivalents
80: */
81: #define FIS_USERDRAW 0x0008
82: #define FIS_SYSCOMMAND 0x0040
83: #define FIS_HELP 0x0080
84: #endif
85:
86: /* Flags for use with WinSetFKAForm and WinQueryFKAForm */
87:
88: #define SFF_OFF 0x0001
89: #define SFF_ON 0x0002
90: #define SFF_SHORT 0x0004
91: #define SFF_LONG 0x0008
92: #define SFF_BORDER 0x0010
93: #define SFF_NOBORDER 0x0020
94: #define SFF_NEXT 0x0040
95:
96: typedef struct _FKAITEM { /* fki */
97: SHORT iPosition; /* zero oriented column of button */
98: SHORT iRow; /* zero oriented row of button */
99: USHORT afStyle; /* style bits associated with button */
100: USHORT id; /* id of the button control */
101: HWND hwndSubMenu; /* handle of the button */
102: } FKAITEM;
103: typedef FKAITEM FAR * PFKAITEM;
104:
105:
106: typedef struct _MTI { /* mti */
107: USHORT afStyle; /* Style Flags */
108: USHORT pad; /* pad for template */
109: USHORT idItem; /* Item ID */
110: CHAR c[2]; /* */
111: } MTI;
112:
113: typedef struct _MT { /* mt */
114: ULONG len; /* Length of template in bytes */
115: USHORT codepage; /* Codepage */
116: USHORT reserved; /* Reserved. */
117: USHORT cMti; /* Count of template items. */
118: MTI rgMti[1]; /* Array of template items. */
119: } MT;
120: typedef MT FAR * LPMT;
121:
122:
123: /* declarations from fka.c */
124: HWND APIENTRY WinLoadFKA( HWND hFrame, HMODULE hModule, USHORT idMenu);
125: HWND APIENTRY WinCreateFKA( HWND hFrame, LPMT lpmt );
126: HWND APIENTRY WinGoToFKA( HWND hwnd );
127: BOOL APIENTRY WinGoFromFKA( HWND hFKA );
128: BOOL APIENTRY WinSetFKAForm( HWND hOwner, USHORT iStyle, BOOL bRedraw );
129: USHORT APIENTRY WinQueryFKAForm( HWND hOwner );
130:
131: /* this will disappear as soon as the resource compiler is fixed. */
132: HWND APIENTRY TfLoadMenu( HWND hFrame, HMODULE hModule, USHORT idMenu );
133:
134: /* I don't really like this public */
135: typedef struct _FKASIZE { /* fks */
136: USHORT Form; /* complete SFF form of the FKA */
137: SHORT NumRows; /* number of rows displayed */
138: SHORT Height; /* height in pels */
139: } FKASIZE;
140: typedef FKASIZE FAR *PFKASIZE;
141:
142: #define FKA_LONG_ROW_HEIGHT 20
143: #define FKA_SHORT_ROW_HEIGHT 25
144:
145: #endif /* INCL_FKA */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.