t_menu.h

来自「AMLOGIC DPF source code」· C头文件 代码 · 共 106 行

H
106
字号
/*****************************************************************
**                                                             	**
**  Copyright (C) 2004 Amlogic,Inc.                            	**
**  All rights reserved                                        	**
**        Filename : t_menu.h /Project:AVOS Control				** 
**        Revision : 1.0                                       	**
**                                                             	**
*****************************************************************/
#ifndef _T_MENU_H
#define _T_MENU_H

#include "includes.h"
#include "aw_windows.h"

#define ITEM_DEFAULT				0x0
#define ITEM_DISABLE			0x1
#define ITEM_DISVISABLE			0x2
#define ITEM_UPDATE				0x4
#define ITEM_ON_SHOWING			0x8
#define ITEM_FORCE_RL_BMP		0x10

#define MENU_DISABLE			0x1
#define MENU_DISVISABLE			0x2
#define MENU_PAINT_UPDATE_ITEM	0x4
#define MENU_FOCUSED			0x8

//menu item msg list
#define WM_T_MENU_ADD_ITEM			(WM_CONTROL_USE + 0x1)
#define WM_T_MENU_GET_FIRST_ITEM		(WM_CONTROL_USE + 0x2)
#define WM_T_MENU_GET_NEXT_ITEM		(WM_CONTROL_USE + 0x3)
#define WM_T_MENU_ITEM_GET_FOCUS		(WM_CONTROL_USE + 0x4)
#define WM_T_MENU_ITEM_LOSE_FOCUS		(WM_CONTROL_USE + 0x5)
#define WM_T_MENU_SET_UP_ARROW_DRAW	(WM_CONTROL_USE + 0x6)
#define WM_T_MENU_SET_DOWN_ARROW_DRAW	(WM_CONTROL_USE + 0x7)
#define WM_T_MENU_SET_HELP_DRAW		(WM_CONTROL_USE + 0x8)
#define WM_T_PAINT_MENU_ITEM			(WM_CONTROL_USE + 0x9)
#define WM_T_MENU_DEL_ITEM			(WM_CONTROL_USE + 0xa)

#define TOP_LEVEL_MENU		0x1
#define SCEOND_LEVEL_MENU	0x2
#define THIRT_LEVEL_MENU	0x3
#define FOURTH_LEVEL_MENU	0x4

typedef struct _rcamenu *PTMENU ;
typedef struct _rcamenuitem	*PMENUITEM ;
typedef struct _rcamenuitem {
	PMENUITEM 	next_item;
	PMENUITEM 	prev_item;
	INT32U 		menu_item_title;
	INT32U		menu_item_hint ;
	INT32U 		menu_item_ext_info ;
	INT16U 		menu_item_title_type;
	INT16U		menu_item_hint_type ;
	INT16U 		menu_item_ext_info_type ;
	INT8U		menu_item_id ;
	INT8U	 	menu_item_status ; 
	void *      menu_item_context ;
	CHARSTR		child_menu_name[MAX_LENGTH_OF_WIN_CONTROL_NAME];
	INT32S 		(*OnKeyPress)(PHWND hwnd, INT32S key_value);
} TMENUITEM, *PTMENUITEM ;

typedef struct _rcamenu{
	INT8S		menu_status ;
	INT8S		total_items ;
	INT8S		show_item_nums ;
	INT8S		menu_level ;
	INT16U		menu_item_width ;
	INT16U		menu_item_height ;
	INT16U		menu_title_start_x ;
	INT16U		menu_title_start_y ;
	INT16U		menu_original_left;
	INT16U		menu_original_top;
	INT32U		disable_bmp ;
	INT32U 		deactive_none_focus_bmp;
	INT32U		deactive_focus_bmp ;
	INT32U 		active_unfocus_bmp ;
	INT32U 		active_focus_both_bmp ;
	INT32U 		active_focus_left_bmp ;
	INT32U 		active_focus_right_bmp ;
	INT32U 		active_focus_none_bmp ;
	INT32U		disable_bmp_type ;
	INT16U 		deactive_none_focus_bmp_type;
	INT16U		deactive_focus_bmp_type ;
	INT16U 		active_unfocus_bmp_type ;
	INT16U 		active_focus_both_bmp_type ;
	INT16U 		active_focus_left_bmp_type ;
	INT16U 		active_focus_right_bmp_type ;
	INT16U 		active_focus_none_bmp_type ;
	DRAWINFO    menu_up_arrow_info;
	DRAWINFO    menu_down_arrow_info;
	DRAWINFO    menu_hint_info ;
	CHARSTR		parent_menu_name[MAX_LENGTH_OF_WIN_CONTROL_NAME];
	PMENUITEM 	menu_items; 
	PMENUITEM	high_light_items ;
	PMENUITEM	start_item ;
	PMENUITEM	end_item ;
}TMENU ;

void TMenuSetMenuItemExtText(HWND *pMenuHwnd, INT8U iMenuItemID, INT32U ext_value, INT32U ext_type);
void TMenuSetMenuItemHint(HWND *pMenuHwnd, INT8U iMenuItemID, INT32U hint_value, INT32U hint_type) ;
void TMenuSetMenuItemTitle(HWND *pMenuHwnd, INT8U iMenuItemID, INT32U title_value, INT32U title_type);
void TMenuPaintMenuItem(HWND *pMenuHwnd, INT8U iMenuItemID) ;
INT32S TMenuSetMenuItemEnable(PHWND pMenuHwnd, INT8U menu_id, INT8U enable_flag) ;
TMENUITEM* TMenuGetFocusedItem(PHWND pMenuHwnd) ;
INT32S AWRegisterTMenu(void) ;
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?