www.pudn.com > 1633.rar > WinMain.h


/*=========================================================================== 
 
FILE: IMediaTest.h 
===========================================================================*/ 
//: 
// Author: CA.Zhao 
// Email:  careerman1979@163.com 
// Date:   2005/6/13 14:15 
////////////////////////////////////////////////////////////////////////// 
#ifndef WINMAIN_H 
#define WINMAIN_H 
 
#include  
#include  
 
#ifdef WIN32 
#define STDCALL __stdcall 
#else 
#define STDCALL 
#endif 
 
//MessageBox(NULL, TEXT("HELLO"), TEXT("new"), MB_OK); 
 
typedef	unsigned char	U8;		/* unsigned 8 bit integer */ 
typedef	unsigned short	U16;	/* unsigned 16 bit integer */ 
 
//////////////////////////////////////////// 
U16 n = 1; 
char  lpText_asterisk[20] = {0}; 
U16 flag_Fun_AiBinHaoSi = 0; 
static U16 fit_estate = 0; 
char Main_MainWordArray[3000] = {0}; 
char Main_TotalWords[1000] = {0}; 
 
char ExlplainRow[6][25] = {{0}, {0}, {0}, {0}, {0}, {0}}; 
char ExlplainRow_A[6][25] = {{0}, {0}, {0}, {0}, {0}, {0}};		//保存A组数据 
char ExlplainRow_B[6][25] = {{0}, {0}, {0}, {0}, {0}, {0}};		//保存B组数据 
//////////////////////////////////////////// 
U8   InputBuf[32] = {0};			//输入单词 
char WordListBuf[512] = {0};		//单词列表 
char SoundListBuf[512] = {0};		//音标列表 
char   SoundOutBuf[32] = {0};		//保存单个音标的缓冲区 
char   OutBuffer[512] = {0};		//保存解释的缓冲区 
 
short ExpLineNum = 0;             //LDEngChDictionaryEngine() 
								//RetrieveWordChExp()		都用到 
U16 ResNum = 0;					//LDEngChDictionaryEngine()的返回值,返回的单词数量 
U16 InNum = 0;					//0 ---19  之间的一个数字,用来选择某个单词 
long Global_EtoCDic_iIndex = 0; 
U16  Global_SettingTime = 60; 
//////////////////////////////////////////// 
int		RowNum = 0;			//解释的行数 
int     RowNum_A = 0;		//A组单词解释行数 
int		RowNum_B = 0;		//B组单词解释行数 
 
int		TotalRow = 0;		//单词、音标和解释总共占用的行数 
int		TotalRow_A = 0;		//A组单词、音标和解释总共占用的行数 
int     TotalRow_B = 0;		//B组单词、音标和解释总共占用的行数	 
 
int     iIndexWord = 0;		//根据此数字取得单词,音标和解释. 
 
int		Global_Main_width = 0; 
int		Global_Main_height = 0; 
int     ShakeNum = 0; 
//////////////////////////////////////////// 
//static  int     y_A[2] = {0}; 
/////////////////////////////////////////// 
BOOL	FLAG_Shake = true; 
 
BOOL    flag_B = true; 
BOOL	flag_A = false; 
BOOL	BOOL_flag_Fun_AiBinHaoSi = false; 
 
//////////////////////////////////////////// 
RECT	hWndRect; 
HDC		hdc;			//定义设备上下文 
HDC		hmem;			//定义内存DC 
HBITMAP hBitmap;		//定义位图对象 
BITMAP	Bitmap;			//BITMAP结构含有位图的基本信息 
 
TEXTMETRIC	   tm;		//使用GetTextMetrics函数 
HPEN		   hPen; 
LOGPEN		   logpen; 
HBRUSH         hBrush; 
 
#define ID_TIMER 1			//计时器 
#define ID_TIMER_MAIN 2		//模拟震动的计时器 
#define WM_USERTIMER_A   WM_USER + 100 
#define WM_USERTIMER_B   WM_USER + 200 
#define WM_USERTIMER_MAIN  WM_USER + 300 
 
int             j_MenuList; 
int				Global_iIndex; //星火记忆法单词列表变量 当前项的索引 
int				Global_iCount; //星火记忆法单词列表变量 总共多少项 
 
int				Global_EtoCDict_iIndex; 
int				Global_EtoCDict_iCount; 
 
BOOL			FLAG_STATIC_WordNum = false; 
BOOL			FLAG_STATIC_HintTime = false; 
BOOL			explain_scrkeep = true; 
BOOL			FLAG_SetZero = false; //屏保中当关闭计时器的时候要从新设置 
 
static HWND     Global_hwnd_WinProc; 
 
static HWND     hwndChild_RecoWord; 
static HWND		hwndChild_EtoCDic; 
static HWND		hwndChild_ScreKeep; 
static HWND		hwndChild_Setting; 
static HWND		hwndChild_Setting_ConOne; 
static HWND		hwndChild_Setting_ConTwo; 
 
static HWND		hwndChild_RecoWord_WordList;    //这一屏显示单词列表 
static HWND		hwndChild_RecoWord_WordExplain; //这一屏显示单词解释(包括单词汇总和词典) 
static HWND		hwndChild_ScreKeep_List;        //这一屏显示单词屏保列表 
 
static HWND		hwndChild_Caky_Chart;       //这一屏显示圆饼图 
static HWND		hwndChild_Histogram;		//这一屏显示柱状图 
 
 
HWND		   hwnd, Global_hwndChild; 
/* 
HWND        Global_hwndChild_RecoWord; 
HWND		Global_hwndChild_EtoCDic; 
HWND		Global_hwndChild_ScreKeep; 
HWND		Global_hwndChild_Setting; 
*/ 
 
HINSTANCE      Global_hInstance; 
static TCHAR   szAppName[] = TEXT ("XingHuo") ; 
static TCHAR   szChildAppName[] = TEXT ("Child"); 
static TCHAR   szChildAppName_RecoWord[] = TEXT ("Child_RecoWord"); 
static TCHAR   szChildAppName_EtoCDic[] = TEXT ("Child_EtoCDic"); 
static TCHAR   szChildAppName_ScreKeep[] = TEXT ("Child_ScreKeep"); 
static TCHAR   szChildAppName_Setting[] = TEXT ("Child_Setting"); 
static TCHAR   szChildAppName_Setting_ConOne[] = TEXT ("Child_Setting_One"); 
static TCHAR   szChildAppName_Setting_ConTwo[] = TEXT ("Child_Setting_Two"); 
 
static TCHAR   szChildAppName_RecoWord_WordList[] = TEXT("child_RecoWord_WordList"); 
static TCHAR   szChildAppName_RecoWord_WordExplain[] = TEXT("child_RecoWord_WordExplain"); 
static TCHAR   szChildAppName_ScreKeep_List[] = TEXT("child_ScreKeep_List"); 
static TCHAR   szChildAppName_Caky_Chart[] = TEXT("child_caky_chart"); 
static TCHAR   szChildAppName_Histogram[] = TEXT("child_histogram"); 
 
////////////////// 
TCHAR		   StringText[30] = {0}; 
long			   StringLength = 0; 
char*           pGlobal_Word = NULL; 
char			Global_Word[32] = {0}; 
char			Global_Word_a[32] = {0}; 
char			Global_YinBiao[32] = {0}; 
char			Global_R_Rev_YB_Explain[200] = {0}; 
 
char			Global_Word_A[32] = {0}; 
char			Global_YinBiao_A[32] = {0}; 
char			Global_R_Rev_YB_Explain_A[200] = {0}; 
 
char			Global_Word_B[32] = {0}; 
char			Global_YinBiao_B[32] = {0}; 
char			Global_R_Rev_YB_Explain_B[200] = {0}; 
 
 
///////////////// 
 
int            ClientWidth, ClientHeight;   //客户区宽高 
int            num_FramColor = 0; 
int            num_FramColor_RecoWord = 0; 
int			   num_FramColor_Setting = 0; 
int			   num_FramColor_S_Chart = 0; 
int			   num_FramColor_S_WordClass = 0; 
int			   num_FramColor_S_StudyMod = 0; 
int			   num_FramColor_S_ClewMod = 0; 
int			   num_FramColor_S_DispSpeed = 0; 
 
 
RECT				rect; 
LPDRAWITEMSTRUCT	pdis; 
BOOL           Global_FLAG; 
LPARAM         Global_LParamChild; 
LPARAM		   Global_LParamChild_RecoWord_Menu; 
LPARAM		   Global_LParamChild_EtoCDic_Menu; 
LPARAM		   Global_LParamChild_ScreKeep_Menu; 
LPARAM		   Global_LParamChild_Settting_Menu; 
LPARAM		   Global_LParam_Setting_ConOne; 
LPARAM		   Global_LParam_Setting_ConTwo; 
 
 
//主窗口界面 
HWND     hwndLeft; 
HWND	 hwndTop; 
HWND     hwndRight; 
HWND	 hwndBottom;	 
HWND     hwndCenter; 
HWND     hwndOne, hwndTwo, hwndThree, hwndFour,  
		 hwndFive, hwndSix, hwndSeven, hwndEight, 
		 hwndNine, hwndZero; 
 
HWND     hwndClear, hwndAsterisk, hwndJinghao, hwndOk, hwndCancel; 
 
HWND     hwndRecoWord; 
HWND     hwndEtoCDic; 
HWND     hwndScreKeep; 
HWND     hwndSetting; 
 
#define  ID_RECOWORD_BUTTON	    50 
#define  ID_ETOCDIC_BUTTON		51	 
#define  ID_SCREKEEP_BUTTON		52	 
#define  ID_SETTING_BUTTON      53 
 
#define ID_LEFT_BUTTON		20 
#define ID_TOP_BUTTON		21 
#define ID_RIGHT_BUTTON		22 
#define ID_BOTTOM_BUTTON	23 
#define ID_CENTER_BUTTON    24 
#define ID_CLEAR_BUTTON     25 
#define ID_ASTERISK_BUTTON  26 
#define ID_JINGHAO_BUTTON   27 
#define ID_OK_BUTTON        28 
#define ID_CANCEL_BUTTON    29 
 
 
#define ID_ONE_BUTTON		1     
#define ID_TWO_BUTTON		2 
#define ID_THREE_BUTTON		3 
#define ID_FOUR_BUTTON		4 
#define ID_FIVE_BUTTON		5 
#define ID_SIX_BUTTON		6 
#define ID_SEVEN_BUTTON		7 
#define ID_EIGHT_BUTTON		8	 
#define ID_NINE_BUTTON		9 
#define ID_ZERO_BUTTON		0 
 
//星火记忆单词列表界面 
HWND	hwndRecoWord_NewsWord; 
HWND	hwndRecoWord_First_ReviewWord; 
HWND	hwndRecoWord_Secon_ReviewWord; 
HWND	hwndRecoWord_Third_ReviewWord; 
HWND	hwndRecoWord_Fourt_ReviewWord; 
HWND	hwndRecoWord_Fifth_ReviewWord; 
 
#define  ID_NewsWord_BUTTON				100 
#define  ID_First_ReviewWord_BUTTON     102 
#define  ID_Secon_ReviewWord_BUTTON     103 
#define  ID_Third_ReviewWord_BUTTON     104 
#define  ID_Fourt_ReviewWord_BUTTON     105 
#define  ID_Fifth_ReviewWord_BUTTON     106 
 
//系统设置界面 
HWND	hwndSetting_Schedule_Collect; 
HWND	hwndSetting_Schedule_Plan; 
HWND	hwndSetting_Wordstorage_Select; 
HWND	hwndSetting_Study_Mode; 
HWND	hwndSetting_Review_Prompt_Time; 
HWND	hwndSetting_Review_Prompt_Mode; 
HWND	hwndSetting_Display_Speed; 
 
#define		ID_Setting_Sche_Coll_BUTTON		150 
#define		ID_Setting_Sche_Plan_BUTTON		151 
#define		ID_Setting_WoSt_Sele_BUTTON		152 
#define		ID_Setting_Stud_Mode_BUTTON		153 
#define		ID_Setting_RePr_Time_BUTTON		154 
#define		ID_Setting_RePr_Mode_BUTTON		155	 
#define		ID_Setting_Disp_Spee_BUTTON		156 
 
//英汉词典界面 
HWND	hwndEtoCDic_OK; 
HWND	hwndEtoCDic_Cancel; 
HWND	hwndEtoCDic_Edit; 
HWND	hwndEtoCDic_Static; 
HWND    hwndEtoCDic_ListBox; 
 
#define		ID_EtoCDic_OK_BUTTON			200 
#define		ID_EtoCDic_Cancel_BUTTON		201 
#define		ID_EtoCDic_Static				202 
#define     ID_EtoCDic_ListBox              203 
#define     ID_EtoCDic_Edit                 204 
 
//各个设置中的内容 
HWND	hwndGrCh_ConOne_Cake_BUTTON,			//圆饼图 按钮		 
		hwndGrCh_ConOne_Pole_BUTTON,			//柱状图 按钮 
		hwndGrCh_ConOne_WordNum_STATIC,			//每天学习单词数量 静态文本 
		hwndGrCh_ConOne_WordNum_EDIT,			//每天学习单词数量 编辑框 
		hwndGrCh_ConOne_Prim_BUTTON,			//初级 按钮 
		hwndGrCh_ConOne_Inte_BUTTON,			//中级 按钮 
		hwndGrCh_ConOne_Adva_BUTTON,			//高级 按钮 
		hwndGrCh_ConOne_Star_BUTTON,			//星火学习模式 按钮 
		hwndGrCh_ConOne_Trad_BUTTON;			//传统学习模式 按钮 
 
HWND	hwndGrCh_ConTwo_HintTime_STATIC,		//提示时间 静态文本 
		hwndGrCh_ConTwo_HintTime_EDIT,			//提示时间 编辑框 
		hwndGrCh_ConTwo_Quiv_BUTTON,			//震动 
		hwndGrCh_ConTwo_Ring_BUTTON,			//响铃 
		hwndGrCh_ConTwo_Whis_BUTTON,			//静音 
		hwndGrCh_ConTwo_Slow_BUTTON,			//慢 
		hwndGrCh_ConTwo_Swel_BUTTON,			//较快 
		hwndGrCh_ConTwo_Rapi_BUTTON;			//快 
 
#define		ID_ConOne_Cake_BUTTON			250 
#define		ID_ConOne_Pole_BUTTON			251	 
#define		ID_ConOne_WordNum_STATIC		252 
#define		ID_ConOne_WordNum_EDIT			253 
#define		ID_ConOne_Prim_BUTTON			254 
#define		ID_ConOne_Inte_BUTTON			255 
#define		ID_ConOne_Adva_BUTTON			256 
#define		ID_ConOne_Star_BUTTON			257 
#define		ID_ConOne_Trad_BUTTON			258 
 
#define		ID_ConTwo_HintTime_STATIC		259 
#define		ID_ConTwo_HintTime_EDIT			260 
#define		ID_ConTwo_Quiv_BUTTON			261 
#define		ID_ConTwo_Ring_BUTTON			262 
#define		ID_ConTwo_Whis_BUTTON			263 
#define		ID_ConTwo_Slow_BUTTON			264 
#define		ID_ConTwo_Swel_BUTTON			265 
#define		ID_ConTwo_Rapi_BUTTON			266 
 
 
HWND	hwndConOne_Prim_Circ_BUTTON, 
		hwndConOne_Inte_Circ_BUTTON, 
		hwndConOne_Adva_Circ_BUTTON, 
		hwndConOne_Star_Circ_BUTTON, 
		hwndConOne_Trad_Circ_BUTTON; 
 
HWND	hwndConTwo_Quiv_Circ_BUTTON, 
		hwndConTwo_Ring_Circ_BUTTON, 
		hwndConTwo_Whis_Circ_BUTTON, 
		hwndConTwo_Slow_Circ_BUTTON, 
		hwndConTwo_Swel_Circ_BUTTON, 
		hwndConTwo_Rapi_Circ_BUTTON; 
 
 
#define		ID_ConOne_Prim_Circ_BUTTON			300 
#define		ID_ConOne_Inte_Circ_BUTTON			301 
#define		ID_ConOne_Adva_Circ_BUTTON			302 
#define		ID_ConOne_Star_Circ_BUTTON			303 
#define		ID_ConOne_Trad_Circ_BUTTON			304 
 
#define     ID_ConTwo_Quiv_Circ_BUTTON			305 
#define     ID_ConTwo_Ring_Circ_BUTTON			306 
#define     ID_ConTwo_Whis_Circ_BUTTON			307 
#define     ID_ConTwo_Slow_Circ_BUTTON			308 
#define     ID_ConTwo_Swel_Circ_BUTTON			309 
#define     ID_ConTwo_Rapi_Circ_BUTTON			310 
 
//星火记忆单词   单词列表 控件 
HWND    hwndRecoWord_WordList_ListBox; 
 
#define     ID_Reco_WordList_LISTBOX            350 
 
typedef enum 
{ 
	CreateWindow_Main_Menu_List, 
	CreateWindow_Recollection_WordList, 
	CreateWindow_EtoC_Dictionary, 
	CreateWindow_ScreenKeep, 
	CreateWindow_Setting, 
	CreateWindow_Setting_ConOne, 
	CreateWindow_Setting_ConTwo, 
	CreateWindow_RecoWord_WordList, 
	CreateWindow_RecoWord_WordExplain, 
	CreateWindow_ScreKeep_List, 
	CreateWindow_Caky_Chart, 
	CreateWindow_Histogram 
 
}CreateWindow_state; 
 
CreateWindow_state        createwin_state = CreateWindow_Main_Menu_List; 
 
typedef enum 
{ 
	APP_WINDOW_Main, 
	APP_WINDOW_Recollection_WordList, 
	APP_WINDOW_EtoC_Dictionary, 
	APP_WINDOW_ScreenKeep,	 
	APP_WINDOW_Setting 
	 
}AppWindow_Interface;//应用窗口界面 
 
AppWindow_Interface   AppWinInt; 
 
typedef enum 
{ 
	WINDOW_First, 
	WINDOW_Main_interface 
 
}Window_Face_State; 
 
Window_Face_State     win_face_state; 
 
typedef enum 
{ 
	DrawItem_MainMenu, 
	DrawItem_RecoWord_Menu, 
	DrawItem_EtoCDic_Menu, 
	DrawItem_ScreKeep_Menu, 
	DrawItem_Settting_Menu 
}DrawItem_CtlButton; 
 
DrawItem_CtlButton    Global_DrawItem = DrawItem_MainMenu; 
 
typedef enum 
{ 
	Order_First, 
	Order_Main_Menu_List, 
	Order_Menu_One, 
	Order_Menu_Two, 
	Order_Menu_Three, 
	Order_Menu_Four, 
	/////////////////////////// 
	Order_RecoWord_NewsWord, 
	Order_RecoWord_First_ReviewWord, 
	Order_RecoWord_Secon_ReviewWord, 
	Order_RecoWord_Third_ReviewWord, 
	Order_RecoWord_Fourt_ReviewWord, 
	Order_RecoWord_Fifth_ReviewWord, 
	////////////////////////// 
	Order_Setting_Sche_Coll, 
	Order_Setting_Sche_Plan, 
	Order_Setting_WoSt_Sele, 
	Order_Setting_Stud_Mode, 
	Order_Setting_RePr_Time, 
	Order_Setting_RePr_Mode, 
	Order_Setting_Disp_Spee, 
	//////////////////// 
	Order_Setting_Cake, 
	Order_Setting_Pole, 
	///////////////////// 
	Order_ScrKeep_NewsWord, 
	Order_ScrKeep_First, 
	Order_ScrKeep_Secon, 
	Order_ScrKeep_Third, 
	Order_ScrKeep_Fourt, 
	Order_ScrKeep_Fifth, 
	////////////////// 
	Order_S_Sche_Plan, 
	Order_S_RePr_Time, 
	Order_Caky_Chart,   //圆饼图 
	Order_Histogram		//柱状图 
 
}Center_Button_Order; //中间按钮顺序触发 
 
Center_Button_Order   cent_butt_orde = Order_First; 
 
typedef enum 
{ 
	Top_Order_Main_Menu_List, 
	Top_Order_Menu_One, 
	Top_Order_Menu_Two, 
	Top_Order_Menu_Three, 
	Top_Order_Menu_Four, 
	Top_Order_S_Chart, 
	Top_Order_S_Sche_Plan, 
	Top_Order_S_WordClass, 
	Top_Order_S_StudyMod, 
	Top_Order_S_RePr_Time, 
	Top_Order_S_ClewMod, 
	Top_Order_S_DispSpeed, 
	Top_Order_R_NewsWord, 
	Top_Order_R_First_ReviewWord, 
	Top_Order_R_Secon_ReviewWord, 
	Top_Order_R_Third_ReviewWord, 
	Top_Order_R_Fourt_ReviewWord, 
	Top_Order_R_Fifth_ReviewWord, 
	Top_Order_Explain, 
	/////////////////////////// 
	Top_Order_ScrKeep_NewsWord, 
	Top_Order_ScrKeep_First, 
	Top_Order_ScrKeep_Secon, 
	Top_Order_ScrKeep_Third, 
	Top_Order_ScrKeep_Fourt, 
	Top_Order_ScrKeep_Fifth, 
	Top_Order_Caky_Chart,   //圆饼图 
	Top_Order_Histogram		//柱状图 
 
}Top_Button_Order;        //向上键 
 
Top_Button_Order      top_butt_orde = Top_Order_Main_Menu_List; 
 
typedef enum 
{ 
	Bottom_Order_Main_Menu_List, 
	Bottom_Order_Menu_One, 
	Bottom_Order_Menu_Two, 
	Bottom_Order_Menu_Three, 
	Bottom_Order_Menu_Four, 
	Bottom_Order_S_Chart, 
	Bottom_Order_S_Sche_Plan,/// 
	Bottom_Order_S_WordClass, 
	Bottom_Order_S_StudyMod, 
	Bottom_Order_S_RePr_Time,/// 
	Bottom_Order_S_ClewMod, 
	Bottom_Order_S_DispSpeed, 
	Bottom_Order_R_NewsWord, 
	Bottom_Order_R_First_ReviewWord, 
	Bottom_Order_R_Secon_ReviewWord, 
	Bottom_Order_R_Third_ReviewWord, 
	Bottom_Order_R_Fourt_ReviewWord, 
	Bottom_Order_R_Fifth_ReviewWord, 
	Bottom_Order_Explain, 
	//////////////////////// 
	Bottom_Order_ScrKeep_NewsWord, 
	Bottom_Order_ScrKeep_First, 
	Bottom_Order_ScrKeep_Secon, 
	Bottom_Order_ScrKeep_Third, 
	Bottom_Order_ScrKeep_Fourt, 
	Bottom_Order_ScrKeep_Fifth, 
	Bottom_Order_Caky_Chart,		//圆饼图 
	Bottom_Order_Histogram			//柱状图 
 
}Bottom_Button_Order;		//向下键 
 
Bottom_Button_Order    bottom_butt_orde = Bottom_Order_Main_Menu_List; 
 
typedef enum 
{ 
	Clear_Order_Main_Menu_List, 
	Clear_Order_Menu_One, 
	Clear_Order_Menu_Two, 
	Clear_Order_Menu_Three, 
	Clear_Order_Menu_Four, 
	Clear_Order_S_Chart, 
	Clear_Order_S_Sche_Plan, 
	Clear_Order_S_WordClass, 
	Clear_Order_S_StudyMod, 
	Clear_Order_S_RePr_Time, 
	Clear_Order_S_ClewMod, 
	Clear_Order_S_DispSpeed, 
	Clear_Order_R_NewsWord, 
	Clear_Order_R_First_ReviewWord, 
	Clear_Order_R_Secon_ReviewWord, 
	Clear_Order_R_Third_ReviewWord, 
	Clear_Order_R_Fourt_ReviewWord, 
	Clear_Order_R_Fifth_ReviewWord, 
	Clear_Order_R_Explain_Page, 
	Clear_Order_ScrKeep_NewsWord, 
	Clear_Order_ScrKeep_First, 
	Clear_Order_ScrKeep_Secon, 
	Clear_Order_ScrKeep_Third, 
	Clear_Order_ScrKeep_Fourt, 
	Clear_Order_ScrKeep_Fifth, 
	Clear_Order_Caky_Chart,			//圆饼图 
	Clear_Order_Histogram			//柱状图 
 
}Clear_Button_Order;		//回退键 
 
Clear_Button_Order     clear_butt_orde = Clear_Order_Main_Menu_List; 
 
typedef  enum 
{ 
	WordExplain_EtoCDic, 
	WordExplain_XingHuo 
}Word_Explain_Order; 
 
Word_Explain_Order		word_explain_order = WordExplain_EtoCDic; 
 
typedef  enum 
{ 
	Cancel_Butt_True, 
	Cancel_Butt_False 
}Cancel_Butt_Order; 
 
Cancel_Butt_Order       cancel_butt_order = Cancel_Butt_False; 
 
typedef  enum 
{ 
	OK_Butt_True, 
	OK_Butt_False 
}OK_Butt_Order; 
 
OK_Butt_Order           ok_butt_order = OK_Butt_False; 
 
typedef struct _FramColor 
{ 
	UINT   CtlID; 
	BOOL   Flag; 
	BOOL   Flag_Select; 
	Center_Button_Order   Order; 
}FramColor; 
 
 
FramColor   framecolor[4] = { ID_RECOWORD_BUTTON,    true,      true,       Order_Menu_One,   
							  ID_ETOCDIC_BUTTON,	 false,		false,	    Order_Menu_Two, 
							  ID_SCREKEEP_BUTTON,	 false,		false,		Order_Menu_Three, 
							  ID_SETTING_BUTTON,	 false,		false,		Order_Menu_Four,	 
							}; 
#define NUMLINE_FRAMECOLOR ((int)(sizeof framecolor / sizeof framecolor[0])) 
 
 
 
FramColor   framecolor_RecoWord[6] =  
				{ ID_NewsWord_BUTTON,			true,		true,		Order_RecoWord_NewsWord, 
				  ID_First_ReviewWord_BUTTON,	false,		false,		Order_RecoWord_First_ReviewWord, 
				  ID_Secon_ReviewWord_BUTTON,	false,		false,		Order_RecoWord_Secon_ReviewWord, 
				  ID_Third_ReviewWord_BUTTON,	false,		false,		Order_RecoWord_Third_ReviewWord, 
				  ID_Fourt_ReviewWord_BUTTON,	false,		false,		Order_RecoWord_Fourt_ReviewWord, 
				  ID_Fifth_ReviewWord_BUTTON,	false,		false,		Order_RecoWord_Fifth_ReviewWord, 
				}; 
 
#define NUMLINE_FRAMECOLOR_RecoWord ((int)(sizeof framecolor_RecoWord / sizeof framecolor_RecoWord[0])) 
 
 
FramColor	framecolor_Setting[7] =  
		{ID_Setting_Sche_Coll_BUTTON,		true,		true,		Order_Setting_Sche_Coll, 
		 ID_Setting_Sche_Plan_BUTTON,		false,		false,		Order_Setting_Sche_Plan, 
		 ID_Setting_WoSt_Sele_BUTTON,		false,		false,		Order_Setting_WoSt_Sele, 
		 ID_Setting_Stud_Mode_BUTTON,		false,		false,		Order_Setting_Stud_Mode, 
		 ID_Setting_RePr_Time_BUTTON,		false,		false,		Order_Setting_RePr_Time, 
		 ID_Setting_RePr_Mode_BUTTON,		false,		false,		Order_Setting_RePr_Mode, 
		 ID_Setting_Disp_Spee_BUTTON,		false,		false,		Order_Setting_Disp_Spee, 
		}; 
 
#define NUMLINE_FRAMECOLOR_Setting ((int)(sizeof framecolor_Setting / sizeof framecolor_Setting[0])) 
 
 
//圆饼图,柱状图按钮 
FramColor	framecolor_S_Chart[2] = 
					{ 
					 ID_ConOne_Cake_BUTTON,			false,		false,		Order_Setting_Cake, 
					 ID_ConOne_Pole_BUTTON,			false,		false,		Order_Setting_Pole, 
					}; 
 
#define NUMLINE_FRAMECOLOR_S_Chart ((int)(sizeof framecolor_S_Chart / sizeof framecolor_S_Chart[0])) 
 
typedef struct _FramColor_S_Content 
{ 
	UINT   CtlID_Butt; 
	UINT   CtlID_Circ; 
	BOOL   Flag_Butt;	 
	BOOL   Flag_Cir_Butt; 
	BOOL   Flag_Select; 
	 
}FramColor_S_Content; 
 
//词库选择 
FramColor_S_Content		framcolor_s_WordClass[3] = 
		{ 
			ID_ConOne_Prim_BUTTON,		ID_ConOne_Prim_Circ_BUTTON,		false,	false,	false, 
			ID_ConOne_Inte_BUTTON,		ID_ConOne_Inte_Circ_BUTTON,		false,	false,	false, 
			ID_ConOne_Adva_BUTTON,		ID_ConOne_Adva_Circ_BUTTON,		false,	false,	false, 
		}; 
 
#define NUMLINE_S_WordClass ((int)(sizeof framcolor_s_WordClass / sizeof framcolor_s_WordClass[0])) 
 
//学习模式 
FramColor_S_Content		framcolor_s_StudyMod[2] = 
		{ 
			ID_ConOne_Star_BUTTON,		ID_ConOne_Star_Circ_BUTTON,		false,	false,	false, 
			ID_ConOne_Trad_BUTTON,		ID_ConOne_Trad_Circ_BUTTON,		false,	false,	false, 
		}; 
 
#define NUMLINE_S_StudyMod ((int)(sizeof framcolor_s_StudyMod / sizeof framcolor_s_StudyMod[0])) 
 
//提示模式 
FramColor_S_Content		framcolor_s_ClewMod[3] = 
		{ 
			ID_ConTwo_Quiv_BUTTON,		ID_ConTwo_Quiv_Circ_BUTTON,		false,	false,	false, 
			ID_ConTwo_Ring_BUTTON,		ID_ConTwo_Ring_Circ_BUTTON,		false,	false,	false, 
			ID_ConTwo_Whis_BUTTON,		ID_ConTwo_Whis_Circ_BUTTON,		false,	false,	false, 
		}; 
 
#define NUMLINE_S_ClewMod ((int)(sizeof framcolor_s_ClewMod / sizeof framcolor_s_ClewMod[0])) 
 
//显示速度 
FramColor_S_Content		framcolor_s_DispSpeed[3] = 
		{ 
			ID_ConTwo_Slow_BUTTON,		ID_ConTwo_Slow_Circ_BUTTON,		false,	false,	false, 
			ID_ConTwo_Swel_BUTTON,		ID_ConTwo_Swel_Circ_BUTTON,		false,	false,	false, 
			ID_ConTwo_Rapi_BUTTON,		ID_ConTwo_Rapi_Circ_BUTTON,		false,	false,	false, 
		}; 
 
#define NUMLINE_S_DispSpeed ((int)(sizeof framcolor_s_DispSpeed / sizeof framcolor_s_DispSpeed[0])) 
 
 
 
 
 
 
 
LRESULT CALLBACK WinProc( HWND	      hwnd_WinProc,      // handle to window 
						  UINT		  uMsg,				 // message identifier 
						  WPARAM	  wParam,			 // first message parameter 
						  LPARAM	  lParam			 // second message parameter 
						); 
 
LRESULT CALLBACK WinProcChild( HWND	      hwndChild_WinProc,      // handle to window 
						       UINT		  uMsgChild,			  // message identifier 
						       WPARAM	  wParamChild,			  // first message parameter 
						       LPARAM	  lParamChild			  // second message parameter 
						     ); 
 
//四个菜单四个窗口过程,这样程序便于处理 
//星火记忆单词列表 
LRESULT CALLBACK WinProcChild_RecoWord( HWND	      hwndChild_RecoWord_WinProc,      // handle to window 
										UINT		  uMsgChild_RecoWord,			   // message identifier 
										WPARAM		  wParamChild_RecoWord,			   // first message parameter 
										LPARAM		  lParamChild_RecoWord			   // second message parameter 
										); 
 
//英汉词典 
LRESULT CALLBACK WinProcChild_EtoCDic(  HWND	      hwndChild_EtoCDic_WinProc,      // handle to window 
										UINT		  uMsgChild_EtoCDic,			  // message identifier 
										WPARAM		  wParamChild_EtoCDic,			  // first message parameter 
										LPARAM		  lParamChild_EtoCDic			  // second message parameter 
										); 
 
//单词屏保 
LRESULT CALLBACK WinProcChild_ScreKeep( HWND	      hwndChild_ScreKeep_WinProc,      // handle to window 
										UINT		  uMsgChild_ScreKeep,			   // message identifier 
										WPARAM		  wParamChild_ScreKeep,			   // first message parameter 
										LPARAM		  lParamChild_ScreKeep			   // second message parameter 
										); 
 
//系统设置 
LRESULT CALLBACK WinProcChild_Setting(  HWND	      hwndChild_Setting_WinProc,      // handle to window 
										UINT		  uMsgChild_Setting,			  // message identifier 
										WPARAM		  wParamChild_Setting,			  // first message parameter 
										LPARAM		  lParamChild_Setting			  // second message parameter 
										); 
 
//设置内容第一屏窗口过程函数 
LRESULT CALLBACK WinProcChild_Setting_ConOne( HWND	      hwnd_S_ConOne_WinProc,      // handle to window 
											  UINT		  uMsg_S_ConOne,			  // message identifier 
											  WPARAM	  wParam_S_ConOne,			  // first message parameter 
											  LPARAM	  lParam_S_ConOne			  // second message parameter 
											); 
 
//设置内容第二屏窗口过程函数 
LRESULT CALLBACK WinProcChild_Setting_ConTwo( HWND	      hwnd_S_ConTwo_WinProc,        // handle to window 
											  UINT		  uMsg_S_ConTwo,				// message identifier 
											  WPARAM	  wParam_S_ConTwo,				// first message parameter 
											  LPARAM	  lParam_S_ConTwo				// second message parameter 
										    ); 
 
 
 
//星火记忆单词列表-----显示单词列表 
LRESULT CALLBACK WinProcChild_RecoWord_WordList( HWND	      hwnd_R_WordList_WinProc,      // handle to window 
											     UINT		  uMsg_R_WordList,      // message identifier 
											     WPARAM		  wParam_R_WordList,    // first message parameter 
												 LPARAM		  lParam_R_WordList     // second message parameter 
												); 
 
//星火记忆单词列表-----显示单词解释 
LRESULT CALLBACK WinProcChild_RecoWord_WordExplain( HWND	      hwnd_R_WordExplain_WinProc,      // handle to window 
													UINT		  uMsg_R_WordExplain,      // message identifier 
													WPARAM		  wParam_R_WordExplain,    // first message parameter 
													LPARAM		  lParam_R_WordExplain     // second message parameter 
													); 
 
//单词屏保-----单词及其解释滚动显示 
LRESULT CALLBACK WinProcChild_ScreKeep_List( HWND	      hwnd_Scr_List_WinProc,      // handle to window 
											 UINT		  uMsg_Scr_List,      // message identifier 
											 WPARAM		  wParam_Scr_List,    // first message parameter 
											 LPARAM		  lParam_Scr_List     // second message parameter 
											); 
 
//圆饼图 
LRESULT CALLBACK WinProcChild_Caky_Chart( HWND			hwnd_Caky_Chart_WinProc,      // handle to window 
										  UINT			uMsg_Caky_Chart,      // message identifier 
										  WPARAM		wParam_Caky_Chart,    // first message parameter 
										  LPARAM		lParam_Caky_Chart     // second message parameter 
										); 
 
//柱状图 
LRESULT CALLBACK WinProcChild_Histogram( HWND	      hwnd_Histogram_WinProc,      // handle to window 
										 UINT		  uMsg_Histogram,      // message identifier 
										 WPARAM		  wParam_Histogram,    // first message parameter 
										 LPARAM		  lParam_Histogram     // second message parameter 
										); 
 
 
 
 
 
static BOOL InitWindow( HINSTANCE hInstance, int nCmdShow ); 
//让窗口居中显示 
void CenterWindow(HWND hwnd_CenterWin); 
void DeleteObectOwn(void); 
void LoadPicture(HWND hwnd_LoadPic, HDC hdc); 
void InitButtonWindow(HWND hwnd_InitButt); 
void Triangle(HDC hdc, POINT pt[]); 
 
void PaintEllipse(HDC hdc, POINT pt[]); 
void PaintEllipse_ImitateBUTTON(HDC hdc, POINT pt[], int Flag_ImiBut); 
 
void DrawChildWindow(HWND hwndChild_DrawChWin, HDC hdc); 
 
void MainMenuPaintEllipse(HDC hdc, POINT pt[]); 
void ChangColor(void); 
 
void Init_MainWindow_CtrList(HWND	hwndChild_InitMainWinCtrList); 
void Init_RecoWord_CtrList(HWND		hwndChild_RecoWord_Init); 
void Init_EtoCDic_CtrList(HWND		hwndChild_EtoCDic_Init); 
void Init_Setting_CtrList(HWND		hwndChild_Setting_Init); 
void Init_Setting_ContentOne(HWND	hwndGrandchild_ConOne_Init); 
void Init_Setting_ContentTwo(HWND	hwndGrandchild_ConTwo_Init); 
 
void Init_RecoWord_WordList(HWND	hwndGrandchild_R_WordList_Init); 
void Init_RecoWord_WordExplain(HWND	hwndGrandchild_R_WordExplain_Init); 
void Init_ScreKeep_List(HWND		hwndGrandchild_Scre_List_Init); 
 
void PaintRectangle(HDC hdc, POINT pt[]); 
 
void FillListBox (HWND hwndList); 
 
 
void Top_Bottom_Order_Main_Menu_List(HWND hwnd_Main_Menu, int FLAG_MainMenuList); 
void Top_Bottom_Order_MenuOne_Or_MenuThree(int FLAG_Menu_O_Or_T); 
void Top_Bottom_Order_MenuFour(int FLAG_Menu_Four); 
 
void Top_Bottom_Order_S_Chart(int		FLAG_S_Chart); 
void Top_Bottom_Order_S_WordClass(int	FLAG_S_WordClass); 
void Top_Bottom_Order_S_StudyMod(int	FLAG_S_StudyMod); 
void Top_Bottom_Order_S_ClewMod(int		FLAG_S_ClewMod); 
void Top_Bottom_Order_S_DispSpeed(int	FLAG_S_DispSpeed); 
 
void ClearAllFrame(void); 
 
 
extern "C" U16  STDCALL Fun_AiBinHaoSi(U16 n, U16 fit_estate, char Main_MainWordArray[], char Main_TotalWords[]); 
 
extern "C" unsigned short STDCALL LDEngChDictionaryEngine(char*  InputBuf,  
														  char*  WordListBuf, 
														  char*  SoundListBuf, 
														  unsigned int BuffeSize, 
														  short * ExplainNum); 
 
extern "C" void STDCALL GetSoundFromList( char *SoundListBuf, 
										  char *SoundOutBuf, 
										  short PosNum); 
 
extern "C" void STDCALL RetrieveWordChExp(char *OutBuffer, 
										  short LineNum,  
										  short PosNum); 
 
void Print_WordList(char WordListBuf[512]); 
void Print_WordExplain(HDC hdc_WordExplain, char OutExplain[512]); 
 
//根据选中的单词来查找相关的音标和解释 
void Word_Explain_a(char  MainWordArray[], char  InputWord[], char R_YinBiao[], char  R_Remove_YB_ExplBuf[]); 
 
//根据输入的数字来得到相应的单词和音标和解释 
void IN_Num_OUT_Word_YB_Explain(char MainWordArray[], char TotalWords[], int InNum_a, char Word_a[], char YinBiao_a[], char Explain_a[]); 
//计算解释所占用的行数 
void CountExplainRow(void); 
//解释分行存入二维数组 
//ExlplainRow[6][25] 
void BaseRowNum_ChaiFenExplain(void); 
void BaseTimeOutputdata_A(void);  //根据定时器时间得出A数据 
void BaseTimeOutputdata_B(void);  //根据定时器时间得出B数据 
//画矩形 
void PrintRectangle(HDC hdc_Rect); 
//画坐标函数 
void PrintCoordinate(HDC hdc_Coordi); 
//画格子 
void PrintGrid(HDC hdc_grid, int x1, int y1, int x2); 
 
#endif   //WINMAIN_H 
///:~ 
 
/*========================End of File ================================================*/