硬汉嵌入式论坛

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

[emWin] GRAPH_DATA_XY_SetOwnerDraw没有起作用?

[复制链接]

2

主题

6

回帖

12

积分

新手上路

积分
12
发表于 2018-8-31 09:24:29 | 显示全部楼层 |阅读模式
希望用GRAPH_DATA_XY绘制散点图,看了官方教程:
    for (i = 0; i < 3; i++) {
      _ahDataXY = GRAPH_DATA_XY_Create(_aColor, _NumPoints, _aPoint, _NumPoints);
      GRAPH_DATA_XY_SetLineStyle(_ahDataXY, _aLStyle);
      GRAPH_AttachData(hItem, _ahDataXY);
      GRAPH_DATA_XY_SetOwnerDraw(_ahDataXY, _OwnerDraw);
    }
其中_OwnerDraw代码如下:
static int _OwnerDraw(const WIDGET_ITEM_DRAW_INFO * pDrawItemInfo) {
  switch (pDrawItemInfo->Cmd) {
  case WIDGET_ITEM_DRAW:
    GUI_DrawRect(pDrawItemInfo->x0 - 3, pDrawItemInfo->y0 - 3, pDrawItemInfo->x0 + 3, pDrawItemInfo->y0 + 3);
    break;
  }
  return 0;
}
按我自己的理解,GRAPH_DATA_XY_SetOwnerDraw应该是自定义数据点显示的方式,官方例程应该是每个散点绘制成一个6*6的方块。
我自己的程序中照抄官方例程这一段代码,程序加断点实测_OwnerDraw这段段码一直没有进入,绘制出的曲线也是SetLineStyle中设置的那样,点与点之间是用线连起来的。
备注:我用的STemWin532版本。实际显示结果如下:
微信图片_20180831092027.jpg
问题是:
1:我对GRAPH_DATA_XY_SetOwnerDraw的函数功能理解是不是有错误?
2:GRAPH_DATA_XY是不是不能绘制散点图(中间不要连线)?


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-8-31 09:47:35 | 显示全部楼层
1、此函数的功能说明

1.png


2、绘制虚线通过下面这个函数设置

2.png

回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2018-8-31 10:20:08 | 显示全部楼层
试了一下,还是不行。
static const int   _aNumPoints[] = { 46, 25, 13 };
_InitPoints(_aNumPoints[2]);这里使用13个点绘制图形,结果如下: 微信图片2.jpg
可以看出,13个点之间还是用线连接起来了。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-8-31 11:11:14 | 显示全部楼层
明白你的意思了,你的意思是,三种连线效果,你这里仅显示出两种?
而且SetOwner也没有显示出效果来。

QQ截图20180831111049.png

回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2018-8-31 11:40:51 | 显示全部楼层
仅显示出2种曲线的问题先不管了,主要问题是SetOwner也没有显示出效果来

你这个图片上SetOwner的效果显示出来了(方格),而我的一直没有显示,_OwnerDraw代码中加断点也进不去,不知道哪里不对?
你这张图就是官方例程没有改动就直接显示出来的效果?(我没有花精力研究在PC上怎么仿真运行)


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-8-31 11:42:34 | 显示全部楼层
cht9517 发表于 2018-8-31 11:40
仅显示出2种曲线的问题先不管了,主要问题是SetOwner也没有显示出效果来

你这个图片上SetOwner的效果显 ...

对,这个就是原始效果,下午我给你测试下在板子上面的实际效果。
回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2018-8-31 11:47:40 | 显示全部楼层
好的,非常感谢! 我自己再分析分析问题所在
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-8-31 14:42:43 | 显示全部楼层
帮你测试了,显示正常
QQ截图20180831144217.png
回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2018-8-31 14:48:33 | 显示全部楼层
非常感谢!
我自己的项目中午又折腾了一下,那个函数加断点就是进不去,找不到问题所在
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-9-1 01:23:05 | 显示全部楼层
cht9517 发表于 2018-8-31 14:48
非常感谢!
我自己的项目中午又折腾了一下,那个函数加断点就是进不去,找不到问题所在

莫非是移植的版本问题,可以考虑换个版本试试,还是不行的话,估计是底层移植缺少点什么。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-19 13:34 , Processed in 0.045849 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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