Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Tạo menu như thế nào nhỉ??

  1. #1
    Ngày gia nhập
    09 2008
    Bài viết
    6

    Angry Tạo menu như thế nào nhỉ??

    Mình thấy trong đĩa hiren có menu mà khi bấm phím lên xuống thì các dòng đánh dấu cũng di chuyển. Mình tìm mãi mà không thấy mã ASCII của mấy cái phím up down đâu cả!
    Làm thế nào để dùng 4 phím di chuyển để chọn trong danh sách nhỉ?
    Pro! Help me!

  2. #2
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Thử cái này xem, khi mới học C mình làm.
    Mấy cái chương trình con đó là do dùng compiler for win nên phải viết lại. Bạn dùng compiler for dos thì bỏ chúng đi.

    C Code:
    1. #include <stdio.h>
    2. #include <windows.h>
    3. #include <conio.h>
    4.  
    5.  
    6. void SetColor(WORD color)
    7. {
    8.     HANDLE hConsoleOutput;
    9.     hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    10.  
    11.     CONSOLE_SCREEN_BUFFER_INFO screen_buffer_info;
    12.     GetConsoleScreenBufferInfo(hConsoleOutput, &screen_buffer_info);
    13.  
    14.     WORD wAttributes = screen_buffer_info.wAttributes;
    15.     color &= 0x000f;
    16.     wAttributes &= 0xfff0;
    17.     wAttributes |= color;
    18.  
    19.     SetConsoleTextAttribute(hConsoleOutput, wAttributes);
    20. }
    21.  
    22.  
    23. void clrscr(void)
    24. {
    25.     CONSOLE_SCREEN_BUFFER_INFO  csbiInfo;
    26.     HANDLE  hConsoleOut;
    27.     COORD   Home = {0,0};
    28.     DWORD   dummy;
    29.  
    30.     hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);
    31.     GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);
    32.  
    33.     FillConsoleOutputCharacter(hConsoleOut,' ',csbiInfo.dwSize.X * csbiInfo.dwSize.Y,Home,&dummy);
    34.    csbiInfo.dwCursorPosition.X = 0;
    35.    csbiInfo.dwCursorPosition.Y = 0;
    36.    SetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition);
    37. }
    38.  
    39. void menu1()
    40. {
    41.     SetColor(8);printf("\n1.Lua chon 1.");
    42.     SetColor(15);printf("\n2.Lua chon 2.");
    43.     printf("\n3.Lua chon 3.");
    44.     printf("\n4.Lua chon 4.");
    45.     printf("\n5.Thoat.\n");
    46. }
    47. void menu2()
    48. {
    49.     printf("\n1.Lua chon 1.");
    50.     SetColor(8);printf("\n2.Lua chon 2.");
    51.     SetColor(15);printf("\n3.Lua chon 3.");
    52.     printf("\n4.Lua chon 4.");
    53.     printf("\n5.Thoat.\n");
    54. }
    55. void menu3()
    56. {
    57.     printf("\n1.Lua chon 1.");
    58.     printf("\n2.Lua chon 2.");
    59.     SetColor(8);printf("\n3.Lua chon 3.");
    60.     SetColor(15);printf("\n4.Lua chon 4.");
    61.     printf("\n5.Thoat.\n");
    62. }
    63. void menu4()
    64. {
    65.     printf("\n1.Lua chon 1.");
    66.     printf("\n2.Lua chon 2.");
    67.     printf("\n3.Lua chon 3.");
    68.     SetColor(8);printf("\n4.Lua chon 4.");
    69.     SetColor(15);printf("\n5.Thoat.\n");
    70. }
    71. void menu5()
    72. {
    73.     printf("\n1.Lua chon 1.");
    74.     printf("\n2.Lua chon 2.");
    75.     printf("\n3.Lua chon 3.");
    76.     printf("\n4.Lua chon 4.");
    77.     SetColor(8);printf("\n5.Thoat.\n");
    78.     SetColor(15);
    79. }
    80.  
    81. int main()
    82. {
    83.     int i=1;
    84.     char c;
    85.     do{
    86.         clrscr();
    87.         switch (i)
    88.         {
    89.             case 1:menu1();break;
    90.             case 2:menu2();break;
    91.             case 3:menu3();break;
    92.             case 4:menu4();break;
    93.             case 5:menu5();break;
    94.         }
    95.         c=getch();
    96.         if (c==80 && i<5)i++;  //nhan mui ten xuong
    97.         if (c==72 && i>1)i--;  //nhan mui ten len
    98.       } while (c!=13);
    99.     if (i==5)exit(0);
    100.     printf("\n\nDong ban chon la: \n");
    101.     switch (i)
    102.         {
    103.             case 1:printf("\n1.Lua chon 1.");break;
    104.             case 2:printf("\n2.Lua chon 2.");break;
    105.             case 3:printf("\n3.Lua chon 3.");break;
    106.             case 4:printf("\n4.Lua chon 4.");break;
    107.             case 5:printf("\n5.Thoat.\n");break;
    108.         }
    109.     printf("\n");
    110.     getch();
    111. }

    clrscr() có thể thay bằng system("cls"); không cần dùng hàm.

Các đề tài tương tự

  1. Dựng 1 menu Asp.net bằng thẻ <ul> <li> hay Control [ Menu , SiteMap , Repeater , Treeview]
    Gửi bởi teodainhan trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 8
    Bài viết cuối: 30-05-2013, 01:04 PM
  2. Source Code menu thêm item vào Menu Context
    Gửi bởi babyboy_pk trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 25-03-2013, 01:56 PM
  3. Googlechomre không hiển thị menu con khi dùng sitemapth để load menu đa cấp
    Gửi bởi thitcholaotien trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 6
    Bài viết cuối: 09-04-2012, 02:19 PM
  4. Tạo menu theo dạng Menu cha - con như thế nào?
    Gửi bởi tuanvu199x trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 3
    Bài viết cuối: 06-11-2011, 10:45 PM
  5. Hight light menu trong C như của Menu HirentBoot?
    Gửi bởi manhdt trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 08-09-2011, 09:54 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn