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

📄 dialog_all.c

📁 该文件为S3C44B0硬件平台配置具体函数的初始化及其SD卡读写程序
💻 C
字号:
/*********************************************************************************************************************************************************************/#include "..\Application\inc\config.h"INT32U myvalue;/***********************************************************************       Dialog resource** This table conatins the info required to create the dialog.* It has been created manually, but could also be created by a GUI-builder.*/static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {  { FRAMEWIN_CreateIndirect, "Unistrong  GPS",   0,    10,  10, 180, 230, FRAMEWIN_CF_MOVEABLE, 0  },  //{ BUTTON_CreateIndirect,   "OK",     GUI_ID_OK,     100,  5,   60,  20 },  //{ BUTTON_CreateIndirect,   "Cancel", GUI_ID_CANCEL, 100,  30,  60,  20 },  //{ TEXT_CreateIndirect,     "LText",  0,              10,  55,  48,  15, TEXT_CF_LEFT  },  //{ TEXT_CreateIndirect,     "RText",  0,              10,  80,  48,  15, TEXT_CF_RIGHT },  { EDIT_CreateIndirect,     NULL,     GUI_ID_EDIT0,   60,  55, 110,  30, 0, 50 },  //{ EDIT_CreateIndirect,     NULL,     GUI_ID_EDIT1,   60,  80, 100,  15, 0, 50 },  { TEXT_CreateIndirect,     "Height",    0,              10, 100,  48,  15, TEXT_CF_LEFT },  //{ EDIT_CreateIndirect,     NULL,     GUI_ID_EDIT2,   60, 100, 100,  15, 0, 6 },  //{ TEXT_CreateIndirect,     "Bin",    0,              10, 120,  48,  15, TEXT_CF_RIGHT },  //{ EDIT_CreateIndirect,     NULL,     GUI_ID_EDIT3,   60, 120, 100,  15 },  //{ LISTBOX_CreateIndirect,  NULL,     GUI_ID_LISTBOX0,10,  10,  60,  40 },  //{ CHECKBOX_CreateIndirect, NULL,     GUI_ID_CHECK0,  10, 140,   0,   0 },  //{ CHECKBOX_CreateIndirect, NULL,     GUI_ID_CHECK1,  30, 140,   0,   0 },  //{ SLIDER_CreateIndirect,   NULL,     GUI_ID_SLIDER0, 60, 140, 100,  20 },  //{ SLIDER_CreateIndirect,   NULL,     GUI_ID_SLIDER1, 10, 170, 150,  30 }};/***********************************************************************       Dialog callback routine*/static void _cbCallback(WM_MESSAGE * pMsg) {  int NCode, Id;  WM_HWIN hEdit0, hEdit1, hEdit2, hEdit3, hListBox;  WM_HWIN hWin = pMsg->hWin;    myvalue = 200;  myvalue++;  switch (pMsg->MsgId) {    case WM_INIT_DIALOG:          GUI_SetDrawMode(GUI_DRAWMODE_XOR);      FRAMEWIN_SetClientColor(hWin,GUI_GRAY0);      FRAMEWIN_SetBarColor(hWin,1,GUI_GRAY3);      FRAMEWIN_SetTextColor(hWin,GUI_GRAY15);      FRAMEWIN_SetTextAlign(hWin,GUI_TA_HCENTER);      FRAMEWIN_SetFont(hWin,&GUI_Font24_ASCII);////GUI_Font16_ASCII//GUI_Font24_ASCII      //FRAMEWIN_SetText(hWin,"Hello, World");      //FRAMEWIN_SetDefaultCaptionSize(60);      //GUI_SetColor(GUI_GRAY15);                  //EDIT_SetText(hEdit0, "My EDIT  0");      //EDIT_SetTextColor(hEdit0,0,GUI_GRAY1);      //EDIT_SetDecMode(hEdit0,myvalue,0,1000,0,0);      hEdit0   = WM_GetDialogItem(hWin, GUI_ID_EDIT0);      EDIT_SetBkColor(hEdit0,0,GUI_GRAY4);      EDIT_SetTextColor(hEdit0,0,GUI_GRAY10);      EDIT_SetHexMode(hEdit0, myvalue, 0, 0xffff);      EDIT_SetFont(hEdit0,&GUI_Font16_ASCII);      EDIT_SetDefaultTextAlign(GUI_TA_LEFT);                        /*      EDIT_SetText(hEdit1, "EDIT widget 1");      EDIT_SetTextAlign(hEdit1, GUI_TA_LEFT);      EDIT_SetHexMode(hEdit2, 0x1234, 0, 0xffff);      EDIT_SetBinMode(hEdit3, 0x1234, 0, 0xffff);      LISTBOX_SetText(hListBox, _apListBox);      WM_DisableWindow (WM_GetDialogItem(hWin, GUI_ID_CHECK1));      CHECKBOX_Check(  WM_GetDialogItem(hWin, GUI_ID_CHECK0));      CHECKBOX_Check(  WM_GetDialogItem(hWin, GUI_ID_CHECK1));      SLIDER_SetWidth( WM_GetDialogItem(hWin, GUI_ID_SLIDER0), 5);      SLIDER_SetValue( WM_GetDialogItem(hWin, GUI_ID_SLIDER1), 50);      SCROLLBAR_CreateAttached(hListBox, SCROLLBAR_CF_VERTICAL);*/      break;            case WM_PAINT:         myvalue++;        GUI_Clear();        GUI_DispStringAt("Height:",10,10);        GUI_DispDec(myvalue,8);        //EDIT_SetBkColor(hEdit0,0,GUI_GRAY1);      //EDIT_SetTextColor(hEdit0,0,GUI_GRAY15);    default:      WM_DefaultProc(pMsg);  }}static void cbBackgroundWin(WM_MESSAGE* pMsg) {switch (pMsg->MsgId) {case WM_PAINT:GUI_Clear();default:WM_DefaultProc(pMsg);}}static void cbForegroundWin(WM_MESSAGE* pMsg) {switch (pMsg->MsgId) {case WM_PAINT:GUI_SetBkColor(GUI_GRAY1);GUI_SetColor(GUI_GRAY15);GUI_Clear();//GUI_DispString("Foreground window");break;default:WM_DefaultProc(pMsg);}}/***********************************************************************       main************************************************************************/FRAMEWIN_Handle hFrame;GUI_HWIN hWnd_1;GUI_HWIN hWndHistogram_2;//GUI_DispStringAt(CN_start"高度:"CN_end,10,10);void Frame(void) {        hFrame = FRAMEWIN_Create("Unistrong GPS",  NULL, WM_CF_SHOW, 1, 1, 239, 319);    FRAMEWIN_SetClientColor(hFrame,GUI_GRAY10);    FRAMEWIN_SetBarColor(hFrame,0,GUI_GRAY8);    FRAMEWIN_SetTextColor(hFrame,GUI_GRAY15);    FRAMEWIN_SetTextAlign(hFrame,GUI_TA_HCENTER);    FRAMEWIN_SetFont(hFrame,&GUI_Font24_ASCII);    WM_Paint(hFrame);        hWnd_1 = WM_CreateWindowAsChild(0,0,0,220,WM_CF_SHOW,hFrame,NULL,0);    WM_Paint(hWnd_1);    WM_SelectWindow(hWnd_1);    GUI_SetBkColor(GUI_GRAY3);    GUI_Clear();        //窗口界限    //GUI_DrawHLine(217, 0, 239);    GUI_DrawHLine(219, 0, 239);    //纬度上线    GUI_DrawHLine(113, 0, 239);    GUI_DrawHLine(115, 0, 239);    //纬度下线    GUI_DrawHLine(183, 0, 239);    GUI_DrawHLine(185, 0, 239);            //竖线    GUI_DrawVLine(110,0,113);    GUI_DrawVLine(112,0,113);        //高度下线    GUI_DrawHLine(55, 0, 110);    GUI_DrawHLine(57, 0, 110);        hWndHistogram_2 = WM_CreateWindowAsChild(0,220,0,319-150,WM_CF_SHOW,hFrame,NULL,0);    WM_Paint(hWndHistogram_2);    WM_SelectWindow(hWndHistogram_2);    GUI_SetBkColor(GUI_GRAY3);    GUI_Clear();    //GUI_SetBkColor(GUI_GRAY10);    //GUI_SetPenSize( 20 );    //GUI_DrawHLine(0, 0, 239);    //GUI_DrawHLine(2, 0, 239);    //GUI_SetPenSize( 1 );      //GUI_Exec();   // Uart_Printf(0,"WM_GetActiveWindow in Frame!!!=%d\n",WM_GetActiveWindow());    //Uart_Printf(0,"GUI_GetFont()!!!=%d\n",GUI_GetFont());}/********************************************************************************** 显示柱状图********************************************************************************/void DispHistogram(void)  {    INT8U i;    INT16U x,y,x0,y0,y_half;            GUI_POINT pPoint[4];    x = 10;    y = 50;    /*    hWndHistogram = WM_CreateWindowAsChild(20,150,50,50,WM_CF_SHOW,hWndClientOfFrame,NULL,0);    WM_Paint(hWndHistogram);    WM_SelectWindow(hWndHistogram);    GUI_SetBkColor(GUI_GRAY15);    GUI_Clear();    */        WM_SelectWindow(hWndHistogram_2);    GUI_SetFont(&GUI_Font16B_ASCII);//GUI_Font16B_ASCII    GUI_SetColor(GUI_GRAY9);    GUI_Clear();    for(i=0; i<7; i++)    {        y0 = y - i * 9;        GUI_DrawHLine(y0,x,x+200);    }    GUI_SetColor(GUI_GRAY15);    for(i=0; i<12; i++)    {                if(GPS_SatellitesInView[i].PRN_number != 0)        {            GUI_DispDecAt(GPS_SatellitesInView[i].PRN_number,x,y,2);            if(GPS_SatellitesInView[i].Signal_Noise_Ratio != 0)            {                y_half = GPS_SatellitesInView[i].Signal_Noise_Ratio/2*10/12;                x0 = x + 9;                y0 = y - y_half;                pPoint[0].x = -8;                pPoint[0].y = y_half;                pPoint[1].x = 3;                pPoint[1].y = y_half;                pPoint[2].x = 3;                pPoint[2].y = -y_half;                pPoint[3].x = -8;                pPoint[3].y = -y_half;                GUI_FillPolygon (&pPoint[0],4,x0,y0);            }        }else        {            GUI_DrawHLine(y+13,x,x+3);            GUI_DrawHLine(y+13,x+5,x+8);        }        x += 17;    }    GUI_DrawHLine(y,10,10+200);}void DispSatellitesPosition(void){    INT8U i;    GUI_POINT pPoint[4];    //const INT8U coefficient = 50;  //系数    INT8U  r0,r1,r2; //常量,三个半径    INT16U xo,yo; //常量,圆心        INT8U radius;     //变量    INT16S x,y;  //变量,可以是正负值            xo = 170;    yo = 60;    r0 = 3;    r1 = 20;    r2 = 40;         WM_SelectWindow(hWnd_1);    GUI_SetColor(GUI_GRAY11);    GUI_SetFont(&GUI_Font16B_ASCII);        //GUI_SetPenSize(5);    GUI_DrawCircle(xo, yo, r0);    GUI_DrawCircle(xo, yo, r1);    GUI_DrawCircle(xo, yo, r2);        GUI_SetFont(&CHINESE_FONT12);    GUI_DispStringAt(CN_start"北"CN_end,xo-5,yo-r2-5);    GUI_DispStringAt(CN_start"南"CN_end,xo-5,yo+r2-5);    GUI_DispStringAt(CN_start"东"CN_end,xo+r2-5,yo-8);    GUI_DispStringAt(CN_start"西"CN_end,xo-r2-5,yo-8);        //GUI_DispCharAt('N',xo-4,yo-56);    //GUI_DispCharAt('S',xo-4,yo+44);    //GUI_DispCharAt('E',xo+45,yo-8);    //GUI_DispCharAt('W',xo-53,yo-8);        GUI_SetColor(GUI_GRAY15);    GUI_SetFont(&GUI_Font6x8);//GUI_Font8_ASCII    GUI_SetDrawMode(GUI_DRAWMODE_XOR);    for(i=0; i<12; i++)    {        if(GPS_SatellitesInView[i].PRN_number != 0)        {            radius = (INT8U)(r2 * cos(GPS_SatellitesInView[i].Elevation/180.0*3.14159));            x  = (INT16S)(radius * sin(GPS_SatellitesInView[i].Azimuth/180.0*3.14159));            y  = 0-(INT16S)(radius * cos(GPS_SatellitesInView[i].Azimuth/180.0*3.14159));            if(GPS_SatellitesInView[i].Signal_Noise_Ratio != 0)            {                GUI_SetTextMode(GUI_TM_REV);               /*                pPoint[0].x = -6;                pPoint[0].y = 4;                pPoint[1].x = 6;                pPoint[1].y = 4;                pPoint[2].x = 6;                pPoint[2].y = -6;                pPoint[3].x = -6;                pPoint[3].y = -6;                //GUI_FillPolygon (&pPoint[0],4,xo+x,yo+y);                */                //GUI_DrawPolygon(&pPoint[0],4,xo+x,yo+y);            }else             {                GUI_SetTextMode(GUI_TM_NORMAL);            }            GUI_DispDecAt(GPS_SatellitesInView[i].PRN_number,(xo+x-4),(yo+y-4),2);                    }    }    GUI_SetTextMode(GUI_TM_NORMAL);    GUI_SetDrawMode(GUI_DRAWMODE_NORMAL);    GUI_SetFont(&GUI_Font16_ASCII);}                /********************************************************************************** 整个屏幕的显示********************************************************************************/void Display(void){        //GUI_Clear();        WM_SelectWindow(hWnd_1);    GUI_SetColor(GUI_GRAY15);        //GUI_DispHexAt((INT32U)GUI_GetFont(),100,120,8);        //高度显示    GUI_SetFont(&CHINESE_FONT12);//GUI_Font16_ASCII            GUI_DispStringAt(CN_start"高度"CN_end,10,10);         if(gprmc.Status == 'A')    {        GUI_DispString(CN_start"搜索卫星"CN_end);    }else    {        GUI_DispString(CN_start"二维位置"CN_end);    }            GUI_SetFont(&GUI_Font24B_1);    GUI_DispCharAt(' ',10,30);    GUI_DispFloatMin(gpgga.AntennaHeight,1);    GUI_DispStringAt(" M", 70,30);        //速度显示    GUI_SetFont(&CHINESE_FONT12);    GUI_DispStringAt(CN_start"速度"CN_end,10,65);    GUI_SetFont(&GUI_Font24B_1);    GUI_DispCharAt(' ',10,85);    GUI_DispFloatMin(gprmc.SpeedOverGround,1);    GUI_DispString(" M/s");        //纬度显示    GUI_SetFont(&GUI_Font32B_1);    //GUI_DispStringAt("Latitude: ",10,50);    GUI_DispCharAt(gprmc.Latitude_Hemisphere,10,120);    GUI_DispCharAt(' ',44,120);    GUI_DispDec(gprmc.Latitude_Degree,2);    GUI_DispChar(' ');    GUI_DispFloat(gprmc.Latitude_Cent,7);    GUI_DispChar(39);  //39='    GUI_DrawCircle(84,120+5, 2);            //经度显示    GUI_DispCharAt(gprmc.Longitude_Hemisphere,10,150);    GUI_DispCharAt(' ',30,150);    //GUI_DispChar(' ');    GUI_DispDec(gprmc.Longitude_Degree,3);    GUI_DispChar(' ');    GUI_DispFloat(gprmc.Longitude_Cent,7);    GUI_DispChar(39);  //39='    GUI_DrawCircle(84,150+5, 2);            //日期显示        GUI_SetFont(&GUI_Font24B_1);//GUI_Font8x16x1x2 GUI_Font24B_1    GUI_DispDecAt((gprmc.UTC_year+2000),10,190,4);    GUI_DispChar('-');    GUI_DispDec(gprmc.UTC_month,2);    GUI_DispChar('-');    GUI_DispDec(gprmc.UTC_day,2);            //时间显示    //GUI_DispStringAt("Time:",10,110);    GUI_DispString("  ");    GUI_DispDec((gprmc.UTC_hour+8),2);    GUI_DispChar(':');    GUI_DispDec(gprmc.UTC_minute,2);    GUI_DispChar(':');    GUI_DispDec(gprmc.UTC_second,2);            //柱状图显示    DispHistogram();        //卫星位置显示    DispSatellitesPosition();        // GUI_DispStringAt("OSCPUUsage:",10,130);    //GUI_DispDec(OSCPUUsage,3);    //GUI_DispStringAt("OSCtxSwCtr:",10,150);    //GUI_DispDec(OSCtxSwCtr,5);        }        

⌨️ 快捷键说明

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