硬汉嵌入式论坛

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

[emWin] LISTVIEW_SetOwnerDraw() 问问这个重绘单元格用法

[复制链接]

12

主题

104

回帖

140

积分

初级会员

积分
140
发表于 2018-12-10 18:09:38 | 显示全部楼层 |阅读模式
本帖最后由 cz123123 于 2018-12-10 18:15 编辑

LISTVIEW_SetOwnerDraw()

我做了重绘单元格回调函数,但绘制没反应
int  _LISTVIEWCircleSkin(const WIDGET_ITEM_DRAW_INFO * pDrawItemInfo)
{
        int xSize     = WM_GetWindowSizeX(pDrawItemInfo->hWin);        //获取按钮小工具的X大小
        int ySize     = WM_GetWindowSizeY(pDrawItemInfo->hWin);        //获取按钮小工具的Y大小
        _ButtonRedrawColor bColor={0};
        switch (pDrawItemInfo->Cmd)
        {
                case WIDGET_DRAW_BACKGROUND:
                           
                        break;
                case WIDGET_ITEM_DRAW:
                        //绘制按钮的背景
                       GUI_SetColor(0xFF0000);                        GUI_FillRect(pDrawItemInfo->x0,pDrawItemInfo->y0,pDrawItemInfo->x1,pDrawItemInfo->y1);
                        break;
               
                        default:
                        return LISTVIEW_OwnerDraw(pDrawItemInfo);//其他命令就使用默认的皮肤
        }
        return 0;
}

之前按钮那些有例子,但这个我测试了几下没反应。。我需要绘制单元格按下为圆型的的。。
QQ截图20181210180610.jpg
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2018-12-11 01:17:42 | 显示全部楼层
这个用listview还真不一定方便,可以考虑创建一个窗口,然后通过2D函数以及WM_TOUCH消息自己搞一个这种界面效果。
回复

使用道具 举报

12

主题

104

回帖

140

积分

初级会员

积分
140
 楼主| 发表于 2018-12-11 08:55:29 | 显示全部楼层
eric2013 发表于 2018-12-11 01:17
这个用listview还真不一定方便,可以考虑创建一个窗口,然后通过2D函数以及WM_TOUCH消息自己搞一个这种界面 ...

好。。我昨天试过了。修改单元格只能矩形,不能圆形
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-18 02:38 , Processed in 0.213228 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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