硬汉嵌入式论坛

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

[emWin实例] 关于ucGUI窗口绘图或显示字符的问题

[复制链接]

79

主题

191

回帖

428

积分

高级会员

积分
428
发表于 2014-8-10 15:01:18 | 显示全部楼层 |阅读模式
今天看论坛里的那个ATM机的例程,里面有个在WM_PAINT绘图的画面:case WM_PAINT:
   _PaintFrame();
   GUI_DispStringHCenterAt(_GetLang(TEXT_ID_VIELEN_DANK), FRAME_WIDTH >> 1, 30);
   GUI_DrawBitmap(&bmLogo_armfly, (FRAME_WIDTH - bmLogo_armfly.XSize) >> 1, 80);
   break;

我仿照例程写了段测试代码:
static const GUI_WIDGET_CREATE_INFO aMainMenuDialog[] = {
  { WINDOW_CreateIndirect,   "", 0, 1,  16, 236, 109, WM_CF_SHOW },
  { BUTTON_CreateIndirect,   "", GUI_ID_BUTTON0, 20,  15,   90,  25 },
  { BUTTON_CreateIndirect,   "", GUI_ID_BUTTON1, 20,  45,  90,  25 },
};

static void _PaintFrame(void)
{
GUI_RECT r;
WM_GetClientRect(&r);
GUI_ClearRectEx(&r);
}

static void cbMainMenu(WM_MESSAGE * pMsg) {
  int NCode, Id;
  WM_HWIN hWin = pMsg->hWin;
  switch (pMsg->MsgId) {
case WM_PAINT:
     _PaintFrame();
           GUI_DispStringAt("Hello",100,30);
   
    default:
  WM_DefaultProc(pMsg);

     }
}

测试运行,新创建的窗口上没有字符显示。。。。。。。
问题出在哪里??难道新建窗口里显示字符或图形只能用UCGUI控件提供的函数来实现??
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106754
QQ
发表于 2014-8-11 17:56:14 | 显示全部楼层
case WM_PAINT:
     _PaintFrame();
           GUI_DispStringAt("Hello",100,30);
     --------------------------------------------------------------------->break语句你没有写。
    default:
回复

使用道具 举报

79

主题

191

回帖

428

积分

高级会员

积分
428
 楼主| 发表于 2014-8-11 21:01:02 | 显示全部楼层
刚才又试了一遍。。。。。。。
结果一样,神马都没有。。。。
回复

使用道具 举报

38

主题

136

回帖

40

积分

初级会员

积分
40
发表于 2014-8-11 22:18:05 | 显示全部楼层
配置下字体的颜色试试
回复

使用道具 举报

79

主题

191

回帖

428

积分

高级会员

积分
428
 楼主| 发表于 2014-8-12 09:21:05 | 显示全部楼层

回 szu_lsh 的帖子

szu_lsh:配置下字体的颜色试试 (2014-08-11 22:18)
就是要这么搞一哈[s:151][s:151]
回复

使用道具 举报

38

主题

136

回帖

40

积分

初级会员

积分
40
发表于 2014-8-12 16:07:26 | 显示全部楼层

回 天马行空 的帖子

天马行空:就是要这么搞一哈[s:151][s:151] (2014-08-12 09:21) 
真的可以啊。
回复

使用道具 举报

79

主题

191

回帖

428

积分

高级会员

积分
428
 楼主| 发表于 2014-8-14 09:27:38 | 显示全部楼层
看来版主也不确定啊,这个真的可以,我没骗你哦。。。。。。

/*****************************************************************
*   ÏµÍ³É趨¶Ô»°¿ò×ÊÔ´
*/
static const GUI_WIDGET_CREATE_INFO aSubMenuDialog1[] = {
  { WINDOW_CreateIndirect,   "", 0, 1,  1, 236, 109, WM_CF_SHOW },
  { LISTBOX_CreateIndirect, "", GUI_ID_LISTBOX0, 1,5,100,90 , 0},
};


/***************************************************************
*  Öػ洰¿Ú
*/
void PaintWin(void)
{
GUI_RECT r;
GUI_SetBkColor(GUI_WHITE);
GUI_SetColor(GUI_BLACK);
GUI_SetFont(&GUI_Font6x8);
    //GUI_SetTextMode(GUI_TM_TRANS);   
WM_GetClientRect(&r);
GUI_ClearRectEx(&r);
}

/***************************************************************
*  ÉèÖýçÃæ°ïÖúÐÅÏ¢
*/
void HelpInformation(void)
{
    GUI_DispCharAt('<',110,10);
    GUI_DispCharAt('>',130,10);
   
    GUI_DispCharAt('<',110,30);
    GUI_DispCharAt('>',130,30);
   
    GUI_DispCharAt('<',110,50);
    GUI_DispCharAt('>',130,50);
   
    GUI_DispCharAt('<',110,70);
    GUI_DispCharAt('>',130,70);
   
    GUI_DispStringAt("<MENU>",110,90);
   
    if(Language == 0)
      GUI_SetFont(&GUI_Font6x8);
    else if(Language == 1)
      GUI_SetFont(&GUI_FontHZ12x12);
   
    GUI_DrawBitmap(&bmUP_Arrow12x12,116,8);
    GUI_DrawBitmap(&bmDown_Arrow12x12,116,28);
    GUI_DrawBitmap(&bmLeft_Arrow12x12,116,48);
    GUI_DrawBitmap(&bmRight_Arrow12x12,116,68);
                              
    GUI_DispStringAt(tHelp1[Language],140,10);
    GUI_DispStringAt(tHelp2[Language],140,30);
    GUI_DispStringAt(tHelp3[Language],140,50);
    GUI_DispStringAt(tHelp4[Language],140,70);
    GUI_DispStringAt(tHelp5[Language],150,90);
}




/***********************************************************************
*  ÏµÍ³É趨¶Ô»°¿ò»Øµ÷º¯Êý
*/
static void cbSubMenu1(WM_MESSAGE * pMsg) {
  int Selection;
  LISTBOX_Handle hListBox;
  switch (pMsg->MsgId) {
    case WM_PAINT:
           PaintWin( ) ;
           HelpInformation();
         WM_SetFocus(pMsg->hWin);
    break;   
。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。
}

IMG_20140814_091039.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106754
QQ
发表于 2014-8-14 11:56:01 | 显示全部楼层

回 天马行空 的帖子

天马行空:看来版主也不确定啊,这个真的可以,我没骗你哦。。。。。。

/*****************************************************************
*   Ïμí³é趨¶Ô»°¿ò×êÔ′
*/
....... (2014-08-14 09:27) 
这个单色屏菜单非常不错。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 13:13 , Processed in 0.183860 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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