EMWin实现点击文本就可以改变radio…
来源:互联网 发布:淘宝主图怎么设计 编辑:程序博客网 时间:2024/05/29 12:26
实例DIALOG_Radio.c
效果:
#include
#include "GUI.h"
#include "DIALOG.h"
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
{ FRAMEWIN_CreateIndirect, "Radio buttonsample",0, 30, 70, 260, 100, FRAMEWIN_CF_MOVEABLE },
{RADIO_CreateIndirect, NULL, GUI_ID_RADIO0, 5, 10, 0, 0, 0, 3},
{TEXT_CreateIndirect, "Suspend", GUI_ID_TEXT0, 25, 10, 70, 20, TEXT_CF_LEFT },
{TEXT_CreateIndirect, "Shutdown", GUI_ID_TEXT1, 25, 30, 70, 20, TEXT_CF_LEFT },
{TEXT_CreateIndirect, "Restart after", GUI_ID_TEXT2, 25, 50, 70, 20, TEXT_CF_LEFT },
{TEXT_CreateIndirect, "seconds", GUI_ID_TEXT3, 130, 50, 70, 20, TEXT_CF_LEFT},
{EDIT_CreateIndirect, "200", GUI_ID_EDIT0, 95, 47, 30, 19, 0, 3},
{BUTTON_CreateIndirect, "OK", GUI_ID_OK, 180, 10, 60, 20 },
{BUTTON_CreateIndirect, "Cancel", GUI_ID_CANCEL, 180, 40, 60, 20 }
};
static void _cbBkWindow(WM_MESSAGE* pMsg) {
switch (pMsg->MsgId) {
case WM_PAINT:
GUI_SetBkColor(GUI_RED);
GUI_Clear();
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_Font24_ASCII);
GUI_DispStringHCenterAt("DIALOG_Radio - Sample", 160, 5);
break;
default:
WM_DefaultProc(pMsg);
}
}
static void _cbCallback(WM_MESSAGE * pMsg) {
WM_HWIN hDlg;
WM_HWIN hItem;
int Sel;
int NCode;
int Id;
GUI_PID_STATE * pState;
hDlg = pMsg->hWin;
switch (pMsg->MsgId) {
caseWM_INIT_DIALOG:
hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0);
EDIT_SetDecMode(hItem, 30, 0,999, 0, 0); // Select decimal mode
WM_DisableWindow(hItem);
break;
caseWM_KEY:
switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) {
case GUI_KEY_ESCAPE:
GUI_EndDialog(hDlg, 1);
break;
效果:
#include
#include "GUI.h"
#include "DIALOG.h"
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
};
static void _cbBkWindow(WM_MESSAGE* pMsg) {
}
static void _cbCallback(WM_MESSAGE * pMsg) {