home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1997 March
/
VPR9703A.ISO
/
VPR_DATA
/
DOGA
/
SOURCES
/
POLYEDIT.LZH
/
MODEL
/
MENU.H
< prev
next >
Wrap
C/C++ Source or Header
|
1996-03-08
|
2KB
|
78 lines
/*
* プルダウンメニュー制御
*
* Copyright T.Kobayashi 1994.7.9
*/
#ifndef MENU
#define MENU
#define MAX_ITEM 40 /* メニューの数 */
#define MAX_MENU 12 /* メニューの最大数 */
#define MENU_LEVELS 5 /* サブメニューのレベル */
#define CTRL_WIDTH (9*FontH+7) /* コントロールパネルの幅 */
#define TITLE_LEN 39 /* タイトル名の長さ */
#define ITEM_LEN 39 /* 項目名の長さ */
#define MENU_CHECK 1 /* チェックマーク付き */
#define MENU_DISABLE 2 /* 選択不可 */
#define STATUSTEXTLENGTH 255 /* ステータス文字列の長さ */
#define MAXSTATUS 8 /* ステータス領域の数 */
typedef char ItemName[ITEM_LEN+1] ;
typedef struct {
short type ;
short ref ;
int size ;
int items ;
char title[TITLE_LEN+1] ;
ItemName item[MAX_ITEM] ;
int exec[MAX_ITEM] ;
int query[MAX_ITEM] ;
int check[MAX_ITEM];
}
MenuClass ;
extern MenuClass *Menu[MAX_MENU] ;
extern MenuClass *MenuStack[MENU_LEVELS][MAX_MENU] ;
extern int MenuStackPtr ;
extern int MenuClassID ;
extern int CurrentX, CurrentY;
extern char StatusText[MAXSTATUS][STATUSTEXTLENGTH+1];
extern int StatusWidth[MAXSTATUS];
#ifdef __cplusplus
extern "C" {
#endif
/* menu.c */
extern void MenuInit( void );
extern void DrawTitleBar( void );
extern void CallMenu( int, int );
#ifdef WINDOWS
extern void ExecMenu( int, int );
#endif
#ifndef __cplusplus
extern void SetMenu( MenuClass*, int );
#endif
extern void PushMenu( void );
extern void PopMenu( void );
extern void CurrentMenuItem(char *item);
extern void CurrentMenuFunction(int ident);
extern void CurrentMenuEnable(int check);
/* menulib.c */
extern void MenuLibInit( void );
/* ctrl.c */
extern void DrawControlPanel( void );
extern void ControlSelect( int, int );
extern void DrawAttrSelect( void );
extern void DrawObjSelect( void );
extern void DrawCursorPos( void );
extern void DrawStatusBar(int);
#ifdef __cplusplus
}
#endif
#endif