EMWin小工具(WIDGET)Spinbox
来源:互联网 发布:我想当淘宝主播怎么做 编辑:程序博客网 时间:2024/05/24 05:08
实例:WIDGET_Spinbox.c
效果:
#include "GUI.h"
#include "DIALOG.h"
static const GUI_WIDGET_CREATE_INFO _aDialogSpinbox[] = {
{ FRAMEWIN_CreateIndirect,"Spinbox", 0, 0, 0, 260, 160, 0, 0, 0 },
{TEXT_CreateIndirect, "Stepvalue", GUI_ID_TEXT0, 20, 15, 100, 21, 0, 0, 0 },
{TEXT_CreateIndirect, "Editmode \"Step\"",GUI_ID_TEXT1, 20, 42, 100, 21, 0, 0, 0 },
{TEXT_CreateIndirect, "Editmode \"Edit\"",GUI_ID_TEXT2, 20, 75, 100, 21, 0, 0, 0 },
{ SPINBOX_CreateIndirect, NULL, GUI_ID_SPINBOX0, 130, 15, 60, 21, 0, 0, 0 },
{ SPINBOX_CreateIndirect, NULL, GUI_ID_SPINBOX1, 130, 42, 60, 21, 0, 0, 0 },
{ SPINBOX_CreateIndirect, NULL, GUI_ID_SPINBOX2, 130, 75, 60, 21, 0, 0, 0 },
};
static void _cbBk(WM_MESSAGE * pMsg) {
int xSize;
int ySize;
switch (pMsg->MsgId) {
case WM_PAINT:
xSize =LCD_GetXSize();
ySize =LCD_GetYSize();
GUI_DrawGradientV(0, 0, xSize, ySize, GUI_BLUE, GUI_BLACK);
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_Font24_ASCII);
GUI_SetTextMode(GUI_TM_TRANS);
GUI_DispStringHCenterAt("WIDGET_Spinbox - Sample", xSize / 2,5);
break;
default:
WM_DefaultProc(pMsg);
}
}
static void _cbClient(WM_MESSAGE * pMsg) {
EDIT_Handle hEdit;
WM_HWIN hItem;
int Value;
int NCode;
int Id;
switch (pMsg->MsgId) {
case WM_INIT_DIALOG:
FRAMEWIN_SetFont(pMsg->hWin, GUI_FONT_16B_ASCII);
FRAMEWIN_SetSkin(pMsg->hWin, FRAMEWIN_SKIN_FLEX);
hItem =WM_GetDialogItem(pMsg->hWin, GUI_ID_TEXT0);
TEXT_SetTextAlign(hItem, GUI_TA_VCENTER | GUI_TA_RIGHT);
hItem =WM_GetDialogItem(pMsg->hWin, GUI_ID_TEXT1);
TEXT_SetTextAlign(hItem, GUI_TA_VCENTER | GUI_TA_RIGHT);
hItem =WM_GetDialogItem(pMsg->hWin, GUI_ID_TEXT2);
TEXT_SetTextAlign(hItem, GUI_TA_VCENTER | GUI_TA_RIGHT);
hItem =WM_GetDialogItem(pMsg->hWin, GUI_ID_SPINBOX0);
SPINBOX_SetSkin(hItem, SPINBOX_SKIN_FLEX);
hEdit =SPINBOX_GetEditHandle(hItem);
EDIT_SetDecMode(hEdit, 1, 1, 10, 0, 0);
hItem =WM_GetDialogItem(pMsg->hWin, GUI_ID_SPINBOX1);
SPINBOX_SetSkin(hItem, SPINBOX_SKIN_FLEX);
hEdit =SPINBOX_GetEditHandle(hItem);
EDIT_SetDecMode(hEdit, 1, 0, 99999, 0, 0);
hItem =WM_GetDialogItem(pMsg->hWin, GUI_ID_SPINBOX2);
SPINBOX_SetSkin(hItem, SPINBOX_SKIN_FLEX);
SPINBOX_SetEditMode(hItem, SPINBOX_EM_EDIT);
效果:
#include "GUI.h"
#include "DIALOG.h"
static const GUI_WIDGET_CREATE_INFO _aDialogSpinbox[] = {
};
static void _cbBk(WM_MESSAGE * pMsg) {
}
static void _cbClient(WM_MESSAGE * pMsg) {