社区
DataWindow
帖子详情
PB12.5中的数据窗口绘图控件具体怎么用?
as1139688
2012-09-04 09:39:17
PB12.5中的数据窗口绘图控件具体怎么用?
http://blog.csdn.net/lzp_lrp/article/details/7001582这个里面说了但是没做出来,求高手指点。
...全文
633
4
打赏
收藏
PB12.5中的数据窗口绘图控件具体怎么用?
PB12.5中的数据窗口绘图控件具体怎么用? http://blog.csdn.net/lzp_lrp/article/details/7001582这个里面说了但是没做出来,求高手指点。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yh10231033
2012-10-17
打赏
举报
回复
非常好奇,但是看不懂他怎么画出来的,,那个函数还能看懂,但这个函数要怎么用呢?SelectObject(al_dc, ll_brush)中的al_dc是什么,是handle(dwo)的返回值吗?数据窗口的句柄吗?
as1139688
2012-09-06
打赏
举报
回复
数据窗口控件的表达式是这样写的mydrawpieslice (getpaintDC(), getpaintrectX(), getpaintrecty(),getpaintrectwidth(), getpaintrectheight())
getpaintDC()的返回值是一个值类型,但是SelectObject(al_dc, ll_brush)的第一个参数是需要一个引用类型。这个时候该怎么办?
as1139688
2012-09-06
打赏
举报
回复
这是版主提供的绘图函数:
global type MyDrawPieSlice from function_object
end type
forward prototypes
global function boolean mydrawpieslice (long al_dc, long al_x, long al_y, long al_w, long al_h)
end prototypes
global function boolean mydrawpieslice (long al_dc, long al_x, long al_y, long al_w, long al_h);
long ll_handle
ws_position lws_pointapi[]
// 图形2
long ll_pen, ll_brush
//创建一个画笔
ll_pen = CreatePen(0, 1, rgb(0, 0, 255))
SelectObject(al_dc, ll_pen)
//创建一个刷子
ll_brush = CreateSolidBrush(rgb(0, 255, 255))
SelectObject(al_dc, ll_brush)
//画一个三角形
lws_pointapi[1].xpos = al_x + 26
lws_pointapi[1].ypos = al_y + 1
lws_pointapi[2].xpos = al_x + 51
lws_pointapi[2].ypos = al_y + 26
lws_pointapi[3].xpos = al_x + 1
lws_pointapi[3].ypos = al_y + 26
Polygon(al_dc, lws_pointapi, 3)
//画一个四边形
al_x += 30
al_y += 50
lws_pointapi[1].xpos = al_x
lws_pointapi[1].ypos = al_y
lws_pointapi[2].xpos = al_x - 20
lws_pointapi[2].ypos = al_y + 20
lws_pointapi[3].xpos = al_x + 40
lws_pointapi[3].ypos = al_y + 20
lws_pointapi[4].xpos = al_x + 60
lws_pointapi[4].ypos = al_y
Polygon(al_dc, lws_pointapi, 4)
//画一个六连形
al_x += 100
al_y -= 20
lws_pointapi[1].xpos = al_x
lws_pointapi[1].ypos = al_y
lws_pointapi[2].xpos = al_x - 50
lws_pointapi[2].ypos = al_y + 50
lws_pointapi[3].xpos = al_x
lws_pointapi[3].ypos = al_y + 100
lws_pointapi[4].xpos = al_x + 100
lws_pointapi[4].ypos = al_y + 100
lws_pointapi[5].xpos = al_x + 150
lws_pointapi[5].ypos = al_y + 50
lws_pointapi[6].xpos = al_x + 100
lws_pointapi[6].ypos = al_y + 0
Polygon(al_dc, lws_pointapi, 6)
//写几个字
string ls_text
//gl_once = gl_once + 1
ls_text = '当前的文本是画出来的'
//ls_text = string(gl_once)
ws_rect lws_rect
lws_rect.left = al_x - 100
lws_rect.top = al_y + 130
lws_rect.right = al_w - 220
lws_rect.bottom = al_h
DrawText(al_dc, ls_text, lenA(ls_text), lws_rect, 1)
//画个饼图
al_x += 150
Pie(al_dc, al_x, al_y, al_x + 100, al_y + 100, al_x + 50, al_y + 50, al_x + 20, al_y + 20)
//画一个长方体
al_x += 50
al_y += 80
//画正面
lws_pointapi[1].xpos = al_x - 20
lws_pointapi[1].ypos = al_y + 20
lws_pointapi[2].xpos = al_x + 40
lws_pointapi[2].ypos = al_y + 20
lws_pointapi[3].xpos = al_x + 40
lws_pointapi[3].ypos = al_y + 100
lws_pointapi[4].xpos = al_x - 20
lws_pointapi[4].ypos = al_y + 100
Polygon(al_dc, lws_pointapi, 4)
//deleteobject(ll_brush)
//ll_brush = CreateSolidBrush(rgb(252, 213, 180))
//SelectObject(al_dc, ll_brush)
//画上边
lws_pointapi[1].xpos = al_x
lws_pointapi[1].ypos = al_y
lws_pointapi[2].xpos = al_x - 20
lws_pointapi[2].ypos = al_y + 20
lws_pointapi[3].xpos = al_x + 40
lws_pointapi[3].ypos = al_y + 20
lws_pointapi[4].xpos = al_x + 60
lws_pointapi[4].ypos = al_y
Polygon(al_dc, lws_pointapi, 4)
//画侧面
lws_pointapi[1].xpos = al_x + 60
lws_pointapi[1].ypos = al_y
lws_pointapi[2].xpos = al_x + 40
lws_pointapi[2].ypos = al_y + 20
lws_pointapi[3].xpos = al_x + 40
lws_pointapi[3].ypos = al_y + 100
lws_pointapi[4].xpos = al_x + 60
lws_pointapi[4].ypos = al_y + 80
Polygon(al_dc, lws_pointapi, 4)
//释放画笔和画刷
deleteobject(ll_pen)
deleteobject(ll_brush)
return true
end function
现在有一个问题:
API函数SelectObject(al_dc, ll_brush)的第一个参数需要一个引用类型的但是把al_dc声明为refrence类型后在数据窗口控件的表达式里面调用会报错。这个应该怎么办?
as1139688
2012-09-04
打赏
举报
回复
是不是在数据窗口中用表达式paint()来调用绘图函数?我这样做了但是没有画出来不知道是为什么?
PowerUI 2.0 for PB9,10,11.5,12.5(201504202216)
PowerUI是PowerBuilder平台下的专用界面库 采用PBNI完成底层
绘图
控件
功能使用PowerScript实现 兼容PowerBuilder原有的
控件
目前PowerScript源码按BSD协议开放 使用者请遵守BSD协议内容
ELK/ELFK(7.3 ) 企业PB级日志系统实战
Elastic Stack日志系统是目前企业应用广泛的一套日志解决方案。 包含的组件有Filebeat,Logstash,Elastic,Kibana等 本堂课引入Kafka 让Elastic Stack 能适应企业PB级的业务日志量并弥补传统ELk架构的不足 ★学完这门课程会获得什么? 首先从零开始教你部署Elastic Stack系统, 详细讲解Elastic产品,包括 Kibana.Logstash,Beats的详细讲解以及Elastic的api操作, 并如何监控如何
绘图
等。最后结合自己的运维过程
中
的案例讲解,让学员能更加清楚了解原理以及少走一些弯路。 目前我们公司每天产生至少8个T的
数据
量,历史日志保存半年。此教程足以能承担PB级的日志收集系统的量。此教程的背景介绍请参阅我的CSDN博客,置顶内容的第一篇博文。
PowerUI 2.2.1 for PB9,10.5,11.5,12.5(201507072110)
PowerUI是PowerBuilder平台下的专用界面库 采用PBNI完成底层
绘图
控件
功能使用PowerScript实现 兼容PowerBuilder原有的
控件
目前PowerScript源码按BSD协议开放 使用者请遵守BSD协议内容
PowerUI 2.3.5 for PB9,10.5,11.5,12.5
PowerUI是PowerBuilder平台下的专用界面库 采用PBNI完成底层
绘图
控件
功能使用PowerScript实现 兼容PowerBuilder原有的
控件
目前PowerScript源码按BSD协议开放 使用者请遵守BSD协议内容
DataWindow
609
社区成员
20,469
社区内容
发帖
与我相关
我的任务
DataWindow
PowerBuilder DataWindow
复制链接
扫一扫
分享
社区描述
PowerBuilder DataWindow
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章