⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eig.c

📁 一个在linux+MiniGui的彩票销售终端程序,基于framebuffer的程序.
💻 C
📖 第 1 页 / 共 3 页
字号:
    return hmnuother;}//文件传输菜单项static HMENU createpmenufs(){  MENUITEMINFO mii;  memset(&mii,0,sizeof(MENUITEMINFO));    mii.type     = MFT_STRING;  mii.id       = 0;  mii.typedata = (DWORD)"                  文件传输                   ";  hmnufs         = CreatePopupMenu(&mii);    memset(&mii,0,sizeof(MENUITEMINFO));  mii.type     = MFT_STRING;  mii.state    =0;  mii.id       = IDM_TTL;  mii.typedata = (DWORD)"             1    网卡传输                    ";  InsertMenuItem(hmnufs,0,TRUE,&mii);  mii.type     = MFT_STRING;  mii.state    = 0;  mii.id       = IDM_RTL;  mii.typedata = (DWORD)"             2   Modem传输                   ";  InsertMenuItem(hmnufs,1,TRUE,&mii);/*    mii.type     = MFT_SEPARATOR;  mii.state    = 0;  mii.id       = 0;  mii.typedata = 0;  InsertMenuItem(hmnufs,2,TRUE,&mii);  mii.type     = MFT_STRING;  mii.state    = 0;  mii.id       = IDM_COPY;  mii.typedata = (DWORD)"               电子盘拷贝                ";  InsertMenuItem(hmnufs,3,TRUE,&mii);*/    return hmnufs;}//报表菜单项/*static HMENU createpmenureport(){  MENUITEMINFO mii;  memset(&mii,0,sizeof(MENUITEMINFO));  mii.type      = MFT_STRING;  mii.id        = 0;  mii.typedata  = (DWORD)"                  报表                 ";  hmnureport    = CreatePopupMenu(&mii);  memset(&mii,0,sizeof(MENUITEMINFO));  mii.type      = MFT_STRING;  mii.state     = 1;  mii.id        = IDM_CLASS;  mii.typedata  = (DWORD)"             1    班报表               ";  InsertMenuItem(hmnureport,1,TRUE,&mii);   mii.type      = MFT_STRING;  mii.state     = 1;  mii.id        = IDM_DATA;  mii.typedata  = (DWORD)"             2    日报表               ";  InsertMenuItem(hmnureport,2,TRUE,&mii);   mii.type      = MFT_STRING;  mii.state     = 1;  mii.id        = IDM_TIME;  mii.typedata  = (DWORD)"             3   时段报表              ";  InsertMenuItem(hmnureport,3,TRUE,&mii);  return hmnureport;}*///操作菜单项/*static HMENU createpmenuoperator(){  MENUITEMINFO mii;  memset(&mii,0,sizeof(MENUITEMINFO));  mii.type      = MFT_STRING;  mii.id        = 0;  mii.typedata  = (DWORD)"             操作              ";  hmnuoperator     = CreatePopupMenu(&mii);  memset(&mii,0,sizeof(MENUITEMINFO));  mii.type      = MFT_STRING;  mii.id        = IDM_PAPER;  mii.typedata  = (DWORD)"             售票              ";  InsertMenuItem(hmnuoperator,0,TRUE,&mii);  mii.type      = MFT_STRING;  mii.id        = IDM_CHANGE;  mii.typedata  = (DWORD)"             兑奖              ";  InsertMenuItem(hmnuoperator,1,TRUE,&mii);  return hmnuoperator;}*///读票菜单项static HMENU createpmenuread(){  MENUITEMINFO mii;  memset(&mii,0,sizeof(MENUITEMINFO));  mii.type      = MFT_STRING;  mii.id        = 0;  mii.typedata  = (DWORD)"                  读票                 ";  hmnuread    = CreatePopupMenu(&mii);  memset(&mii,0,sizeof(MENUITEMINFO));  mii.type      = MFT_STRING;  mii.state     = 0;  mii.id        = IDM_TZ;  mii.typedata  = (DWORD)"             1    投注单               ";  InsertMenuItem(hmnuread,1,TRUE,&mii);   mii.type      = MFT_STRING;  mii.state     = 0;  mii.id        = IDM_DJ;  mii.typedata  = (DWORD)"             2    兑奖单               ";  InsertMenuItem(hmnuread,2,TRUE,&mii);   mii.type      = MFT_STRING;  mii.state     = 0;  mii.id        = IDM_ONE;  mii.typedata  = (DWORD)"             3   机选一注              ";  InsertMenuItem(hmnuread,3,TRUE,&mii);  mii.type      = MFT_STRING;  mii.state     = 0;  mii.id        = IDM_FIVE;  mii.typedata  = (DWORD)"             4   机选五注              ";  InsertMenuItem(hmnuread,4,TRUE,&mii);   mii.type      = MFT_STRING;  mii.state     = 0;  mii.id        = IDM_DEFINE;  mii.typedata  = (DWORD)"             5   机选自定              ";  InsertMenuItem(hmnuread,5,TRUE,&mii);  return hmnuread;}//生成各菜单static HMENU createmenu(){  HMENU hmnu;  MENUITEMINFO mii;  hmnu = CreateMenu();  memset(&mii,0,sizeof(MENUITEMINFO));  mii.type      = MFT_STRING;  mii.id        = 300;  mii.typedata  = (DWORD)"                    其他                           ";  mii.hsubmenu  = createpmenuother();  InsertMenuItem(hmnu,0,TRUE,&mii);  mii.type      = MFT_STRING;  mii.id        = 320;  mii.typedata  = (DWORD)"                         文件传输                    ";  mii.hsubmenu  = createpmenufs();  InsertMenuItem(hmnu,1,TRUE,&mii);  mii.type      = MFT_STRING;  mii.id        = 340;  mii.typedata  = (DWORD)"                          文件接收                   ";  mii.hsubmenu  = createpmenufr();  InsertMenuItem(hmnu,2,TRUE,&mii);  mii.type      = MFT_STRING;  mii.id        = 360;  mii.typedata  = (DWORD)"                        读票                         ";  mii.hsubmenu  = createpmenuread();  InsertMenuItem(hmnu,3,TRUE,&mii);/*  mii.type      = MFT_STRING;  mii.id        = 360;  mii.typedata  = (DWORD)"                        报表                         ";  mii.hsubmenu  = createpmenureport();  InsertMenuItem(hmnu,3,TRUE,&mii);  mii.type      = MFT_STRING;  mii.id        = 380;  mii.typedata  = (DWORD)"                 操作               ";  mii.hsubmenu  = createpmenuoperator();  InsertMenuItem(hmnu,4,TRUE,&mii);*/  return hmnu;}//主窗口处理过程int MainWinProc(HWND hWnd,int message,WPARAM wParam,LPARAM lParam){//  BITMAP bmp;  HDC hdc;  int i,j,k, zi;  int sys,left;  char data[30] = "\0";  char num[150] = "\0";  char print_data[151] = "\0";  static char rn[4]={0x0a,0x0d};	  switch(message)  {    case MSG_CREATE:         InvalidateRect(hWnd,NULL,TRUE);	 break;    //显示一幅图片    case MSG_PAINT:/*         hdc = BeginPaint(hWnd);         LoadBitmap(hdc,&bmp,"res/vacs3.bmp");         FillBoxWithBitmap(hdc,100,100,bmp.bmWidth,bmp.bmHeight,&bmp);         UnloadBitmap(&bmp);         EndPaint(hWnd,hdc);         break;*/          hdc = GetDC(hWnd);	 	 Draw3DUpThinFrame(hdc,4,26,188,53,PIXEL_invalid);	 Draw3DUpThinFrame(hdc,189,26,399,53,PIXEL_invalid);	 Draw3DUpThinFrame(hdc,400,26,610,53,PIXEL_invalid);	 Draw3DUpThinFrame(hdc,611,26,795,53,PIXEL_invalid);	 ReleaseDC(hdc);         break;    case MSG_KEYDOWN:	 switch(wParam)	 {		case SCANCODE_F1:		     TrackMenuBar(hWnd,0);		     break;		case SCANCODE_F2:		     TrackMenuBar(hWnd,1);		     break;		case SCANCODE_F3:		     TrackMenuBar(hWnd,2);		     break;		case SCANCODE_F4: 		     TrackMenuBar(hWnd,3);		     break;		case SCANCODE_P:                     MessageBox(hWnd,                            "                 注意         \n \n "                            "  请检查打印机,装好纸。\n",                            "打印",                             MB_OKCANCEL | MB_ICONINFORMATION );                     break;		case SCANCODE_H:                     MessageBox (hWnd,                            "雄震科技彩票机系统Linux演示版1.0\n"                            "Copyright (C) 2002 EIG .\n\n",                            "关于雄震彩票机",                            MB_OK | MB_ICONINFORMATION);                     break;                case SCANCODE_M:  	             DisplayRTLDialog (hWnd);                     break;		case SCANCODE_N:	             DisplayTTLDialog (hWnd);                     break;	 }         break;    case MSG_COMMAND:         switch(wParam)         {           case IDM_KEY:		DisplayKEYDialog(hWnd);		break;           case IDM_PRINT:                if(MessageBox(hWnd,                            "                 注意         \n \n "                            "  请检查打印机,装好纸。\n",                            "打印",                             MB_OKCANCEL | MB_ICONINFORMATION ) == IDOK)		{		zi=0;		zi=zi+seed();		srand(zi);		randnum(data);			strcat(num,rn);		strcat(num,"① ");		strcat(num,data);		strcat(num,rn);			zi=zi+seed();		srand(zi);		randnum(data);		strcat(num,"② ");                strcat(num,data);                strcat(num,rn);		zi=zi+seed();		srand(zi);		randnum(data);		strcat(num,"③ ");                strcat(num,data);                strcat(num,rn);		zi=zi+seed();		srand(zi);		randnum(data);		strcat(num,"④ ");                strcat(num,data);                strcat(num,rn);		zi=zi+seed();		srand(zi);		randnum(data);		strcat(num,"⑤ ");                strcat(num,data);                strcat(num,rn);         	PrintPaper(num,10);		}                break;  /*          case IDM_MSG:           case IDM_END:           case IDM_ABOUT:                break;*/           case IDM_HELP:                MessageBox (hWnd,                       "雄震科技彩票机系统Linux演示版1.0\n"                       "Copyright (C) 2002 EIG .\n\n",                       "关于雄震彩票机",                       MB_OK | MB_ICONINFORMATION);                break;           /*           case IDM_COPY:		MessageBox(hWnd,                           "                   注意           \n \n"                           "        此操作需经中心许可      \n"                           " 请确认本机D盘插入正确,然后按确认。\n",                           "电子盘拷贝",                           MB_OKCANCEL | MB_ICONINFORMATION);                break;*/           case IDM_TTL:                DisplayTTLDialog (hWnd);                break;           case IDM_RTL:                DisplayRTLDialog (hWnd);                break;                      //远程接收           case IDM_RR:		MR(hWnd);                break;            case IDM_FR:		{                              i = system("/home/lisp/recv/recvf &> log");			if(i == 32512)			{				MessageBox(hWnd,"没找到可执行文件!","网卡接收",					MB_OK|MB_ICONINFORMATION);				return 0;			}			MessageBox(hWnd,"网卡接收已启动!","网卡接收",                                    MB_OK|MB_ICONINFORMATION);                        //使该菜单项显灰,激活停止接收菜单项                	EnableMenuItem(hmnufr,IDM_FR,TRUE);                	EnableMenuItem(hmnufr,IDM_STOP,FALSE);                	break;		}	   case IDM_STOP:		{                        //调用杀死接收进程函数			ExeclSys();			MessageBox(hWnd,"网卡已停止接收!","网卡接收",					MB_OK|MB_ICONINFORMATION);			EnableMenuItem(hmnufr,IDM_FR,FALSE);			EnableMenuItem(hmnufr,IDM_STOP,TRUE);			break;		}	   case IDM_TZ:		TZ(hWnd);		break;	   case IDM_DJ:		break;	   case IDM_ONE:		zi=0;		zi=zi+seed();		srand(zi);		randnum(data);                strcat(num,rn);                strcat(num,"① ");                strcat(num,data);                strcat(num,rn);                strcat(num,rn);                strcat(num,rn);                strcat(num,rn);                strcat(num,rn);                PrintPaper(num,2);         	break;           case IDM_FIVE:		zi=0;		zi=zi+seed();		srand(zi);                randnum(data);                strcat(num,rn);                strcat(num,"① ");                strcat(num,data);                strcat(num,rn);		zi=zi+seed();		srand(zi);                randnum(data);                strcat(num,"② ");                strcat(num,data);                strcat(num,rn);		zi=zi+seed();		srand(zi);                randnum(data);                strcat(num,"③ ");                strcat(num,data);                strcat(num,rn);		zi=zi+seed();		srand(zi);                randnum(data);                strcat(num,"④ ");                strcat(num,data);                strcat(num,rn);		zi=zi+seed();		srand(zi);                randnum(data);                strcat(num,"⑤ ");                strcat(num,data);                strcat(num,rn);                PrintPaper(num,10);		break;           case IDM_DEFINE:		DisplayZXDialog(hWnd);		break;           /*           case IDM_CLASS:	   case IDM_DATA:           case IDM_TIME:                break;                      case IDM_PAPER:		break;             case IDM_CHANGE:		DisplayChangeDialog(hWnd);                break;*/           case IDM_EXIT:                if (MessageBox (hWnd,                         "你真的要退出吗?",                         "雄震科技",                          MB_OKCANCEL|MB_ICONQUESTION |                          MB_BASEDONPARENT) != IDOK)                     return 0;		SendMessage(hWnd, MSG_CLOSE, 0, 0L);                break;        }         break;     case MSG_CLOSE:	ShowWindow(hWnd,SW_HIDE);	DisplayExitDialog(hWnd);        DestroyMainWindow (hWnd);        PostQuitMessage (hWnd);//	ExitSys();//	system("shutdown -h now");        return 0;  }  return DefaultMainWinProc(hWnd,message,wParam,lParam);  }//主函数int MiniGUIMain(int args,const char* arg[]){  MSG msg;  MAINWINCREATE CreateInfo;  char buff[200] = "\0";   #ifdef _LITE_VERSION  SetDesktopRect (0, 0, 800, 600);  #endif  DisplayLoginDialog(hWnd);  sprintf(buff,"中国体育彩票计算机销售系统Linux演示版                                                                                                             销售员: %s ",sUser);    CreateInfo.dwStyle = WS_CAPTION|WS_BORDER|WS_SYSMENU;  CreateInfo.spCaption = buff;  CreateInfo.dwExStyle = WS_EX_NONE;  CreateInfo.hMenu = createmenu();  CreateInfo.hCursor = GetSystemCursor(0);  CreateInfo.hIcon = 0;  CreateInfo.MainWindowProc = MainWinProc;  CreateInfo.lx = 0;  CreateInfo.ty = 0;  CreateInfo.rx = 800;  CreateInfo.by = 600;  CreateInfo.iBkColor = PIXEL_lightgray;  CreateInfo.dwAddData = 0;  CreateInfo.hHosting = HWND_DESKTOP;    hWnd = CreateMainWindow(&CreateInfo);  if(hWnd == HWND_INVALID)    return -1;    ShowWindow(hWnd,SW_SHOWNORMAL);  while(GetMessage(&msg,hWnd))  {    TranslateMessage(&msg);    DispatchMessage(&msg);  }  MainWindowThreadCleanup(hWnd);  return 0;}//局域网传输处理函数static int TTLDialogProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam){     char sIP[16];     char sFile[50];     HWND hIPEdit;     FILEDLGDATA myfile;     int choise,ret,n1,n2;     strcpy(myfile.filepath,".");     myfile.IsSave = FALSE;     switch (message)        {            case MSG_CREATE:                 {                       //动态生成几个控件,以方便编辑框的子类化                      CreateWindow("static","IP地址",                                   WS_VISIBLE | WS_CHILD,                                   IDC_IPAdd, 14, 20, 80, 22,hDlg, 0);                     hIPEdit = CreateWindow("edit","",WS_VISIBLE |                                              WS_BORDER | WS_TABSTOP | WS_CHILD,                                             IDC_IPEdit,100, 20, 210, 22,                                             hDlg,DIGIT_ONLY);                     CreateWindow("static","文件名",WS_VISIBLE |                                             WS_CHILD,IDC_File,14, 70, 80, 22,                                            hDlg, 0);                     CreateWindow("edit","",WS_VISIBLE |                                   WS_BORDER | WS_TABSTOP | WS_CHILD,                                   IDC_FileEdit,100, 70, 210, 22,hDlg, 0);                     //限制编辑框的输入长度                     SendMessage(hIPEdit,EM_LIMITTEXT,16,0);                     //调用自写的对编辑框操作的子类化函数                     old_proc = SetWindowCallbackProc(hIPEdit,DigitEdit);                     break;                 }            case MSG_INITDIALOG:                 return 1;             case MSG_COMMAND:                switch (wParam)

⌨️ 快捷键说明

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