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

📄 eig.c

📁 一个在linux+MiniGui的彩票销售终端程序,基于framebuffer的程序.
💻 C
📖 第 1 页 / 共 3 页
字号:
#include <stdio.h>#include <stdlib.h>#include <time.h>#include <string.h>#include <sys/time.h>#include <sys/types.h>#include <sys/wait.h>#include <pthread.h>#include <semaphore.h>#include <unistd.h>#include <minigui/common.h>#include <minigui/minigui.h>#include <minigui/gdi.h>#include <minigui/window.h>#include <minigui/mywindows.h>#include <minigui/filedlg.h>#include <minigui/control.h>#include "eig.h"//子类化编辑框static WNDPROC old_proc;HWND hWnd;void ExitSys(void);static void DisplayExitDialog (HWND hWnd);//各菜单项IDstatic HMENU hmnuother,hmnufs,hmnufr,hmnureport,hmnuoperator,hmnuread;//默认密码static char sUser[7] = "/0";static int logtime  = 1;DLGTEMPLATE LoginDlgInitProgress ={        WS_BORDER | WS_CAPTION,        WS_EX_NONE,        230,180,300,200,        "登录系统",        0,0,        2,NULL,        0};CTRLDATA CtrlInitLoginProgress [] ={        {                "button",                WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON,                40,130,85,30,                IDOK,                "确定",                0        },	{		"button",		WS_VISIBLE | WS_TABSTOP,		180,130,85,30,		IDCANCEL,		"取消",		0	}};DLGTEMPLATE ExitDlgInitProgress = {	WS_BORDER,	WS_EX_NONE,	270,230,250,80,	"",	0,0,	1,NULL,	0	};CTRLDATA CtrlInitExitProgress [] ={	{		"static",		WS_VISIBLE,		60,30,150,40,		IDC_SHUTDOWN,		"请直接关闭电源!",		0	}};//局域网传输对话框DLGTEMPLATE TTLDlgInitProgress ={    WS_BORDER | WS_CAPTION,    WS_EX_NONE,    200, 200, 380, 200,   "网卡传输",    0, 0,    3, NULL,    0};//远程传输对话框DLGTEMPLATE RTLDlgInitProgress ={    WS_BORDER | WS_CAPTION,    WS_EX_NONE,    200, 200, 380, 200,    "Modem传输",    0, 0,    3, NULL,    0};//修改密码对话框DLGTEMPLATE KEYDlgInitProgress = {	WS_BORDER | WS_CAPTION,	WS_EX_NONE,	200,200,300,200,	"修改密码",	0,0,	2,NULL,	0};//自选注数对话框DLGTEMPLATE ZXDlgInitProgress ={	WS_BORDER | WS_CAPTION,	WS_EX_NONE,	300,200,210,160,	"机选自定",	0,0,	5,NULL,	0};//兑奖对话框/*DLGTEMPLATE ChangeDlgInitProgress = {		WS_BORDER | WS_CAPTION,	WS_EX_NONE,	200,200,300,200,	"兑奖",	0,0,	7,NULL,	0};*/CTRLDATA CtrlInitTTLProgress [] ={       {	"button",     	WS_TABSTOP | WS_VISIBLE,        320,70,50,28,		IDC_SCAN1,	"浏览",	0    },    {        "button",        WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,        60, 130, 85, 30,        IDOK,        "确定",        0    },    {        "button",        WS_TABSTOP | WS_VISIBLE ,        235, 130, 85, 30,        IDCANCEL,        "取消",        0    }};CTRLDATA CtrlInitRTLProgress [] ={    {	"button",	WS_TABSTOP | WS_VISIBLE,	320,70,50,28,	IDC_SCAN2,	"浏览",	0     },    {   "button",        WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,        60 ,130 , 85, 30,        IDOK,        "确定",        0    },    {        "button",        WS_TABSTOP | WS_VISIBLE ,        235, 130, 85, 30,        IDCANCEL,        "取消",        0    }};CTRLDATA CtrlInitKEYProgress [] ={	{		"button",		WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON,		40,120,85,30,		IDOK,		"确认",		0	},	{		"button",		WS_VISIBLE | WS_TABSTOP,		175,120,85,30,		IDCANCEL,		"取消",		0	}};CTRLDATA CtrlInitZXProgress[] ={	{		"static",		WS_VISIBLE,		14,24,90,22,		IDC_SELNUM,		"请选择数目:",		0	},		{		"static",		WS_VISIBLE,		174,24,20,22,		IDC_ZHU,		"注",		0	},        {		"static",		WS_VISIBLE,		40,55,150,22,		IDC_HINTS,		"(只能输入1-5注)",		0	},	{		"button",		WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON,		30,90,55,30,		IDOK,		"确定",		0	},	{		"button",		WS_VISIBLE | WS_TABSTOP,		120,90,55,30,		IDCANCEL,		"取消",		0	}};/*CTRLDATA CtrlInitChangeProgress [] ={	{		"static",		WS_VISIBLE,		14,24,80,22,		IDC_SN,		"序列号(20位)",		0	},	{		"edit",		WS_VISIBLE | WS_BORDER | WS_TABSTOP,		14,54,160,22,		IDC_SNEdit,		"",		0	},	{		"static",		WS_VISIBLE,		14,84,80,22,		IDC_KEY1,		"密码(8位)",		0	},	{		"edit",		WS_VISIBLE | WS_BORDER | WS_TABSTOP | ES_PASSWORD,		14,114,160,22,		IDC_KEYEdit1,		"",		0	},	{		"button",		WS_VISIBLE | WS_TABSTOP,		200,20,80,28,		IDOK,		"确定",		0	},	{		"button",		WS_VISIBLE | WS_TABSTOP,		200,70,80,28,		IDC_REENTER,		"重新输入",		0	},	{		"button",		WS_VISIBLE | WS_TABSTOP,		200,120,80,28,		IDCANCEL,		"取消",		0	}};*/static int LoginDialogProc(HWND hDlg,int message,WPARAM wParam,LPARAM lParam){        char sKey[7];        int i;        HWND hCodeEdit,hKeyEdit;        switch (message)        {            case MSG_CREATE:                 {                    CreateWindow("static","销售员代号",                                  WS_VISIBLE | WS_CHILD,                                  IDC_User, 14, 20, 80, 22,hDlg, 0);                    CreateWindow("static","销售员密码",WS_VISIBLE |                                  WS_CHILD,IDC_Pwd,14, 70, 80, 22,                                  hDlg, 0);                    hCodeEdit = CreateWindow("edit","",WS_VISIBLE |                                             WS_BORDER | WS_TABSTOP | WS_CHILD,                                             IDC_UEdit,100, 20, 160, 22,                                             hDlg,DIGIT_ONLY);                     hKeyEdit = CreateWindow("edit","",WS_VISIBLE | ES_PASSWORD |                                            WS_BORDER | WS_TABSTOP | WS_CHILD,                                            IDC_PEdit,100, 70, 160, 22,                                            hDlg,DIGIT_ONLY);                     SendMessage(hCodeEdit,EM_LIMITTEXT,6,0);                     SendMessage(hKeyEdit,EM_LIMITTEXT,6,0);                     old_proc = SetWindowCallbackProc(hCodeEdit,DigitEdit);                     SetWindowCallbackProc(hKeyEdit,DigitEdit);                     break;                 }             case MSG_INITDIALOG:                 return 1;             case MSG_COMMAND:                     switch(wParam)                     {                        case IDOK:			     if(logtime < 3)			     {                             GetDlgItemText(hDlg,IDC_UEdit,sUser,15);                             GetDlgItemText(hDlg,IDC_PEdit,sKey,15);                             if(!findkey(sUser,sKey))                             {                                  MessageBox(hDlg, "密码错误,请重新输入!",                                              "登录系统",                                             MB_OK | MB_ICONINFORMATION );                                  SetDlgItemText(hDlg,IDC_UEdit,"");                                  SetDlgItemText(hDlg,IDC_PEdit,"");				  logtime++;                                  break;                             }                             else                             {                                       EndDialog (hDlg, wParam);				       return 0;                             }		             }			     else			     {					MessageBox(hDlg,	               			   "密码三次输入错误,系统将自动退出!",                                           "登录系统",					     MB_ICONINFORMATION);					ShowWindow(hDlg,SW_HIDE);					DisplayExitDialog(hDlg);					EndDialog(hDlg,wParam);					exit(0);					break;								     }		        case IDCANCEL:			     if(MessageBox(hDlg,"此次操作将退出系统,您确定吗?",					"登录系统",MB_OKCANCEL |                                        MB_ICONINFORMATION) != IDOK)				 	return 0;                             ShowWindow(hDlg,SW_HIDE);			     DisplayExitDialog(hDlg);			     EndDialog(hDlg,wParam);//			     ExitSys();//			     system("clear");			     exit(0);			     break;				                     }                     break;        }        return DefaultDialogProc(hDlg,message,wParam,lParam);}static void DisplayLoginDialog (HWND hWnd){        LoginDlgInitProgress.controls = CtrlInitLoginProgress;        DialogBoxIndirectParam(&LoginDlgInitProgress,hWnd,LoginDialogProc,0L);}static void DisplayExitDialog (HWND hWnd){        ExitDlgInitProgress.controls = CtrlInitExitProgress;        DialogBoxIndirectParam(&ExitDlgInitProgress,hWnd,ExitDialogProc,0L);}static void DisplayTTLDialog (HWND hWnd){    TTLDlgInitProgress.controls = CtrlInitTTLProgress;          DialogBoxIndirectParam (&TTLDlgInitProgress, hWnd,TTLDialogProc, 0L);}static void DisplayRTLDialog (HWND hWnd){    RTLDlgInitProgress.controls = CtrlInitRTLProgress;    DialogBoxIndirectParam (&RTLDlgInitProgress, hWnd,RTLDialogProc, 0L);}static void DisplayKEYDialog (HWND hWnd){	KEYDlgInitProgress.controls = CtrlInitKEYProgress;	DialogBoxIndirectParam(&KEYDlgInitProgress,hWnd,KEYDialogProc,0L);}static void DisplayZXDialog(HWND hWnd){	ZXDlgInitProgress.controls = CtrlInitZXProgress;	DialogBoxIndirectParam(&ZXDlgInitProgress,hWnd,ZXDialogProc,0L);}/*static void DisplayChangeDialog (HWND hWnd){	ChangeDlgInitProgress.controls = CtrlInitChangeProgress;	DialogBoxIndirectParam(&ChangeDlgInitProgress,hWnd,ChangeDialogProc,0L);}*///文件接收菜单项static HMENU createpmenufr (){    MENUITEMINFO mii;    memset(&mii,0,sizeof(MENUITEMINFO));    mii.type     = MFT_STRING;    mii.id       = 0;    mii.typedata = (DWORD)"                文件接收                 ";    hmnufr = CreatePopupMenu (&mii);    memset(&mii,0,sizeof(MENUITEMINFO));    mii.type     = MFT_STRING;    mii.state    = 0;    mii.id       = IDM_FR;    mii.typedata = (DWORD)"         1   网卡启动接收                ";    InsertMenuItem(hmnufr,0,TRUE,&mii);    mii.type     = MFT_STRING;    mii.state    = 1;    mii.id       = IDM_STOP;    mii.typedata = (DWORD)"         2   网卡停止接收                ";    InsertMenuItem(hmnufr,1,TRUE,&mii);    mii.type     = MFT_SEPARATOR;    mii.state    = 0;    mii.id       = 0;    mii.typedata = 0;    InsertMenuItem(hmnufr,2,TRUE,&mii);    mii.type     = MFT_STRING;    mii.state    = 0;    mii.id       = IDM_RR;    mii.typedata = (DWORD)"         3      Modem接收                 ";    InsertMenuItem(hmnufr,3,TRUE,&mii);     return hmnufr;  }//其他菜单项static HMENU createpmenuother (){    MENUITEMINFO mii;    memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING;    mii.id          = 0;    mii.typedata    = (DWORD)"                 其他                  ";    hmnuother = CreatePopupMenu (&mii);    memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_KEY;    mii.typedata    = (DWORD)"          1   修改密码                 ";    InsertMenuItem(hmnuother, 0, TRUE, &mii);    mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_PRINT;    mii.typedata    = (DWORD)"          2   打印票样                 ";    InsertMenuItem(hmnuother, 1, TRUE, &mii);/*    mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_MSG;    mii.typedata    = (DWORD)"           广播信息                ";    InsertMenuItem(hmnuother, 2, TRUE, &mii);         mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_END;    mii.typedata    = (DWORD)"           结束奖期                ";    InsertMenuItem(hmnuother, 3, TRUE, &mii);*/        mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_HELP;    mii.typedata    = (DWORD)"          3   帮助                     ";    InsertMenuItem(hmnuother, 2, TRUE, &mii);/*    mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_ABOUT;    mii.typedata    = (DWORD)"           奖期信息                ";    InsertMenuItem(hmnuother, 5, TRUE, &mii);*/    mii.type        = MFT_SEPARATOR;    mii.state       = 0;    mii.id          = 0;    mii.typedata    = 0;    InsertMenuItem(hmnuother, 3, TRUE, &mii);    mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_EXIT;    mii.typedata    = (DWORD)"          4   退出                     ";    InsertMenuItem(hmnuother, 4, TRUE, &mii);

⌨️ 快捷键说明

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