📄 key_prc.lst
字号:
460 4 case 0x05: //"返回"按键确认
461 4
462 4 disp_mode = FIRST_MENU_DISP;
463 4
464 4 break;
465 4
466 4 default:
467 4 break;
468 4 }
469 3 select_position = 0;
470 3 break;
471 3
472 3 case 5: /* 五条信息时处理*/
473 3
474 3 switch(select_position)
475 3 {
476 4 case 0x00:
477 4 In_third_menu();
478 4 Get_mes_content(5,0);
479 4 break;
480 4 case 0x01:
481 4 In_third_menu();
482 4 Get_mes_content(5,1);
483 4 break;
484 4 case 0x02:
485 4 In_third_menu();
486 4 Get_mes_content(5,2);
487 4 break;
488 4 case 0x03:
489 4 In_third_menu();
C51 COMPILER V7.06 KEY_PRC 06/10/2005 13:26:28 PAGE 9
490 4 Get_mes_content(5,3);
491 4 break;
492 4 case 0x04:
493 4 In_third_menu();
494 4 Get_mes_content(5,4);
495 4 break;
496 4 case 0x05:
497 4 if(list_num>5) //上页按键确认
498 4 {
499 5 Prev_page_affirm(5) ;
500 5
501 5 }
502 4 else
503 4 {
504 5 scr_mes_num = Judge_mes_num(); //下页按键确认
505 5 mes_list_F = 1;
506 5 }
507 4
508 4 break;
509 4 case 0x06: //"下页"按键确认
510 4 if(list_num > 5)
511 4 {
512 5
513 5 scr_mes_num = Judge_mes_num();
514 5 mes_list_F = 1;
515 5
516 5 }
517 4 else //返回按键确认
518 4
519 4 disp_mode = FIRST_MENU_DISP;
520 4
521 4 break;
522 4 case 0x07: //"返回"按键确认
523 4 disp_mode = FIRST_MENU_DISP;
524 4
525 4 break;
526 4
527 4 default:
528 4 break;
529 4 }
530 3 select_position = 0;
531 3 break;
532 3 }
533 2 }
534 1 /*第三级菜单显示时按右键处理情况*/
535 1 else if(disp_mode == THIRD_MENU_DISP)
536 1 {
537 2 if(disp_no_u == 0) //第一屏时
538 2 {
539 3 if(content_disp_end_F == 1) //一屏就显示完内容情况下
540 3 {
541 4 switch(select_position)
542 4 {
543 5 case 0x00: //按删除键确认
544 5 Del_mes_prc(); //要删除信息
545 5 mes_list_F =1;
546 5 break;
547 5 case 0x01: //返回键确认
548 5 Return_second_menu(scr_mes_num);
549 5 mes_list_F = 1;
550 5 break;
551 5 default:
C51 COMPILER V7.06 KEY_PRC 06/10/2005 13:26:28 PAGE 10
552 5 break;
553 5 }
554 4 }
555 3 else //第一屏,但信息内容一屏没显示完
556 3 {
557 4 switch(select_position)
558 4 {
559 5 case 0x00: //下页按键处理
560 5 disp_no_u++;
561 5 content_disp_F = P_DISP ;
562 5 clear_scr_F = 1;
563 5 break;
564 5 case 0x01: //返回键处理
565 5 Return_second_menu(scr_mes_num);
566 5 mes_list_F = 1;
567 5
568 5 break;
569 5 default:
570 5 break;
571 5 }
572 4 }
573 3 }
574 2 else //不是第一屏
575 2 {
576 3 if(content_disp_end_F == 1) //显示内容已结束
577 3 {
578 4 switch(select_position)
579 4 {
580 5 case 0x00: //上页按键确认
581 5 disp_no_u--;
582 5 clear_scr_F = 1;
583 5 content_disp_F = N_DISP ;
584 5 break;
585 5 case 0x01: //删除按键确认
586 5 //删除处理
587 5 Del_mes_prc();
588 5 mes_list_F = 1;
589 5 break;
590 5 case 0x02: //返回键确认
591 5 Return_second_menu(scr_mes_num);
592 5 mes_list_F = 1;
593 5 break;
594 5 default:
595 5 break;
596 5 }
597 4 }
598 3 else //显示内容还没结束
599 3 {
600 4 switch(select_position)
601 4 {
602 5 case 0x00: //上页按键确认
603 5 if(disp_no_u >= 1)
604 5 disp_no_u--;
605 5 clear_scr_F = 1;
606 5 content_disp_F = N_DISP ;
607 5 //上页处理
608 5 break;
609 5 case 0x01: //下页按键确认
610 5 disp_no_u++;
611 5 if(disp_no_u>4)
612 5 {
613 6 disp_no_u = 4; //一条信息最多暂定五屏显示完
C51 COMPILER V7.06 KEY_PRC 06/10/2005 13:26:28 PAGE 11
614 6 break;
615 6 }
616 5 content_disp_F = P_DISP ;
617 5 clear_scr_F = 1;
618 5 break;
619 5 case 0x02: //返回键确认
620 5
621 5 Return_second_menu(scr_mes_num);
622 5 mes_list_F = 1;
623 5 break;
624 5 default:
625 5 break;
626 5 }
627 4 }
628 3 }
629 2
630 2 }
631 1 }
632
633 /***********************************************************/
634 /***********************************************************/
635
636 /***********************************************************/
637 /* 按"上页"按键时的处理 */
638 /* mes_num:是当前这一页有多少条信息 */
639 /***********************************************************/
640 void Prev_page_affirm(unsigned char mes_num)
641 {
642 1 list_num-=mes_num;
643 1 if(mes_num != 0)
644 1 {
645 2 // if(mes_list == (struct MES_CON_BLOCK code *)END)
646 2 if(mes_list == &MES_NULL)
647 2 {
648 3 mes_list=last_mes_list ;
649 3 mes_num--;
650 3 }
651 2 /*先把指针回到这一页的第一条信息处*/
652 2 while(mes_num)
653 2 {
654 3 mes_list = mes_list->prev;
655 3 mes_num--;
656 3
657 3 }
658 2 }
659 1
660 1 /*再判上一屏有多少条信息*/
661 1 scr_mes_num = R_judge_mes_num();
662 1 list_num -= scr_mes_num ;
663 1 mes_list_F = 1;
664 1
665 1 }
666
667 /***********************************************************/
668 /*这是在查看信息内容时按返回键时处理情形
669 /* mes_num:当前这一屏有多少条信息
670 /***********************************************************/
671 void Return_second_menu(unsigned char mes_num)
672 {
673 1 list_num -= mes_num ;
674 1 // if(mes_list == (struct MES_CON_BLOCK code *)END)
675 1 if(mes_list == &MES_NULL)
C51 COMPILER V7.06 KEY_PRC 06/10/2005 13:26:28 PAGE 12
676 1 {
677 2 mes_list = last_mes_list;
678 2 if(mes_num != 0)
679 2 mes_num--;
680 2 }
681 1
682 1 while(mes_num)
683 1 {
684 2 // if(mes_list->prev != (struct MES_CON_BLOCK code *)END)
685 2 if(mes_list->prev != &MES_NULL)
686 2 { mes_list = mes_list->prev;
687 3 mes_num--;
688 3 }
689 2 else
690 2 break;
691 2 }
692 1 scr_mes_num = Judge_mes_num();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -