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

📄 sysinfo.c

📁 采用MINIGUI开发的一套GUI界面
💻 C
📖 第 1 页 / 共 2 页
字号:
/*
本文件包括以下模块:
1.   系统信息页面  ,主函数为:DlgConfSystem
2.  底部按钮相应的下载对话框页面  
			主函数为:DlgDownload
3.  底部按钮相应的清除对话框页面
			主函数为:DlgClean
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <pwd.h>
#include <math.h>
#include <minigui/common.h>
#include <minigui/minigui.h>
#include <minigui/gdi.h>
#include <minigui/window.h>
#include <minigui/control.h>
#include <sys/types.h>
#include <sys/shm.h>
#include <sys/ipc.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include "common.h"
#include "fonts.h"
#include "sysinfo.h"



 DLGTEMPLATE DlgSetSystem = 
{
    WS_VISIBLE,
    WS_EX_NONE,
    0, TOP,WIDTH, HEIGHT-TOP,
    "系统数据",
    0, 0,
   6 , NULL,
    0
};
void ShowSysInfo(HDC hdc)
{
int dev_id;
unsigned char str_stat[10];
unsigned char str_temp[10];
	    static unsigned char * info [6] =
     {         "系统版本: Ver1.0", 
	"存储空间剩余容量/全部容量:  55345KB/24533kb",
	"插槽1:  AI1   AI2   AI3   AI4   AI5   AI6      ", 
	"插槽2:  AI7   AI8   AI9   AI10  AI11   AI12   AI13   ",
	"插槽3:  DI1   DI2   DI3   DI4   DI5   DI6   AI7   ",
	
 	"插槽4: No Card"
     };
HDC hmemDC;
   hmemDC=CreateCompatibleDC(hdc); 

     SetBrushColor(hmemDC,PIXEL_lightgray);//lightwhite
     SetBkMode(hmemDC,BM_TRANSPARENT);//?   SetBkMode
     FillBox(hmemDC,0,0,WIDTH-LEFT,HEIGHT-TOP-BOTTOM);
     SetBkMode(hmemDC,BM_TRANSPARENT);

//设置字体颜色
	SetTextColor(hmemDC,PIXEL_black);  //矩形图TAG	   
	  SelectFont(hmemDC,songgb16font);
//读取设备信息
  strcpy(str_temp,"系统信息");
  TextOut(hmemDC,140,60+dev_id*25,str_temp);
	for(dev_id=0;dev_id<6;dev_id++)
	{
   	devicesinfo[dev_id].dev_addr= dev_id+1;
       devicesinfo[dev_id].first_channel_id=0;
        devicesinfo[dev_id].dev_total_channel=6;
	devicesinfo[dev_id].enable=1;
	devicesinfo[dev_id].boudrate=4800;
     
	//strcat(str_stat,str_temp);

    
       TextOut(hmemDC,100,60+dev_id*35,info[dev_id]); 
}



	
     BitBlt(hmemDC,0,0,WIDTH-LEFT,HEIGHT-TOP-BOTTOM,hdc,LEFT,TOP,0);
     DeleteCompatibleDC(hmemDC); 

}

int  SystemDialogProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam)
{
HDC hdc;

	 gal_pixel bar_back_color,bar_rect_color,bar_text_color; 
   int id; 
    id= LOWORD (wParam);
    switch (message) 
    { 
    case MSG_INITDIALOG:		    		 
	return 1;
	  case MSG_SHOWWINDOW:
			{  
		      }  		      
		 break;       	        

	case MSG_PAINT:
    		hdc = BeginPaint(hDlg);  
          	ShowSysInfo(hdc )     ;
     		EndPaint(hDlg,hdc);
    
		
		 break;    
		  	case MSG_KEYDOWN:
		
	if(!keydowned)
		{
	if(id==KEY_LEFT)SendDlgItemMessage(hDlg, SYSINFO_LEFT, MSG_LBUTTONDOWN, 0,0);
	if(id==KEY_RIGHT)SendDlgItemMessage(hDlg, SYSINFO_RIGHT, MSG_LBUTTONDOWN, 0,0);
	if(id==KEY_UP)SendDlgItemMessage(hDlg, SYSINFO_UP, MSG_LBUTTONDOWN, 0,0);
	if(id==KEY_DOWN)SendDlgItemMessage(hDlg, SYSINFO_DOWN, MSG_LBUTTONDOWN, 0,0);
	 if(id==KEY_ENTER)SendDlgItemMessage(hDlg, SYSINFO_ENTER, MSG_LBUTTONDOWN, 0,0);
	if(id==KEY_DLEFT)SendDlgItemMessage(hDlg,  SYSINFO_DLEFT, BM_SETSTATE , BST_PUSHED ,0);
	 if(id==KEY_DRIGHT)SendDlgItemMessage(hDlg,  SYSINFO_DRIGHT, BM_SETSTATE , BST_PUSHED ,0);


		keydowned=1;// SYSINFO_DLEFT
		}
	  break;	
	
	 case MSG_KEYUP:
	{
		keydowned=0;
		if(id==KEY_EXIT)  		EndDialog (hDlg, 0);
		if(id==SCANCODE_F1)  		EndDialog (hDlg, 0);
	if(id==KEY_LEFT)SendDlgItemMessage(hDlg, SYSINFO_LEFT, MSG_LBUTTONUP, 0,0);
	if(id==KEY_RIGHT)SendDlgItemMessage(hDlg, SYSINFO_RIGHT, MSG_LBUTTONUP, 0,0);
	if(id==KEY_UP)SendDlgItemMessage(hDlg, SYSINFO_UP, MSG_LBUTTONUP, 0,0);
	if(id==KEY_DOWN)SendDlgItemMessage(hDlg, SYSINFO_DOWN, MSG_LBUTTONUP, 0,0);
	 if(id==KEY_ENTER)SendDlgItemMessage(hDlg, SYSINFO_ENTER, MSG_LBUTTONUP, 0,0);
	if(id==KEY_DLEFT)SendDlgItemMessage(hDlg,  SYSINFO_DLEFT, BM_SETSTATE, 0,0);
	 if(id==KEY_DRIGHT)SendDlgItemMessage(hDlg,  SYSINFO_DRIGHT, BM_SETSTATE, 0,0);
		
	 	}
		  break;	
	case MSG_COMMAND:
       {

           if(id==CONF_System_DBACK)    
	   	 EndDialog (hDlg, 0);
	}
	break;

    	}
   	 return DefaultDialogProc (hDlg, message, wParam, lParam);
    

}
void  DlgConfSystem (HWND hWnd)
{
    DlgSetSystem.controls = ctrl_conf_system;
    
    DialogBoxIndirectParam (&DlgSetSystem, hWnd, SystemDialogProc, 0L);
}
 //--------下载对话框页面  -----------------------------------------


//
void InitDownLoadDlg(HWND hDlg)
{  int i;
     unsigned char str[5];
     int id;
     int firsttime;
     int lasttime;
     long time;
//init the dlg
  for (i=0;i<=(year-2000);i++){
	 sprintf(str,"%04d",2000+i);
	 SendDlgItemMessage(hDlg,DL_YEAR,CB_ADDSTRING,0,(LPARAM)str);
     	}
    for (i=0;i<=12;i++){
	 sprintf(str,"%02d",i);
	 SendDlgItemMessage(hDlg,DL_MONT,CB_ADDSTRING,0,(LPARAM)str);
     	}
    for (i=0;i<=31;i++){
	 sprintf(str,"%02d",i);
	 SendDlgItemMessage(hDlg,DL_DATE,CB_ADDSTRING,0,(LPARAM)str);
     	}
    for (i=0;i<=24;i++){
	 sprintf(str,"%02d",i);
	 SendDlgItemMessage(hDlg,DL_HOUR,CB_ADDSTRING,0,(LPARAM)str);
     	}
    for (i=0;i<=59;i++){
	 sprintf(str,"%02d",i);
	 SendDlgItemMessage(hDlg,DL_MINU,CB_ADDSTRING,0,(LPARAM)str);
     	}
//得到当前时间    
    SendMessage(GetDlgItem(hDlg,DL_YEAR),CB_SETCURSEL,(WPARAM)(year-2000),0);
    SendMessage(GetDlgItem(hDlg,DL_MONT),CB_SETCURSEL,(WPARAM)(mont),0);
    SendMessage(GetDlgItem(hDlg,DL_DATE),CB_SETCURSEL,(WPARAM)(days),0);
    SendMessage(GetDlgItem(hDlg,DL_HOUR),CB_SETCURSEL,(WPARAM)(hour),0);
    SendMessage(GetDlgItem(hDlg,DL_MINU),CB_SETCURSEL,(WPARAM)(minu),0);



}


 
/*下载按钮的弹出页面*/
int  DownloadDialogProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam)
{
	HDC hdc,hmemDC;
   	int id; 
    	id= LOWORD (wParam);
    switch (message) 
    { 
    	case MSG_INITDIALOG:		
		return 1;
	  case MSG_SHOWWINDOW:
			{  
				InitDownLoadDlg(hDlg);
		      }  		      
		 break;       	        
	case MSG_PAINT:
			hdc = BeginPaint(hDlg);  
			SetTextColor(hdc,PIXEL_black);
     	      		SetBkColor(hdc,PIXEL_lightgray);
     			SelectFont(hdc,songgb16font);
                	SetTextColor(hdc,PIXEL_black);
     	      		SetBkColor(hdc,PIXEL_lightgray);

			TextOut(hdc, 20,40, "存储卡的状态:");

					
			TextOut(hdc, 20,40, "请输入需要下载的数据通道号:");
			
			TextOut(hdc, 20,60, "请输入要下载的记录时段:");



	    		TextOut(hdc, 5,DL_Y1, "年:");
			TextOut(hdc, 100,DL_Y1, "月:");
	    		TextOut(hdc, 210,DL_Y1, "日:");
				
			TextOut(hdc, 5,DL_Y2, "时");
			TextOut(hdc, 100,DL_Y2, "分");
			 TextOut(hdc, 20,70+20, "时段:");
		
			TextOut(hdc, 140,70+80, "全部数据下载");
			EndPaint(hDlg,hdc);		
		 break;    
	case MSG_KEYDOWN:
			{
	if(id==SCANCODE_F7)SendDlgItemMessage(hDlg, DL_ENTER, MSG_LBUTTONDOWN, BST_PUSHED,0);
	if(id==SCANCODE_F8)SendDlgItemMessage(hDlg, DL_CANCEL, MSG_LBUTTONDOWN, BST_PUSHED,0);
	keydowned=1;
		}
	  break;			 
 case MSG_KEYUP:
		keydowned=0;
		  	 if(id==KEY_EXIT)  		EndDialog (hDlg, 0);
	if(id==SCANCODE_F7)
		{
		//SendDlgItemMessage(hDlg, DL_ENTER , MSG_LBUTTONDOWN, 0,0);
		 SendMessage (hDlg, MSG_COMMAND, DL_ENTER,0); 

⌨️ 快捷键说明

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