|
各位大佬:帮看看看这个程序什么问题(标红问题1和问题2),用的是stm249 + stemwin ,先行谢过了,搞了两天了,也没头绪
void SampleTestInitLevel1(WM_HWIN hParent)
{
g_hLevel1EditPatientId = EDIT_CreateEx(HOME_SCREEN_REGION1_X + 453, HOME_SCREEN_REGION1_Y + 27, 111, 20, hParent, WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,GUI_ID_EDIT5, 16);
/*问题1:上面的EDIT能显示出来,下面的TEXT 没有显示出来*/
g_hLevel1TxtOptTip0 = TEXT_CreateEx(HOME_SCREEN_REGION1_X + 347,HOME_SCREEN_REGION1_Y + 67, 252,24,hParent,WM_CF_SHOW,TEXT_CF_HCENTER | TEXT_CF_VCENTER,GUI_ID_TEXT2,"Be sure");
g_hLevel1TxtOptTip1 = TEXT_CreateEx(HOME_SCREEN_REGION1_X + 237, HOME_SCREEN_REGION1_Y + 164, 128, 20, hParent, WM_CF_SHOW,TEXT_CF_HCENTER | TEXT_CF_VCENTER, GUI_ID_TEXT3, "scaner test card");
g_hLevel1TxtPatientId = TEXT_CreateEx(HOME_SCREEN_REGION1_X + 383,HOME_SCREEN_REGION1_Y + 28,60,20,hParent, WM_CF_SHOW,TEXT_CF_HCENTER | TEXT_CF_VCENTER,GUI_ID_TEXT4,"patient id");
}
static void CallbackButtonNext(WM_MESSAGE* pMsg)
{
WM_HWIN hMainParent;
char text[16];
int curGui;
switch (pMsg->MsgId)
{
case WM_PAINT:
if(BUTTON_IsPressed(pMsg->hWin))
{
SampleTestHideLevel0() //这个函数没有成功隐藏第0层界面控件
SampleTestInitLevel1(hMainParent); //这个函数只成功创建第一个控件(EDIT),后面三个(TEXT)没有成功创建
}
else
{
}
default:
BUTTON_Callback(pMsg);
}
}
static void CallbackButtonSampleTest(WM_MESSAGE* pMsg)
{
uint32_t curGui;
switch (pMsg->MsgId)
{
case WM_PAINT:
if(BUTTON_IsPressed(pMsg->hWin))
{
if(GUI_FLAG_SAMPLE_TEST_LEVEL0 != curGui)
{
hideCurGui[curGui]();
showCurGui[GUI_FLAG_SAMPLE_TEST_LEVEL0]();
SetCurrentGui(GUI_FLAG_SAMPLE_TEST_LEVEL0);
}
}
else
{
}
default:
BUTTON_Callback(pMsg);
}
}
void SampleTestInitLevel0(WM_HWIN hParent)
{
g_hLevel0TxtOperationTips = TEXT_CreateEx(SAMPLE_TEST_LEVEL0_TXT_OPERATION_TIPS_X,
SAMPLE_TEST_LEVEL0_TXT_OPERATION_TIPS_Y,
SAMPLE_TEST_LEVEL0_TXT_OPERATION_TIPS_LEN,
SAMPLE_TEST_LEVEL0_TXT_OPERATION_TIPS_WIDE,
hParent,
WM_CF_SHOW,
TEXT_CF_HCENTER | TEXT_CF_VCENTER,
GUI_ID_TEXT0,
"input/scaner patient id");
g_hLevel0TxtPatientId = TEXT_CreateEx( SAMPLE_TEST_LEVEL0_TXT_PATIENT_ID_X,
SAMPLE_TEST_LEVEL0_TXT_PATIENT_ID_Y,
SAMPLE_TEST_LEVEL0_TXT_PATIENT_ID_LEN,
SAMPLE_TEST_LEVEL0_TXT_PATIENT_ID_WIDE,
hParent,
WM_CF_SHOW,
TEXT_CF_HCENTER | TEXT_CF_VCENTER,
GUI_ID_TEXT1,
"patient id");
g_hLevel0EditPatientId = EDIT_CreateEx (SAMPLE_TEST_LEVEL0_EDIT_PATIENT_ID_X,
SAMPLE_TEST_LEVEL0_EDIT_PATIENT_ID_Y,
SAMPLE_TEST_LEVEL0_EDIT_PATIENT_ID_LEN,
SAMPLE_TEST_LEVEL0_EDIT_PATIENT_ID_WIDE,
hParent,
WM_CF_SHOW,
TEXT_CF_HCENTER | TEXT_CF_VCENTER,
GUI_ID_EDIT0,
XSIZE_PHYS/4);
g_hLevel0ButtonId = BUTTON_CreateEx(SAMPLE_TEST_LEVEL0_BUTON_NEXT_X,
SAMPLE_TEST_LEVEL0_BUTON_NEXT_Y,
SAMPLE_TEST_LEVEL0_BUTON_NEXT_LEN,
SAMPLE_TEST_LEVEL0_BUTON_NEXT_WIDE,
hParent,
WM_CF_SHOW,
TEXT_CF_HCENTER | TEXT_CF_VCENTER,
GUI_ID_BUTTON0);
BUTTON_SetText(g_hLevel0ButtonId, "next");
WM_SetCallback(g_hLevel0ButtonId, CallbackButtonNext);
}
void SampleTestHideLevel0()
{
//问题2:调用这里,并没有将第0 层界面隐藏,奇怪
WM_HideWindow(g_hLevel0TxtOperationTips);
WM_HideWindow(g_hLevel0TxtPatientId);
WM_HideWindow(g_hLevel0EditPatientId);
WM_HideWindow(g_hLevel0ButtonId);
}
// 从这里开始,hWinParent 为调用者通过调用WM_GetDialogItem(pMsg->hWin, ID_FRAMEWIN_0)接口获得的
void MainScreen(WM_HWIN hWinParent)
{
。。。。。
g_hWinRegin1 = WINDOW_CreateEx(HOME_SCREEN_REGION0_X,HOME_SCREEN_REGION0_Y, HOME_SCREEN_REGION0_LEN,HOME_SCREEN_REGION0_WIDE, hWinParent, WM_CF_SHOW, 0, 0, 0);
buttonSampleTest = BUTTON_CreateEx(HOME_SCREEN_BUTTON_SAMPLE_TEST_X, HOME_SCREEN_BUTTON_SAMPLE_TEST_Y, HOME_SCREEN_BUTTON_SAMPLE_TEST_LEN,HOME_SCREEN_BUTTON_SAMPLE_TEST_WIDE, hWinParent, WM_CF_SHOW, 0,GUI_ID_BUTTON0);
WM_SetCallback(buttonSampleTest, CallbackButtonSampleTest);
SampleTestInitLevel0(g_hWinRegin1);
。。。。。
}
|
|