|

楼主 |
发表于 2013-3-3 21:09:24
|
显示全部楼层
没事。。要谢谢你啊。。。现在我改用EDIT控件了。是想用EDIT来实时的显示动态数据。。不过还是不知道怎么做。。这是我的程序
#include "JIEMIAN.h"
#include "MAINJIEMIAN.h"
PARAM DATA;
unsigned int input[10]={0,0,0,0,0,0,0,0,0,0}; //将输入的数字承储进入该数组
unsigned int password[]={3,3,3,3,3,3,3,3,3,3}; //设定密码
unsigned int i=0;
unsigned int j,k;
unsigned int flag=1; //设置标志位
WM_MESSAGE pMsg1;
WM_HWIN hWin2; //下面MAINTASK函数中用到
static const GUI_WIDGET_CREATE_INFO _aDialogCreate4[] = {
{ FRAMEWIN_CreateIndirect, "实时显示界面",0, 0, 0, 320,240,FRAMEWIN_CF_MOVEABLE,0},
//{ EDIT_CreateIndirect, NULL, GUI_ID_EDIT0, 62, 166,58, 25, 0,0},
//{ TEXT_CreateIndirect, "密度", GUI_ID_TEXT0, 1, 166,61, 35, 0,0},
{ BUTTON_CreateIndirect, "返回", GUI_ID_BUTTON0, 160,166,135,45, 0,0},
{ EDIT_CreateIndirect, NULL, GUI_ID_EDIT1, 62, 104,58, 25, 0,0},
{ TEXT_CreateIndirect, "车型", GUI_ID_TEXT1, 1, 104,61, 35, 0,0},
//{ EDIT_CreateIndirect, NULL, GUI_ID_EDIT2, 62, 104,58, 25, 0,0},
//{ TEXT_CreateIndirect, "速度", GUI_ID_TEXT2, 1, 104,61, 35, 0,0},
//{ EDIT_CreateIndirect, NULL, GUI_ID_EDIT3, 241,43, 58, 25, 0,0},
{ EDIT_CreateIndirect, NULL, GUI_ID_EDIT9, 62, 43, 58, 25, 0,0},
//{ TEXT_CreateIndirect, "车流量",GUI_ID_TEXT3, 163,40, 72, 35, 0,0},
{ TEXT_CreateIndirect, "实时显示监测", GUI_ID_TEXT9, 0, 0, 160,35, 0,0},
{ TEXT_CreateIndirect, "车速", GUI_ID_TEXT5, 1, 40, 65, 35, 0,0}
};
/*****************************************************************
** FunctionName:void InitDialog(WM_MESSAGE * pMsg)
** Function: to initialize the Dialog items
** 实时监测界面资源表的初始化
** call this function in _cbCallback --> WM_INIT_DIALOG
*****************************************************************/
void InitDialog4(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;
//
//FRAMEWIN
//
FRAMEWIN_SetClientColor(hWin,GUI_LIGHTYELLOW);
FRAMEWIN_SetTitleHeight(hWin,25);
FRAMEWIN_SetFont(hWin,&GUI_FontHZ_GUI_21);
//
//GUI_ID_EDIT0
//
//EDIT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_EDIT0),BUTTON_CI_UNPRESSED,GUI_GREEN);
//
//GUI_ID_TEXT0
//
//TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT0),&GUI_FontHZ_GUI_21);
//TEXT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_TEXT0),GUI_TA_VCENTER|GUI_TA_CENTER);
//
//GUI_ID_BUTTON0
//
BUTTON_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON0),BUTTON_CI_UNPRESSED,GUI_LIGHTBLUE);
BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON0),&GUI_FontHZ_GUI_21);
//
//GUI_ID_EDIT0
//
EDIT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_EDIT1),BUTTON_CI_UNPRESSED,GUI_GREEN);
//
//GUI_ID_TEXT1
//
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT1),&GUI_FontHZ_GUI_21);
TEXT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_TEXT1),GUI_TA_VCENTER|GUI_TA_CENTER);
//
//GUI_ID_EDIT2
//
//EDIT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_EDIT2),BUTTON_CI_UNPRESSED,GUI_GREEN);
//
//GUI_ID_TEXT2
//
//TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT2),&GUI_FontHZ_GUI_21);
//TEXT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_TEXT2),GUI_TA_VCENTER|GUI_TA_CENTER);
//
//GUI_ID_EDIT3
//
//EDIT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_EDIT3),BUTTON_CI_UNPRESSED,GUI_GREEN);
//
//GUI_ID_EDIT0
//
EDIT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_EDIT9),BUTTON_CI_UNPRESSED,GUI_GREEN);
EDIT_SetDecMode(WM_GetDialogItem(hWin,GUI_ID_EDIT9),0,0,65536,2,0);//设置编辑框的十进制模式
//EDIT_SetHexMode(WM_GetDialogItem(hWin, GUI_ID_EDIT2), 0x1234, 0, 0xffffff);
//
//GUI_ID_TEXT3
//
//TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT3),&GUI_FontHZ_GUI_21);
//TEXT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_TEXT3),GUI_TA_VCENTER|GUI_TA_CENTER);
//
//GUI_ID_TEXT0
//
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT9),&GUI_FontHZ_GUI_21);
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT9),GUI_LIGHTBLUE);
TEXT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_TEXT9),GUI_TA_VCENTER|GUI_TA_CENTER);
//
//GUI_ID_TEXT0
//
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT5),&GUI_FontHZ_GUI_21);
TEXT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_TEXT5),GUI_TA_VCENTER|GUI_TA_CENTER);
}
/*********************************************************************
*
* Dialog callback routine 实时监测界面的回调函数
*/
static void _cbCallback4(WM_MESSAGE * pMsg)
{
int NCode, Id;
WM_HWIN hWin = pMsg->hWin;
switch (pMsg->MsgId)
{
case WM_INIT_DIALOG:
InitDialog4(pMsg);
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch (NCode)
{
case WM_NOTIFICATION_RELEASED: //仅仅释放时才有反应
switch(Id)
{
case GUI_ID_BUTTON0:
FRAMEWIN_Delete(hWin); //删除界面
GUI_CreateDialogBox(_aDialogCreate1,GUI_COUNTOF(_aDialogCreate1),&_cbCallback1,0,0,0);//创建一个对话框(即返回主界面)
}
}
break;
default:
WM_DefaultProc(pMsg);
}
}
void MainTask(void)
{
GUI_Init();
WM_SetDesktopColor(GUI_RED); /* 自动更新桌面窗口*/
WM_SetCreateFlags(WM_CF_MEMDEV); /* Use memory devices on all windows to avoid flicker */
GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbCallback, 0, 0, 0);
while(1)
{
EDIT_SetValue(WM_GetDialogItem(hWin2,GUI_ID_EDIT9),i++);//用来实时显示动态数据
GUI_Exec();
}
}
我首先定义一个hWin2对话框的句柄。然后创建一个FRAME,最后在while循环里面来进行实时数据的更新。。但是发现没用。。唉,不知道怎么办了 |
|