ucgui在回调函数中画两个按钮,如果设置字符,则只能显示一个按钮,这个按钮可以正常显示字符。如果不设置按钮上的字符,则可以显示两个按钮,这两个按钮不显示字符。如果在这个回调函数中,同时在画两个滑动条,则只能显示一个,请问是什么问题。还有,在开机第一次执行回调函数画这两个按钮时,可以正常显示两个按钮,而且设置的字符也显示正常。而通过触屏,来调整窗口位置后,再在while(1)中执行回调函数时,就出现上面说的,按钮显示不正常的问题。
相关函数
void FrameWinButton1(void)//画button函数,BUTTON_Handle已在c文件开头定义
{
BUTTON_SetText(hButton1_Frame2,"YES");
hButton1_Frame2=BUTTON_CreateAsChild( 50, 80, 120, 60, hWin2, GUI_ID_YES, WM_CF_SHOW);
BUTTON_SetText(hButton2_Frame2,"NO");
hButton2_Frame2=BUTTON_CreateAsChild( 50, 180, 120, 60, hWin2, GUI_ID_NO, WM_CF_SHOW);
}
void WinHandler(WM_MESSAGE* pMsg) //回调函数
{
switch (pMsg->MsgId)
{
case WM_PAINT:
{
FrameWinChild();
//FrameWinButton2();
FrameWinButton1();
FrameWinSlider1();
}break;
}
}
//触屏按下的中断服务函数,改变窗口位置
void EXTI1_IRQHandler(void)
{
 P_x=(float)P_x*xfac+xoff;
 P_y=(float)P_y*yfac+yoff;
WM_MoveTo(hWin2, PP_x, PP_y);
}
|