硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1842|回复: 1
收起左侧

[emWin] GUI_DispStringAt 没有生效

[复制链接]

100

主题

94

回帖

394

积分

高级会员

积分
394
发表于 2021-10-15 13:49:50 | 显示全部楼层 |阅读模式
  1. <div>static void _cbKeyPad(WM_MESSAGE * pMsg)
  2. </div><div>{</div><div>   。。。。。。</div><div>  case WM_CREATE:
  3. </div><div><span style='display: inline !important; float: none; background-color: rgb(247, 247, 247); color: rgb(68, 68, 68); font-family: Tahoma,"Microsoft Yahei","Simsun"; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; overflow-wrap: break-word; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;'>    WM_SetHasTrans(hButton);</span>
  4. <span style='display: inline !important; float: none; background-color: rgb(247, 247, 247); color: rgb(68, 68, 68); font-family: Tahoma,"Microsoft Yahei","Simsun"; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; overflow-wrap: break-word; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;'>    WM_SetCallback(hButton, _cbBtn);</span></div><div>    break;</div><div>
  5. </div><div>。。。。。。。
  6. <b></b><i></i><u></u><sub></sub><sup></sup><strike></strike>
  7. </div><div>}</div><div>  
  8. </div><div>static void _cbBtn(WM_MESSAGE * pMsg)
  9. </div>{
  10.     GUI_RECT clientRect;
  11.     long id = 0;
  12.         int i;
  13.     switch (pMsg->MsgId)
  14.     {
  15.         case WM_PAINT:
  16.             id = WM_GetId(pMsg->hWin);
  17.             WM_GetInsideRectEx(pMsg->hWin, &clientRect);
  18.             GUI_DrawRoundedRect(clientRect.x0 + 2, clientRect.y0 + 2, clientRect.x1 - 2, clientRect.y1 - 2, 4);
  19.             GUI_SetFont(&GUI_Font32B_ASCII);
  20.             GUI_SetTextAlign(GUI_TA_VCENTER | GUI_TA_HCENTER);
  21.             GUI_SetTextMode(GUI_TEXTMODE_TRANS);

  22.                         if(g_iInitOnce < sizeof(_aButtonData)/sizeof(BUTTON_DATA))
  23.                         {
  24. <font color="red">                                GUI_DispStringAt(_aButtonData[id-ID_BUTTON].acLabel1, (clientRect.x1 - clientRect.x0) / 2, 25);</font>
  25.                                 g_iInitOnce++;
  26.                         }
  27.                        
  28.                         if(BUTTON_IsPressed(pMsg->hWin);)
  29.                         {
  30. <font color="blue">                                GUI_DispStringAt(_aButtonData[id-ID_BUTTON].acLabel2, (clientRect.x1 - clientRect.x0) / 2, 25);</font>
  31.                         }

  32.         break;

  33.         default:
  34.             BUTTON_Callback(pMsg);
  35.         break;
  36.     }
  37. }
复制代码
问题:红色代码的执行有效,键盘上有东西,但是当按键被按下,蓝色的代码执行了没有看到效果(可以确认确实调用了)。经过调试发现,是由于调用了BUTTON_IsPressed。
为什么BUTTON_IsPressed 被调用之后,GUI_DispStringAt  好像没有生效?谢谢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115814
QQ
发表于 2021-10-16 00:59:12 | 显示全部楼层
仅看你发的代码,没看出什么问题来。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-21 06:52 , Processed in 0.322666 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表