|

楼主 |
发表于 2017-1-6 12:21:25
|
显示全部楼层
#include "MULTIPAGE.h"
#include "DIALOG.h"
#include "BUTTON.h"
#include "GUI.h"
#define GUI_ID_USE_MAIN GUI_ID_USER+0x10
#define GUI_ID_USE_MULT GUI_ID_USER+0x30
/*********************************************************************
*
* Defines FramWin
*
**********************************************************************
*/
#define ID_FRAMEWIN_0 (GUI_ID_USE_MAIN + 0x00)
//MultiPage
#define ID_MY_MULTIPAGE (GUI_ID_USE_MAIN + 0x01)
//LOAD
#define ID_BUTTON_LOAD (GUI_ID_USE_MAIN + 0x02)
/*********************************************************************
*
* Defines Window
*
**********************************************************************
*/
//page1
#define ID_WINDOW_POWERDOWN (GUI_ID_USE_MULT + 0x01)
//Power Down)
#define ID_CHECKBOX_Digital (GUI_ID_USE_MULT + 0x02)
#define ID_CHECKBOX_DAC (GUI_ID_USE_MULT + 0x03)
#define ID_CHECKBOX_Clock_Input (GUI_ID_USE_MULT + 0x04)
#define ID_CHECKBOX_Aux_DAC (GUI_ID_USE_MULT + 0x05)
#define ID_CHECKBOX_Enable_Auto_PD (GUI_ID_USE_MULT + 0x06)
//External_PD_Mode
#define ID_TEXT_External_PD_Mode (GUI_ID_USE_MULT + 0x07)
#define ID_LISTBOX_External_PD_Mode (GUI_ID_USE_MULT + 0x08)
#define ID_BUTTON_PD_PIN (GUI_ID_USE_MULT + 0x09)
/*********************************************************************
*
* _aDialogCreate
*/
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
//框架建立
{ FRAMEWIN_CreateIndirect,"Framewin", ID_FRAMEWIN_0, 0, 0, 800, 480, 0, 0 },
//MultiPage
{ MULTIPAGE_CreateIndirect,"Multipage",ID_MY_MULTIPAGE, 15, 115, 220, 320, 0, 0 },
//LOAD
{ BUTTON_CreateIndirect, "Button", ID_BUTTON_LOAD, 650, 389, 120, 40, 0, 0 }
};
/*********************************************************************
*
* _aDialogCreatePowerDown
*/
static const GUI_WIDGET_CREATE_INFO _aDialogCreatePowerDown[] = {
{ WINDOW_CreateIndirect, "Window", 0, 0, 0, 220, 320, 0, 0 },
{ CHECKBOX_CreateIndirect, "CheckBox", ID_CHECKBOX_Digital, 25, 10, 74, 20, 0, 0 },
{ CHECKBOX_CreateIndirect, "Checkbox", ID_CHECKBOX_DAC, 25, 35, 80, 20, 0, 0 },
{ CHECKBOX_CreateIndirect, "Checkbox", ID_CHECKBOX_Clock_Input, 25, 60, 100, 20, 0, 0 },
{ CHECKBOX_CreateIndirect, "Checkbox", ID_CHECKBOX_Aux_DAC, 25, 85, 90, 20, 0, 0 },
{ CHECKBOX_CreateIndirect, "Checkbox", ID_CHECKBOX_Enable_Auto_PD, 25, 110, 140, 20, 0, 0 },
{ TEXT_CreateIndirect, "External PD Mode", ID_TEXT_External_PD_Mode, 20, 140, 189, 23, 0, 0 },
{ LISTBOX_CreateIndirect, "Listbox", ID_LISTBOX_External_PD_Mode,25, 170, 169, 60, 0, 0 },
{ BUTTON_CreateIndirect, " D Pin", ID_BUTTON_PD_PIN, 53, 243, 120, 40, 0, 0 }
};
/*********************************************************************
*
* _cbDialogPowerDown
*/
static void _cbDialogPowerDown(WM_MESSAGE * pMsg) {
WM_HWIN hItem,hDlg;
int NCode;
int Id;
static unsigned char temp=0;
hDlg = pMsg->hWin;
switch (pMsg->MsgId) {
case WM_INIT_DIALOG:
//
// Initialization of 'CheckBox'
//
hItem = WM_GetDialogItem(hDlg, ID_CHECKBOX_Digital);
CHECKBOX_SetText(hItem, "Digital");
CHECKBOX_SetFont(hItem, &GUI_Font16B_ASCII);
//
// Initialization of 'Checkbox'
//
hItem = WM_GetDialogItem(hDlg, ID_CHECKBOX_DAC);
CHECKBOX_SetText(hItem, "DAC");
CHECKBOX_SetFont(hItem, &GUI_Font16B_ASCII);
//
// Initialization of 'Checkbox'
//
hItem = WM_GetDialogItem(hDlg, ID_CHECKBOX_Clock_Input);
CHECKBOX_SetText(hItem, "Clock Input");
CHECKBOX_SetFont(hItem, &GUI_Font16B_ASCII);
//
// Initialization of 'Checkbox'
//
hItem = WM_GetDialogItem(hDlg, ID_CHECKBOX_Aux_DAC);
CHECKBOX_SetText(hItem, "Aux. DAC");
CHECKBOX_SetFont(hItem, &GUI_Font16B_ASCII);
//
// Initialization of 'Checkbox'
//
hItem = WM_GetDialogItem(hDlg, ID_CHECKBOX_Enable_Auto_PD);
CHECKBOX_SetText(hItem, "Enable Auto PD");
CHECKBOX_SetFont(hItem, &GUI_Font16B_ASCII);
//
// Initialization of 'External PD Mode'
//
hItem = WM_GetDialogItem(hDlg, ID_TEXT_External_PD_Mode);
TEXT_SetFont(hItem, &GUI_FontComic24B_ASCII);
//
// Initialization of 'Listbox'
//
hItem = WM_GetDialogItem(hDlg, ID_LISTBOX_External_PD_Mode);
LISTBOX_AddString(hItem, "Fast Recovery");
LISTBOX_AddString(hItem, "Full Power Down");
LISTBOX_SetFont(hItem, &GUI_Font24_ASCII);
//
// Initialization of ' D Pin'
//
hItem = WM_GetDialogItem(hDlg, ID_BUTTON_PD_PIN);
BUTTON_SetFont(hItem, &GUI_Font24B_ASCII);
//BUTTON_SetBitmapEx(hItem,0,&bmBUTTONOFF,0,0);
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch(Id) {
//PD_PIN
case ID_BUTTON_PD_PIN: // Notifications sent by ' D Pin'
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
temp=~temp;
BUTTON_SetPressed(WM_GetDialogItem(hDlg,ID_BUTTON_PD_PIN),temp);
break;
}
break;
}
break;
default:
WM_DefaultProc(pMsg);
break;
}
}
/*********************************************************************
*
* _cbDialog
*/
static void _cbDialog(WM_MESSAGE * pMsg) {
WM_HWIN hItem,hDlg,hDialog;
int NCode;
int Id;
//int Value;
//static alt_u8 temp=0;
hDlg = pMsg->hWin;
switch (pMsg->MsgId) {
case WM_INIT_DIALOG:
FRAMEWIN_SetFont(hDlg, &GUI_Font32B_ASCII);
FRAMEWIN_SetText(hDlg, "High Order Modulation Signal Generator ");
FRAMEWIN_SetTextAlign(hDlg, GUI_TA_HCENTER | GUI_TA_VCENTER);
FRAMEWIN_SetTextColor(hDlg, 0x008000FF);
SCROLLBAR_CreateAttached(hDlg, SCROLLBAR_CF_VERTICAL);
//
// Initialization of 'Multipage'
//
hItem = WM_GetDialogItem(hDlg, ID_MY_MULTIPAGE);
hDialog = GUI_CreateDialogBox(_aDialogCreatePowerDown,
GUI_COUNTOF(_aDialogCreatePowerDown),
&_cbDialogPowerDown, WM_UNATTACHED, 0, 0);
MULTIPAGE_AddPage(hItem, hDialog, " owerDown");
MULTIPAGE_SetFont(hItem,&GUI_Font16B_ASCII);
//
// Initialization of LOAD
//
hItem = WM_GetDialogItem(hDlg, ID_BUTTON_LOAD);
BUTTON_SetText(hItem, "LOAD");
BUTTON_SetFont(hItem, &GUI_FontComic24B_ASCII);
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch(Id) {
//LOAD
case ID_BUTTON_LOAD: // Notifications sent by 'Button'
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
break;
}
break;
}
break;
default:
WM_DefaultProc(pMsg);
break;
}
}
void MainTask(void) {
GUI_Init();//初始化
/*窗口自动使用存储设备*/
WM_SetCreateFlags(WM_CF_MEMDEV);
GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
while(1){
GUI_Delay(1000);
}
}
软件仿真显示正常
硬件显示图片如下
|
|