|
#include <stddef.h>在vs2010下进行ucgui模拟仿真时,发现汉字不能显示:运行结果如下:
运行结果
汉字库是自己加的,也包含了的。
#include "GUI.h"
#include "DIALOG.h"
#include "WM.h"
#include "BUTTON.h"
#include "CHECKBOX.h"
#include "DROPDOWN.h"
#include "EDIT.h"
#include "FRAMEWIN.h"
#include "LISTBOX.h"
#include "MULTIEDIT.h"
#include "RADIO.h"
#include "SLIDER.h"
#include "TEXT.h"
#include " ROGBAR.h"
#include "SCROLLBAR.h"
#include "LISTVIEW.h"
/////////////////////////////////////////包含汉字处////////////////////////////////////////////////////////
#ifndef GUI_FLASH
#define GUI_FLASH
#endif
extern GUI_FLASH const GUI_FONT GUI_FontHZ_SimSun_35;
////////////////////////////////////////////////////////////////////////////////////////////////////////////
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
{ FRAMEWIN_CreateIndirect, NULL, 0, 0, 0, 800,600,FRAMEWIN_CF_MOVEABLE,0},
{ TEXT_CreateIndirect, "RJ-003", GUI_ID_TEXT0, 57, 11, 131,66, 0,0},
{ TEXT_CreateIndirect, "型 ", GUI_ID_TEXT1, 179,12, 60, 65, 0,0},
{ TEXT_CreateIndirect, "声光警报器 ", GUI_ID_TEXT2, 274,12, 300,65, 0,0},
{ TEXT_CreateIndirect, "09:32:46", GUI_ID_TEXT3, 668,11, 115,64, 0,0},
{ BUTTON_CreateIndirect, "测量", GUI_ID_BUTTON0, 653,136,130,60, 0,0},
{ BUTTON_CreateIndirect, "设置", GUI_ID_BUTTON1, 653,248,130,60, 0,0},
{ BUTTON_CreateIndirect, "查询 ", GUI_ID_BUTTON2, 653,359,130,60, 0,0},
{ BUTTON_CreateIndirect, "hm", GUI_ID_BUTTON3, 653,474,130,60, 0,0},
{ TEXT_CreateIndirect, "1#", GUI_ID_TEXT4, 221,224,219,57, 0,0},
{ TEXT_CreateIndirect, "0.037", GUI_ID_TEXT5, 221,291,236,132,0,0}
};
void PaintDialog(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;
GUI_SetColor(0x000000);
GUI_DrawLine(0,100,794,100);
GUI_SetColor(0x000000);
GUI_DrawLine(636,100,636,596);
}
void InitDialog(WM_MESSAGE * pMsg)
{
WM_HWIN hWin = pMsg->hWin;
//
//FRAMEWIN
//
FRAMEWIN_SetClientColor(hWin,0xffffc0);
FRAMEWIN_SetTitleVis(hWin,0);
//
//GUI_ID_TEXT0
//
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT0),0xffffc0);
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT0),&GUI_Font32B_ASCII);
TEXT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_TEXT0),GUI_TA_VCENTER|GUI_TA_CENTER);
//
//GUI_ID_TEXT1
//
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT1),0xffffc0);
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT1),&GUI_FontHZ_SimSun_35);
TEXT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_TEXT1),GUI_TA_VCENTER|GUI_TA_CENTER);
//
//GUI_ID_TEXT2
//
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT2),0xffffc0);
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT2),&GUI_FontHZ_SimSun_35);
TEXT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_TEXT2),GUI_TA_VCENTER|GUI_TA_CENTER);
//
//GUI_ID_TEXT3
//
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT3),0xffffc0);
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT3),&GUI_Font24B_1);
TEXT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_TEXT3),GUI_TA_VCENTER|GUI_TA_CENTER);
//
//GUI_ID_BUTTON0
//
BUTTON_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON0),BUTTON_CI_UNPRESSED,0x0000ff);
BUTTON_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON0),BUTTON_CI_UNPRESSED,0x00ffff);
BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON0),&GUI_FontHZ_SimSun_35);
//
//GUI_ID_BUTTON1
//
BUTTON_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON1),BUTTON_CI_UNPRESSED,0x000000);
BUTTON_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON1),BUTTON_CI_UNPRESSED,0xffffff);
BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON1),&GUI_FontHZ_SimSun_35);
//
//GUI_ID_BUTTON2
//
BUTTON_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON2),BUTTON_CI_UNPRESSED,0x000000);
BUTTON_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON2),BUTTON_CI_UNPRESSED,0xffffff);
BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON2),&GUI_FontHZ_SimSun_35);
//
//GUI_ID_BUTTON3
//
BUTTON_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON3),BUTTON_CI_UNPRESSED,0x000000);
BUTTON_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_BUTTON3),BUTTON_CI_UNPRESSED,0xffffff);
BUTTON_SetFont(WM_GetDialogItem(hWin,GUI_ID_BUTTON3),&GUI_Font32B_1);
//
//GUI_ID_TEXT4
//
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT4),0xffffc0);
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT4),&GUI_Font32_ASCII);
TEXT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_TEXT4),GUI_TA_VCENTER|GUI_TA_CENTER);
//
//GUI_ID_TEXT5
//
TEXT_SetBkColor(WM_GetDialogItem(hWin,GUI_ID_TEXT5),0x000000);
TEXT_SetTextColor(WM_GetDialogItem(hWin,GUI_ID_TEXT5),0x00ff00);
TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT5),&GUI_FontD36x48);
TEXT_SetTextAlign(WM_GetDialogItem(hWin,GUI_ID_TEXT5),GUI_TA_VCENTER|GUI_TA_CENTER);
}
static void _cbCallback(WM_MESSAGE * pMsg)
{
int NCode, Id;
WM_HWIN hWin = pMsg->hWin;
switch (pMsg->MsgId)
{
case WM_PAINT:
PaintDialog(pMsg);
break;
case WM_INIT_DIALOG:
InitDialog(pMsg);
break;
case WM_KEY:
switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key)
{
case GUI_KEY_ESCAPE:
GUI_EndDialog(hWin, 1);
break;
case GUI_KEY_ENTER:
GUI_EndDialog(hWin, 0);
break;
}
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch (Id)
{
case GUI_ID_OK:
if(NCode==WM_NOTIFICATION_RELEASED)
GUI_EndDialog(hWin, 0);
break;
case GUI_ID_CANCEL:
if(NCode==WM_NOTIFICATION_RELEASED)
GUI_EndDialog(hWin, 0);
break;
}
break;
default:
WM_DefaultProc(pMsg);
}
}
void MainTask(void)
{
GUI_Init();
WM_SetCreateFlags(WM_CF_MEMDEV);
WM_EnableMemdev(WM_HBKWIN);
GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbCallback, WM_HBKWIN, 0, 0);
GUI_UC_SetEncodeUTF8();
while(1)
{
GUI_Delay(20);
}
}
ex: |
|