硬汉嵌入式论坛

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

[μCGUI] UCGUI在界面上画线不正常

[复制链接]

1

主题

2

回帖

5

积分

新手上路

积分
5
发表于 2019-6-5 14:16:05 | 显示全部楼层 |阅读模式
WM_SetCallback(HeartWin,_cbCallback_5);
WM_SendMessageNoPara(HeartWin,WM_DRAW_WAVE);

发送消息到回调函数,在回调函数里画线,VLineCount每隔100ms加1, 但是显示的时候发现显示到了背景层 ,没有显示到我设置的窗口,调试能够正常进入回调,请各位老师帮忙指导一下,小白刚接触UCGUI

case WM_DRAW_WAVE:
WM_SelectWindow(pMsg->hWin);
GUI_SetColor(0x0000ff);
GUI_DrawVLine(VLineCount,118,217);                                        break;
微信图片_20190605141032.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106929
QQ
发表于 2019-6-5 14:19:41 | 显示全部楼层
这个要选择下绘制的窗口,看此章节就明白了
http://www.armbbs.cn/forum.php?mod=viewthread&tid=19834&extra=page%3D1

QQ截图20190605141919.jpg

评分

参与人数 1金币 +2 收起 理由
wx_lyt2Ml1P + 2 很给力!

查看全部评分

回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
 楼主| 发表于 2019-6-5 14:34:46 | 显示全部楼层
eric2013 发表于 2019-6-5 14:19
这个要选择下绘制的窗口,看此章节就明白了
http://www.armbbs.cn/forum.php?mod=viewthread&tid=19834 ...

老师您看一下 ,我选中了绘制窗口了,但是感觉绘制到了这个窗口的父层,但是绘制的位置是我设定的位置
void _cbCallback_5(WM_MESSAGE * pMsg)
{
    int NCode, Id;
    WM_HWIN hWin = pMsg->hWin;
    switch (pMsg->MsgId)
    {
        case WM_PAINT:
            PaintDialog_5(pMsg);
            break;
        case WM_INIT_DIALOG:
            InitDialog_5(pMsg);
            break;
        case WM_KEY:
            switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key)
            {
                case GUI_KEY_ESCAPE:
                    GUI_EndDialog(hWin, 1);
                    break;
                case GUI_KEY_ENTER:
                    GUI_EndDialog(hWin, 0);
                    break;
            }
            break;
        case WM_NOTIFY_PARENT:
            Id = WM_GetId(pMsg->hWinSrc);
            NCode = pMsg->Data.v;        
            switch (Id)
            {
                case GUI_ID_OK:
                    if(NCode==WM_NOTIFICATION_RELEASED)
                        GUI_EndDialog(hWin, 0);
                    break;
                case GUI_ID_CANCEL:
                    if(NCode==WM_NOTIFICATION_RELEASED)
                        GUI_EndDialog(hWin, 0);
                    break;

            }
            break;
                                case WM_DRAW_WAVE:

                                                                WM_SelectWindow(pMsg->hWin);
                                                        //        GUI_SetColor(0x000000);
                                                                //GUI_DrawLine(gui_count-1,118,gui_count-1,217);
                                                                GUI_SetColor(0x0000ff);
                                                                GUI_DrawVLine(VLineCount,118,217);
                                        break;
        default:
            WM_DefaultProc(pMsg);
    }
}
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
 楼主| 发表于 2019-6-5 15:13:05 | 显示全部楼层
eric2013 发表于 2019-6-5 14:19
这个要选择下绘制的窗口,看此章节就明白了
http://www.armbbs.cn/forum.php?mod=viewthread&tid=19834 ...

搞定了 原来是我发送消息的时候没有使用WM_GetClientWindow()函数;
WM_SendMessageNoPara(WM_GetClientWindow(HeartWin),WM_DRAW_WAVE);
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106929
QQ
发表于 2019-6-6 09:58:54 | 显示全部楼层
wx_lyt2Ml1P 发表于 2019-6-5 15:13
搞定了 原来是我发送消息的时候没有使用WM_GetClientWindow()函数;
WM_SendMessageNoPara(WM_GetClie ...

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-10 09:38 , Processed in 0.180470 second(s), 32 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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