我往何处去

  • 喃喃自语
  • 谈谈管理
  • 聊聊人文
  • 搞搞技术
  • 玩玩音乐
  • 拍拍照片
  • 看看电影
从微信朋友圈逃回博客,是我能与这个世界保持的距离
  1. 首页
  2. 搞搞技术
  3. 正文

关于PB里控制graph控件的代码

2023-10-22 394点热度 0人点赞 0条评论

最近在PB里写一点做缓冲管理的程序,想要在PB中的Datawindow里的Graph控件中,调整颜色,比如,柱状图,我想要名字为“黑色”那根柱子就是黑色的,名字为“绿色”的柱子,就是绿色的(或者饼图、堆积柱状图也是如此)。

很久不搞PB代码了,所以也记得不清楚,因此上网搜索一下,发现中文互联网真的是没落的一塌糊涂,以前有的内容现在都不见了,CSDN什么破代码文档都想收个几块钱,然后淘宝就跟在后面搞1块钱下载;尤其这种比较冷门的语言或技术,基本上就一两篇文章,讲的也不准确不细致,然后在百度搜索,与你的关键字相关度很低,一页结果里能找出一篇有用的就不错了,然后你好不容易找到三五篇文章,点开一看,全部是互相抄袭拷贝黏贴的!连错别字都一样。。。。而想找一下在线的函数手册什么的,完全找不到,一堆下载盗版电子书的,实际上也下载不了,无非是想你点它的广告而已。 最后不得不翻墙用google,打英文来搜,第一页就找到了答案,顺便也找到几个在线的函数手册,做的很好。算了,吐槽到此为止。

记录一下具体的代码,以防下次要用,比如你创建了一个柱状图,或饼图,如下:

想要改变柱子的颜色,而且是按照柱子的名字来改,那么代码如下:

改变柱子颜色的代码

li_category = dw_1.Findcategory("gr_1", "黑色")
dw_1.SetDataStyle( 'gr_1', 1,li_category, ForeGround!, rgb( 0,0,0 ))

li_category = dw_1.Findcategory("gr_1", "红色")
dw_1.SetDataStyle( 'gr_1', 1,li_category, ForeGround!, rgb( 255,0,0 ))

实际上,每一个柱子(或每个饼的一个slice),是category,那么用 findcategory函数来找到指定名称的那个(其实返回的就是第几个),然后用setdatastyle函数来设置颜色,注意这里的参数,分别是:图形对象名,系列号(这一整系列柱子构成了系列,因此是 1),datapoint号(这里就是category号),颜色属性,颜色值;

另外,如果是堆积柱状图,比如这个:

这个反而比上面的图还要简单,用setseriesstyle函数就解决了,因为在这种图里,颜色成为了一个系列(series),把所有的“黑色”这个系列对应的图块,设成黑色即可。

设置堆积图的颜色

dw_2.SetSeriesStyle("gr_1","黑色", foreground! ,rgb(0,0,0))
dw_2.SetSeriesStyle("gr_1","红色", foreground! ,rgb(255,0,0))

看来,主要是理解了graph里面,series、category这些东西真正含义,就容易了。
要查询powerbuilder的有关函数、事件、语法等,下面两个网站内容非常全:
PowerScript Topics - - PowerScript Reference (appeon.com)
SyBooks Online (Archive) (sybase.com)

最后的最后,还是要学习英语,简中互联网真的是要完。

标签: 暂无
最后更新:2023-10-22

tocwei

我一定会后悔,但这正是决定的意义,是人生的宿命,是自由意志的代价,在最后,后悔带来的痛苦,会让我感觉到人生如此灿烂。

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

tocwei

我一定会后悔,但这正是决定的意义,是人生的宿命,是自由意志的代价,在最后,后悔带来的痛苦,会让我感觉到人生如此灿烂。

COPYRIGHT © 2024 一苇可航. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang