|
裸机emwin,主函数循环使用WM_InvalidateWindow( WM_HBKWIN);,在重会过程中num++显示在液晶上,但是没反应
int main(void)
{
delay_init(168);
uart_init(115200);
TIM3_Int_Init(999,83);
Key_Init();
TFTLCD_Init();
my_mem_init(SRAMIN);
printf("SRAMEX\r\n");
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_CRC,ENABLE);
WM_SetCreateFlags(WM_CF_MEMDEV);
GUI_Init();
DisUI_Main();
while(1)
{
WM_InvalidateWindow( WM_HBKWIN);
delay_ms(1000);
// key=Key_Scan();
// if(key!=0)
// {
// WM_SetFocus(WM_HBKWIN);
// BUTTON_SetPressed(Main_Button, 1);
// GUI_SendKeyMsg(USE_ID_BUTTON1,1);
// }
}
}
void DisUI_Main(void)
{
WM_SetCallback(WM_HBKWIN,_cbMainWindow);
Main_Button=BUTTON_CreateEx(lcddev.width/2-16,lcddev.height-32,32,32,WM_HBKWIN, WM_CF_SHOW, 0, USE_ID_BUTTON1);
BUTTON_SetBitmap( Main_Button, BUTTON_CI_UNPRESSED, &bmmain_button);
GUI_Delay(500);
}
static void _cbMainWindow(WM_MESSAGE *pMsg)
{
int NCode;
int Id;
switch(pMsg->MsgId)
{
case WM_PAINT:
num++;
GUI_SetBkColor(GUI_BLACK);
GUI_Clear();
GUI_SetColor(GUI_ORANGE);
GUI_SetFont(&GUI_Font8x16x3x3);
GUI_DispStringHCenterAt("control",lcddev.width/2,50);
GUI_DispDecAt(num,10, 10, 3);
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
if( NCode == WM_NOTIFICATION_CLICKED)
{
switch(Id)
{
case USE_ID_BUTTON1:
GUI_SetFont(&GUI_Font8x16x3x3);//éèÖÃ×Öìå
GUI_DispStringAt("smart control",0,0);
break;
}
}
default:
WM_DefaultProc(pMsg);
}
}
|
|