|
本帖最后由 bdjinger 于 2020-7-15 19:00 编辑
我用armflyV5中【第69期:全键盘拼音输入法界面设计】的例程,芯片是stm32f407
在主界面创建了几个按钮,然后在按钮上写了几个字
- static void _MainInterface(void)
- {
- WIDGET_SetDefaultEffect_None();
- BUTTON_SetDefaultFont(&GUI_Font24_1);
- TEXT_SetDefaultFont(&GUI_Font24_1);
- TEXT_SetDefaultTextColor(GUI_BLACK);
- BUTTON_SetDefaultTextColor(GUI_BLACK, BUTTON_CI_UNPRESSED);
- hButton_SET = BUTTON_CreateEx(260,150,50,55,0,WM_CF_SHOW,0,Main_ID_SystemSet);
- hButton_CAL = BUTTON_CreateEx(335,150,50,55,0,WM_CF_SHOW,0,Main_ID_CAL);
- hButton_FunCAL = BUTTON_CreateEx(410,150,50,55,0,WM_CF_SHOW,0,Main_ID_FineCAL);
- hButton_DIS = BUTTON_CreateEx(260,215,50,55,0,WM_CF_SHOW,0,Main_ID_Dispense);
- hButton_Volum = BUTTON_CreateEx(335,215,50,55,0,WM_CF_SHOW,0,Main_ID_Volum);
- hButton_FixTime = BUTTON_CreateEx(410,215,50,55,0,WM_CF_SHOW,0,Main_ID_FixTime);
-
- TEXT_CreateEx(20,20,50,20,0,WM_CF_SHOW,TEXT_CF_HCENTER|TEXT_CF_VCENTER,0,"Hello word");
-
- TEXT_SetDefaultFont(&GUI_Font24_1);
- TEXT_SetDefaultTextColor(GUI_BLACK);
-
- BUTTON_SetText(hButton_SET, "Hello word");
- BUTTON_SetText(hButton_CAL, "流量校正");
- BUTTON_SetText(hButton_FunCAL, "流量微调");
- BUTTON_SetText(hButton_DIS, "定时定量");
- BUTTON_SetText(hButton_Volum, "定量计量");
- BUTTON_SetText(hButton_FixTime, "定时启停");
-
-
- }
- static void _cbBkWindow(WM_MESSAGE* pMsg)
- {
- int NCode, Id;
- switch (pMsg->MsgId)
- {
- case WM_PAINT:
- GUI_SetBkColor(GUI_WHITE);
- GUI_Clear();
- _MainInterface();
- break;
- case WM_NOTIFY_PARENT:
- Id = WM_GetId(pMsg->hWinSrc);
- NCode = pMsg->Data.v;
- switch (Id)
- {
- case Main_ID_SystemSet:
- switch(NCode)
- {
- case WM_NOTIFICATION_RELEASED:
-
- break;
- }
- break;
- }
- break;
- default:
- WM_DefaultProc(pMsg);
- break;
- }
- }
- void MainInterfaceFun(void)
- {
- OS_ERR err;
- test = 0;
- WM_SetCallback(WM_HBKWIN,_cbBkWindow);
- _MainInterface(); //桌面按钮
- while(1)
- {
- GUI_Exec();
- GUI_X_ExecIdle();
- }
- }
复制代码
GUI_X_ExecIdle();里面是delay50
编码格式用的是UTF-8,然后用官方的字体软件生成的中文字体。现在的问题是界面刚出来的时候,按钮上的字不会显示,如果按一下按钮,按钮上的字才会显示出来。
但是如果用GUI自带的字体,就可以显示出来。
而且即便文字显示出来,感觉屏幕也不正常;就是每次点一个按钮,就可以看到这几个按钮快速的刷,刷一会儿就停了。我在触摸的里面打了断点,几个按钮刷的时候,并没有发送触摸事件。
希望帮忙解答一下,本来拍了视频上传,可以传不上来。文字应该描述清楚了。
|
|