|
借鉴V6 XBF全字库历程 按键按下后 先把窗口隐藏起来——>烧写字库——>显示窗口 想实现这样的功能 ,但是发现 :
1、窗口句柄设置为全局变量, 隐藏后 烧完字库窗口将不显示;
2、窗口句柄设置为局部变量,隐藏后 烧完字库 窗口可以显示,但是温湿度数据不正常(全为0) 请问是什么原因
hWinMain = GUI_CreateDialogBox(_aDialogCreateDesktop, GUI_COUNTOF(_aDialogCreateDesktop), _cbDialogDesktop, WM_HBKWIN, 0, 0);
hWinTaskBar = GUI_CreateDialogBox(_aDialogCreatetTask, GUI_COUNTOF(_aDialogCreatetTask), _cbDialogTask, 0, 0, 0);
WM_CreateTimer(hWinTaskBar, 0, 1000, 0);
while(1)
{
p_msg = OSTaskQPend(20,
OS_OPT_PEND_BLOCKING,
&msg_size,
&ts,
&err);
if (1==p_msg[0])
{
WM_HideWindow(hWinMain);
WM_HideWindow(hWinTaskBar);
LoadFontLib();
WM_ShowWindow(hWinMain);
WM_ShowWindow(hWinTaskBar);
}
else
{
OSSchedLock(&err);
if(1==Read_DHT11(&DHT11_Data))
{
sprintf(tempstr,"%d.%d",DHT11_Data.temp_int,DHT11_Data.temp_deci);
printf ("\r\n%s\r\n",tempstr);
TEXT_SetText(WM_GetDialogItem(hWinMain, ID_TEXT_5), tempstr);
sprintf(tempstr,"%d.%d",DHT11_Data.humi_int,DHT11_Data.humi_deci);
printf ("\r\n%s\r\n",tempstr);
TEXT_SetText(WM_GetDialogItem(hWinMain, ID_TEXT_6), tempstr);
}
OSSchedUnlock(&err);
}
GUI_Delay(5);
} |
|