6620|6

11

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

UCGUI失去焦点,点击按钮没反应 [复制链接]

  点击QUIT后执行的代码,这里我给背景窗口发了个消息,要它更新窗口,然后删除当前任务
case WM_NOTIFY_PARENT:
    Id    = WM_GetId(pMsg->hWinSrc);      /* Id of widget */
    NCode = pMsg->Data.v;                 /* Notification code */
    switch (NCode)
    {
    case WM_NOTIFICATION_CLICKED:
      switch (Id)
      {
      case GUI_ID_BUTTON0:
        _ToggleFullScreenMode(hDlg);
        break;
      case GUI_ID_BUTTON1:
        {
          WM_MESSAGE Message;
          GUI_EndDialog(hDlg,1);
          GUI_Clear();
          Message.MsgId=wm_mypaint;
          Message.Data.p="hehe";
          WM_SendMessage(WM_HBKWIN,&Message); //给窗体发送消息,要重绘自己了。
          OSTaskDel(OS_PRIO_SELF);
          break;
        }
      }
      break;
背景窗体接受到这个消息执行下面一段代码
void _cbBkWindow(WM_MESSAGE *pMsg)
{
  int i, NCode, Id, Value;
  WM_HWIN hDlg;
  hDlg = pMsg->hWin;
  switch(pMsg->MsgId)
  {
  case  wm_mypaint:
        In_Menue();
        GUI_Delay(100);
        break;
  case WM_NOTIFY_PARENT:
    Id    = WM_GetId(pMsg->hWinSrc);      /* Id of widget */
    NCode = pMsg->Data.v;                 /* Notification code */
    switch (NCode)
    {
    case WM_NOTIFICATION_CLICKED:
      switch (Id)
      {
      case GUI_ID_BUTTON0:
        out_MainMeue();//释放资源
        OSTaskCreate((void (*) (void *))MainTask,   
                     (void *) 0,
                     (OS_STK *) &APP_MainTaskStk[TemP_Task_STK_SIZE - 1],
                     (INT8U)    Main_Menue_Task_PRIO);
        break;
      case GUI_ID_CLOSE:
        GUI_DispStringAt("hehe",0,0);
        break;
      case GUI_ID_OK:
        GUI_EndDialog(hDlg,0);
        break;
      }
    }      break;
  default:
    WM_DefaultProc(pMsg);
  }
}

离开桌面时候,下面是释放桌面控件资源的
void out_MainMeue() //释放主窗体的资源
{
  int i;
  for(i=0;i<5;i++)
    WM_DeleteWindow(Hbtn[i]);
}

下面是桌面控件初始化
void In_Menue()
{
  int i;
  
  Hbtn[0] = BUTTON_Create(20,20,80,80, GUI_ID_BUTTON0, WM_CF_SHOW);   
  Hbtn[1] = BUTTON_Create(120,20,80,80, GUI_ID_BUTTON1, WM_CF_SHOW);
  Hbtn[2] = BUTTON_Create(220,20,80,80, GUI_ID_BUTTON2, WM_CF_SHOW);   
  Hbtn[3] = BUTTON_Create(20,140,80,80, GUI_ID_BUTTON3, WM_CF_SHOW);
  Hbtn[4] = BUTTON_Create(120,140,80,80, GUI_ID_BUTTON4, WM_CF_SHOW);
  for (i = 0;i < 5;i++)
  {
    //                BUTTON_SetTextAlign(Hbtn[i],GUI_TA_BOTTOM | GUI_TA_LEFT);
    BUTTON_SetFont(Hbtn[i],&GUI_FontHZ_MicrosoftFont_13);
    BUTTON_SetTextColor(Hbtn[i],0,GUI_BLACK);
    BUTTON_SetBkColor  (Hbtn[i],0,GUI_RED);
    BUTTON_SetBkColor  (Hbtn[i],1,GUI_GRAY);
  }
  /* Set the button text */         
  
  WM_SetDesktopColor(GUI_BLUE);
  BUTTON_SetText(Hbtn[0]," 温度监控");
  BUTTON_SetText(Hbtn[1]," 湿度监控");
  BUTTON_SetText(Hbtn[2]," 光照监控");
  BUTTON_SetText(Hbtn[3]," 参数设置");
  BUTTON_SetText(Hbtn[4]," 系统设置");
}

主界面就5个button,现在问题是,我点击QUIT后,成功跳转的主窗体,而且也删除了当前任务,但是桌面上那5个button按钮点击没有反应,。不知为何,希望大神们,帮小弟一把。毕业设计焦虑中啊。。、、

1.jpg (22.39 KB, 下载次数: 0)

1.jpg

2.jpg (10.37 KB, 下载次数: 0)

2.jpg

最新回复

学习了   详情 回复 发表于 2014-10-15 17:25
点赞 关注
 

回复
举报

11

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
自己顶一个吧
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
问题解决了
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(初级)

4
 
楼主能不分享一下代码学习一下吗,刚学ucgui太需要例程了。
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

5
 
学习了
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

6
 
lz有没有解决这个问题?我也在搞ucgui能不能加QQ交流一下
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

7
 
学习了
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表