|
#include "GUI_MAIN.h"
#define ID_WINDOW_0 (GUI_ID_USER + 0x00) //工作区ID
#define ID_WINDOW_1 (GUI_ID_USER + 0x01)
#define ID_TEXT_0 (GUI_ID_USER + 0x02) //主菜单ID
#define ID_BUTTON_0 (GUI_ID_USER + 0x03)
#define ID_EDIT_0 (GUI_ID_USER + 0x04)
#define ID_EDIT_1 (GUI_ID_USER + 0x05)
#define ID_TEXT_1 (GUI_ID_USER + 0x06)
#define ID_TEXT_2 (GUI_ID_USER + 0x07)
static const GUI_WIDGET_CREATE_INFO _aDialogAdd[] = {
{ WINDOW_CreateIndirect, "Window", ID_WINDOW_0, 0, 0, 800, 450, 0, 0x0, 0 },
{ TEXT_CreateIndirect, "X", ID_TEXT_0, 750,53, 30,30, 0, 0x0, 0 },
{ TEXT_CreateIndirect, "Abc:", ID_TEXT_1, 250,125,100,30, 0, 0x0, 0 },
{ TEXT_CreateIndirect, "QQ:", ID_TEXT_2, 250,205,100,30, 0, 0x0, 0 },
{ BUTTON_CreateIndirect, "NEXT", ID_BUTTON_0, 255,300,250,40, 0, 0x0, 0 },
{ EDIT_CreateIndirect, "123123", ID_EDIT_0, 250,150,260,30, 0, 0x0, 0 },
{ EDIT_CreateIndirect, "123123", ID_EDIT_1, 250,230,260,30, 0, 0x0, 0 },
};
//ID_WINDOW_0回调函数
static void cb_Add1Dlg(WM_MESSAGE *pMsg)
{
int Id;
int NCode;
U8 ReleasedItem;
static U8 OldItem=0;
WM_HWIN hItem;
switch(pMsg->MsgId)
{
case WM_PAINT:
GUI_EnableAlpha(1);
GUI_SetAlpha(0xA0); // Set alpha value for drawing operations 根据透明程度设置数值
GUI_SetBkColor(GUI_WHITE);
GUI_Clear();
GUI_SetAlpha(0);
GUI_EnableAlpha(0);
GUI_SetColor(GUI_WHITE);
GUI_AA_FillRoundedRect(220,60,550,360,15);
GUI_SetPenSize(2);
GUI_SetColor(0xFF8000);
GUI_AA_DrawRoundedRect(220,60,550,360,15);
GUI_SetColor(0XE6E6E6);
GUI_DrawHLine(120,240,520);
GUI_DrawHLine(121,240,520);
GUI_DrawHLine(280,240,520);
GUI_DrawHLine(281,240,520);
GUI_SetColor(0X626262);
GUI_SetFont(&GUI_Font24B_ASCII);
GUI_DispStringAt("MeterType",250,90);
break;
case WM_TIMER:
WM_MoveWindow(pMsg->hWin,20,0);
WM_RestartTimer(pMsg->Data.v,1000);
break;
case WM_NOTIFY_PARENT:
Id=WM_GetId(pMsg->hWinSrc);
NCode=pMsg->Data.v;
switch(Id)
{
case ID_TEXT_0:
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
GUI_EndDialog(pMsg->hWin,0);
break;
case WM_NOTIFICATION_RELEASED:
break;
case WM_NOTIFICATION_VALUE_CHANGED:
break;
}break;
case ID_BUTTON_0:
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
CreateAddFourDlg(WM_GetParent(pMsg->hWin));
break;
case WM_NOTIFICATION_VALUE_CHANGED:
break;
}
break;
}
break;
default:
WM_DefaultProc(pMsg);
break;
}
}
/*********************************************************************
*
* CreateSwipeListDlg
*/
void CreateAddThreeDlg(WM_HWIN hParent) {
WM_HWIN hItem;
WM_HWIN hAddDlg;
U8 i;
_ButtonRedrawColor blue1BK_Button = { 0,0xF0AE01,0xFF8000,0xED5B22 };
hAddDlg = GUI_CreateDialogBox(_aDialogAdd, GUI_COUNTOF(_aDialogAdd),NULL , hParent, 0, 0);
WM_SetCallback(hAddDlg,cb_Add1Dlg);
WM_CreateTimer(hAddDlg,0,1000,0);
hItem=WM_GetDialogItem(hAddDlg,ID_TEXT_0);
TEXT_SetFont(hItem,&GUI_Font32B_ASCII);
TEXT_SetTextColor(hItem,GUI_GRAY);
hItem=WM_GetDialogItem(hAddDlg,ID_BUTTON_0);
BUTTON_SetText(hItem,"NEXT");
BUTTON_SetTextColor(hItem,BUTTON_CI_UNPRESSED,GUI_WHITE);
BUTTON_SetFont(hItem,&GUI_Font20_1);
Button_RedrawSkin(&blue1BK_Button);
hItem=WM_GetDialogItem(hAddDlg,ID_EDIT_0);
//EDIT_SetBkColor( hItem,EDIT_CI_ENABLED,0X3D2C24);
WIDGET_SetEffect(hItem,&WIDGET_Effect_3D1L);
EDIT_SetBkColor( hItem,EDIT_CI_ENABLED,GUI_WHITE);
EDIT_SetTextColor(hItem,EDIT_CI_ENABLED,0XB0A19B);
EDIT_SetFont(hItem,&GUI_Font20B_1);
EDIT_SetText(hItem,"123123");
EDIT_SetTextAlign(hItem,GUI_TA_VCENTER );
hItem=WM_GetDialogItem(hAddDlg,ID_EDIT_1);
//EDIT_SetBkColor( hItem,EDIT_CI_ENABLED,0X3D2C24);
WIDGET_SetEffect(hItem,&WIDGET_Effect_3D1L);
EDIT_SetBkColor( hItem,EDIT_CI_ENABLED,GUI_WHITE);
EDIT_SetTextColor(hItem,EDIT_CI_ENABLED,0XB0A19B);
EDIT_SetFont(hItem,&GUI_Font20B_1);
EDIT_SetText(hItem,"123123");
EDIT_SetTextAlign(hItem,GUI_TA_VCENTER );
hItem=WM_GetDialogItem(hAddDlg,ID_TEXT_1);
TEXT_SetFont(hItem,&GUI_Font16B_1);
TEXT_SetTextColor(hItem,0X917D74);
hItem=WM_GetDialogItem(hAddDlg,ID_TEXT_2);
TEXT_SetFont(hItem,&GUI_Font16B_1);
TEXT_SetTextColor(hItem,0X917D74);
}
移动窗口会出现残影,我需要一个透明弹窗,然后里面是个编辑框会触发窗口移动和重绘,但试过很多次都是有残影,加了WM_SetCreateFlags(WM_CF_MEMDEV);这个没用,且背景变灰色了。。
|
|