中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
如何在PB中画箭头(二)
作者:佚名 时间:2004-07-13 10:40 出处:互连网 责编:chinaitpower
              摘要:如何在PB中画箭头(二)

如何在PB中画箭头(二)by ...---...   ( QQ: 21417511 )

先说一段废话:CSDN的BLOG是我使用过的所有BLOG中最有意思的一个,它具有如下优点:1、可以消磨时间;2、可以培养自己的细心;3、可以锻炼人的耐心与忍受力;4、可以促进身体健康;5、让大家提前享受共产主义;为什么这样说呢,因为这东东在我用的过程中,经常在修改BLOG时会出现自动COPY一段文字。删除掉自动COPY出来的文字并预览,一切OK,如果认为这时候已经没问题了,点发表,再到网页上看,嘻嘻,还是会一样自动COPY那一段在那儿,这就要考验你的细心啦,不要被预览成功的假象迷住哦!经过N次的编辑、删除、发表、查看等一系列过程,问题一定是没有办法解决好的,当然这中间还需要你的耐心与忍受能力啦,反正多扯几根头发对人身体也是好的,毕竟可以促进新陈代谢嘛!最后我发现一个终极解决方法,那就是全部删除掉,直接发表,然后重写就OK啦,为了改BLOG里的几个字,差不多花了一个半小时,这不是最好的消磨时间方法吗?虽然,我也用过其它的BLOG系统,但是经过比较,发现还是CSDN的好,因为它不带模板,大家看上去一个样,没有个人英雄主义,多好啊,千篇一律,提前实现主产主义!

好了,转回正题,上文中我们复习了一些高中的基础知识,下面我们就来构建函数,进行画箭头的正式工作啦!/*------------------------------------------------------------------------------

 Function:   public w_process.wf_Getpoint

 Returns:         (none)

 Parameters:      value Long al_x1                  value Long al_y1                  value Long al_x2                  value Long al_y2                  value Long al_angle                  value Long al_width                  reference Long al_a1x1                  reference Long al_a1y1                  reference Long al_a2x1                  reference Long al_a2y1

 Description:  

-------------------------------------------------------------------------------- 2005-04-15 2.0.0  Initial version by cuixuf (Mail:cuixuf@sina.com)------------------------------------------------------------------------------*/

real  lr_angle, &   lr_angle1, &   lr_angle2   //先获取直线夹角If al_x2 = al_x1 then If al_y2 > al_y1 then   lr_angle = pi(1) + pi(1/2) Else  lr_angle = pi(1/2) End ifElse lr_angle = atan((al_y2 - al_y1)/(al_x2 - al_x1))  End if//注意一下直线的方向If al_x2 > al_x1 then lr_angle = pi(1) + lr_angle

lr_angle1 = lr_angle + al_angle*(pi(2)/360)lr_angle2 = lr_angle - al_angle*(pi(2)/360)

//求两条边的坐标al_a1x1 = al_x2 + al_width*(cos(lr_angle1))al_a1y1 = al_y2 + al_width*(sin(lr_angle1))al_a2x1 = al_x2 + al_width*(cos(lr_angle2))al_a2y1 = al_y2 + al_width*(sin(lr_angle2))

求得坐标以后,我们就是要构造创建箭头的函数啦!/*------------------------------------------------------------------------------

 Function:   public w_process.wf_Createline

 Returns:         String

 Parameters:      value String as_tag                  value Long al_x1                  value Long al_y1                  value Long al_x2                  value Long al_y2

 Description:  

-------------------------------------------------------------------------------- 2005-04-15 2.0.0  Initial version by cuixuf (Mail:cuixuf@sina.com)------------------------------------------------------------------------------*/string ls_createlong  ll_a1X1, &   ll_a1Y1, &   ll_a2X1, &   ll_a2Y1, &   ll_len = 50, &   ll_degree = 15

wf_getpoint(al_x1,al_y1,al_x2,al_y2,ll_degree,ll_len,ll_a1x1,ll_a1y1,ll_a2x1,ll_a2y1)

ls_create = "create line(band=Detail"  +  &" pointer='Arrow!' moveable=0 resizeable=0 x1='"+string(al_X1)+"' y1='"+string(al_Y1)+"' x2='"+string(al_X2)+"' y2='"+string(al_Y2)+"' name=l_" + as_tag + &" tag='"+as_tag+"' pen.style='0'" + &" pen.width='3' pen.color='134217856' background.mode='1' background.color='1073741824')"

ls_create += "~tcreate line(band=Detail"  +  &" pointer='Arrow!' moveable=0 resizeable=0 x1='"+string(ll_a1X1)+"' y1='"+string(ll_a1Y1)+"' x2='"+string(al_X2)+"' y2='"+string(al_Y2)+"' name=l_" + as_tag+"_1" + &" tag=' pen.style='0'" + &" pen.width='1' pen.color='134217856' background.mode='1' background.color='1073741824')"

ls_create += "~tcreate line(band=Detail"  +  &" pointer='Arrow!' moveable=0 resizeable=0 x1='"+string(ll_a2X1)+"' y1='"+string(ll_a2Y1)+"' x2='"+string(al_X2)+"' y2='"+string(al_Y2)+"' name=l_" + as_tag+"_2" + &" tag=' pen.style='0'" + &" pen.width='1' pen.color='134217856' background.mode='1' background.color='1073741824')"

return ls_create

根据上面函数返回的CREATE语句,我们只需要通过MODIFY方法就能实现画箭头的功能啦,其它的就不用我多说了吧,比较简单,就不给出EXAMPLE啦,呵呵,如果有什么建议的话,请与我联系吧!联系方法上面都有哦。
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有