📄 main.c
字号:
void *SetFunction5[]={(void*)Showall1,(void*)Showall1,(void*)Showall1};
void *SetFunction6[]={(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,
(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi,(void*)OnSetjishi};
void OnSetTime()
{
SetTelephoneSetFocus();
CreateSetTelephoneArea(TRUE);
mainstatus=SHOW_DETAIL1;
}
void OnSetjishi(){
SetjishiSetFocus();
setjishiarea(TRUE);
mainstatus=SHOW_DETAIL2;
}
void OnSetricheng(){
SetrichengSetFocus();
setrichengarea(TRUE);
mainstatus=SHOW_MONTH;
}
void Menu_Tele()
{ ClearScreen();
ListCtrlReMoveAll(pMainListCtrl);
ReLoadListCtrl(pMainListCtrl,&MainSer[0],SET_FUNCTION_NUM);
mainstatus=MAIN_TELE;
ReDrawOSCtrl();
}
void Menu_JiShi()
{ ClearScreen();
ListCtrlReMoveAll(pMainListCtrl);
ReLoadListCtrl(pMainListCtrl,&JiShi[0],SET_FUNCTION_NUM1);
mainstatus=MAIN_JISHI;
ReDrawOSCtrl();
}
void Menu_RiCheng()
{ ClearScreen();
ListCtrlReMoveAll(pMainListCtrl);
ReLoadListCtrl(pMainListCtrl,&Ri[0],SET_FUNCTION_NUM2);
mainstatus=MAIN_RICHENG;
ReDrawOSCtrl();
}
void ShowAll()
{ int i;
char name[20];
U16 Name[20];
ClearScreen();
ListCtrlReMoveAll(pMainListCtrl);
mainstatus=SET_SERALL;
for( i=0;i<15;i++){
strcpy(name,p[i].name);
strChar2Unicode(Name,name);
AddStringListCtrl(pMainListCtrl,Name);
}
ReDrawOSCtrl();
}//在列表框中显示所有人员姓名
void Showall(){
int i;
char name[20];
U16 Name[20];
ClearScreen();
ListCtrlReMoveAll(pMainListCtrl);
mainstatus=SET_DELETE;
for( i=0;i<15;i++){
strcpy(name,p[i].name);
strChar2Unicode(Name,name);
AddStringListCtrl(pMainListCtrl,Name);
}
ReDrawOSCtrl();}//在列表框中显示所有人员姓名
void ShowDetail()
{ int i;
char name[20];
char relation[20];
char mobil[20];
char home[20];
char office[20];
U16 Name[14][20];
U16 Relation[14][20];
U16 Mobil[14][20];
U16 Home[14][20];
U16 Office[14][20];
structRECT rect;
PDC pdc;
ClearScreen();
pdc= CreateDC();
mainstatus=SHOW_DETAIL;
TextOut(pdc,135,50,ch6,TRUE,FONTSIZE_SMALL);//姓名
TextOut(pdc, 135, 75, ch7, TRUE, FONTSIZE_SMALL);//关系
TextOut(pdc, 135, 100, ch8, TRUE, FONTSIZE_SMALL);//移动电话
TextOut(pdc, 135, 125, ch9, TRUE, FONTSIZE_SMALL);//家庭电话
TextOut(pdc, 135, 150, ch0, TRUE, FONTSIZE_SMALL);//办公电话
SetRect(&rect,185,45,318,65); //创建姓名文本框
pTextCtrl6=CreateTextCtrl(ID_SetName_TextCtrl1, &rect, FONTSIZE_MIDDLE, CTRL_STYLE_3DDOWNFRAME,NULL,NULL);
SetRect(&rect,185,70,318,90);//创建关系文本框
pTextCtrl7=CreateTextCtrl(ID_SetRela_TextCtrl1, &rect, FONTSIZE_MIDDLE, CTRL_STYLE_3DDOWNFRAME,NULL,NULL);
SetRect(&rect,185,95,318,115);//创建手机文本框
pTextCtrl8=CreateTextCtrl(ID_SetMobil_TextCtrl1, &rect, FONTSIZE_MIDDLE, CTRL_STYLE_3DDOWNFRAME,NULL,NULL);
SetRect(&rect,185,120,318,140);//创建家庭电话文本框
pTextCtrl9=CreateTextCtrl(ID_SetHome_TextCtrl1, &rect, FONTSIZE_MIDDLE, CTRL_STYLE_3DDOWNFRAME,NULL,NULL);
SetRect(&rect,185,145,318,165);//创建办公电话文本框
pTextCtrl0=CreateTextCtrl(ID_SetOffice_TextCtrl1, &rect, FONTSIZE_MIDDLE, CTRL_STYLE_3DDOWNFRAME,NULL,NULL);
for(i=0;i<15;i++){
strcpy(name,p[i].name);
strChar2Unicode(Name[i],name);
strcpy(relation,p[i].relation);
strChar2Unicode(Relation[i],relation);
strcpy(mobil,p[i].mobil);
strChar2Unicode(Mobil[i],mobil);
strcpy(home,p[i].home);
strChar2Unicode(Home[i],home);
strcpy(office,p[i].office);
strChar2Unicode(Office[i],office);
} //在文本框中显示电话簿的具体信息
SetTextCtrlText(pTextCtrl6, Name[pMainListCtrl->CurrentSel],TRUE);
SetTextCtrlText(pTextCtrl7, Relation[pMainListCtrl->CurrentSel],TRUE);
SetTextCtrlText(pTextCtrl8, Mobil[pMainListCtrl->CurrentSel],TRUE);
SetTextCtrlText(pTextCtrl9, Home[pMainListCtrl->CurrentSel],TRUE);
SetTextCtrlText(pTextCtrl0, Office[pMainListCtrl->CurrentSel],TRUE);
ReDrawOSCtrl();
DestoryDC(pdc);
}//显示人员具体信息
void ShowMonth(){
ClearScreen();
ListCtrlReMoveAll(pMainListCtrl);
ReLoadListCtrl(pMainListCtrl,&Mo[0],SET_FUNCTION_NUM21);
mainstatus=SER_RI;
ReDrawOSCtrl();
}
void Showall1(){
char zhu[20];
U16 Zhu[20];
FILE *pfile;
int i;
ClearScreen();
pfile=OpenOSFile(TextFile1name,FILEMODE_READ);
if(pfile==NULL){
LCD_printf("Can't Open file!\n");
for(;;)
OSTimeDly(1000);
}
for(i=0;i<31;i++){
ReadOSFile(pfile,(U8*)&j[i],sizeof(j));
}
CloseOSFile(pfile);
ClearScreen();
ListCtrlReMoveAll(pMainListCtrl);
mainstatus=SET_SERJI;
for( i=0;i<31;i++){
strcpy(zhu,j[i].zhu);
strChar2Unicode(Zhu,zhu);
AddStringListCtrl(pMainListCtrl,Zhu);}
ReDrawOSCtrl();
}//在列表框中显示所有事件主题
U8 OnOk()
{
switch(mainstatus){
case MAIN_MENU: //主菜单状态
if(pMainListCtrl->CurrentSel>=0 && pMainListCtrl->CurrentSel<4)
( (void (*)(void)) (MainFunction[pMainListCtrl->CurrentSel]) )();
return TRUE;
case MAIN_TELE:
if(pMainListCtrl->CurrentSel>=0 && pMainListCtrl->CurrentSel<5)
( (void (*)(void)) (SetFunction[pMainListCtrl->CurrentSel]) )();
return TRUE;
case SET_SERALL:
if(pMainListCtrl->CurrentSel>=0 && pMainListCtrl->CurrentSel<15)
( (void (*)(void)) (SetFunction1[pMainListCtrl->CurrentSel]) )();
return TRUE;
case SET_DELETE:
if(pMainListCtrl->CurrentSel>=0 && pMainListCtrl->CurrentSel<15)
( (void (*)(void)) (SetFunction2[pMainListCtrl->CurrentSel]) )();
return TRUE;
case SHOW_DETAIL1:
SetTelephoneOK();
//Savenum();
break;
case MAIN_JISHI:
if(pMainListCtrl->CurrentSel>=0 && pMainListCtrl->CurrentSel<4)
( (void (*)(void)) (SetFunction5[pMainListCtrl->CurrentSel]) )();
return TRUE;
case SET_SERJI:
if(pMainListCtrl->CurrentSel>=0 && pMainListCtrl->CurrentSel<31)
( (void (*)(void)) (SetFunction6[pMainListCtrl->CurrentSel]) )();
return TRUE;
case SHOW_DETAIL2:
SetjishiOK();
break;
case MAIN_RICHENG:
if(pMainListCtrl->CurrentSel>=0 && pMainListCtrl->CurrentSel<4)
( (void (*)(void)) (SetFunction3[pMainListCtrl->CurrentSel]) )();
return TRUE;
case SER_RI:
OnSetricheng();
break;
case SHOW_MONTH:
SetrichengOK();
break;
}
return FALSE;
}
U8 OnCancel()
{
structRECT rect;
PDC pdc;
pdc=CreateDC();
switch(mainstatus){
case MAIN_TELE:
ClearScreen();
ReLoadListCtrl(pMainListCtrl,&MainFn[0],MAIN_FUNCTION_NUM);
mainstatus=MAIN_MENU;
ReDrawOSCtrl();
break;
case MAIN_JISHI:
ClearScreen();
ReLoadListCtrl(pMainListCtrl,&MainFn[0],MAIN_FUNCTION_NUM);
mainstatus=MAIN_MENU;
ReDrawOSCtrl();
break;
case MAIN_RICHENG:
ClearScreen();
ReLoadListCtrl(pMainListCtrl,&MainFn[0],MAIN_FUNCTION_NUM);
mainstatus=MAIN_MENU;
ReDrawOSCtrl();
break;
case SET_DELETE:
//DestorySetTelephoneArea();
ClearScreen();
ReLoadListCtrl(pMainListCtrl,&MainSer[0],SET_FUNCTION_NUM );
mainstatus=MAIN_TELE;
ReDrawOSCtrl();
break;
case SET_SERALL:
ClearScreen();
ReLoadListCtrl(pMainListCtrl,&MainSer[0],SET_FUNCTION_NUM );
mainstatus=MAIN_TELE;
ReDrawOSCtrl();
break;
case SET_SERJI:
ClearScreen();
ReLoadListCtrl(pMainListCtrl,&JiShi[0],SET_FUNCTION_NUM2 );
mainstatus=MAIN_JISHI;
ReDrawOSCtrl();
break;
case SHOW_DETAIL:
DestoryTextCtrl(pTextCtrl6);
DestoryTextCtrl(pTextCtrl7);
DestoryTextCtrl(pTextCtrl8);
DestoryTextCtrl(pTextCtrl9);
DestoryTextCtrl(pTextCtrl0);
FillRect(pdc, 134, 40, 319,200, GRAPH_MODE_NORMAL, COLOR_WHITE);
/*ClearScreen();
ShowAll();*/
mainstatus=SET_SERALL;
break;
case SHOW_DETAIL1:
SetTelephoneCancel();
break;
case SHOW_DETAIL2:
SetjishiCancel();
break;
case SER_RI:
ClearScreen();
ListCtrlReMoveAll(pMainListCtrl);
ReLoadListCtrl(pMainListCtrl,&Ri[0],SET_FUNCTION_NUM2);
mainstatus=MAIN_RICHENG;
ReDrawOSCtrl();
break;
case SHOW_MONTH:
SetrichengCancel();
break;
}
DestoryDC(pdc);
return TRUE;
}
U8 onKey(int nkey, int fnkey)
{
switch(nkey){
case 3: //F1=move up
return OnKeyUp();
case 7: //F2=move down
return OnKeyDown();
case 11: //F3=OK
return OnOk();
case 15: //F4=cancel
return OnCancel();
}
return FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -