可以自动折行的DW

fuxiaoyang13 2010-10-12 02:31:22
C:\WINDOWS\Web\Wallpaper\裁剪.bmp
...全文
423 62 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
62 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuxiaoyang13 2010-10-22
  • 打赏
  • 举报
回复
基本搞定,正在测试中,就是取每列的FONT.SIZE时每取到!
fuxiaoyang13 2010-10-19
  • 打赏
  • 举报
回复
Expression表达式?不大会用啊,是这样吗dw_1.Describe('Evaluate(ls_colname + "_t.y"=+"xxx")', rownumber)
???
sjlion 2010-10-19
  • 打赏
  • 举报
回复
grid实现不了。tabular,freeform.而且这两种也不能设置行高啊,是autoheight后设置y坐标实现同一行中各列居中对齐。y坐标也不是简单的modify,如楼上所说,是用表达式实现的。
xiaobn_cn 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 57 楼 fuxiaoyang13 的回复:]
没办法修改某行某列的位置,要改就整列都改了!!!
[/Quote]
不要使用Modify,使用Expression表达式就可以了。
sjlion 2010-10-19
  • 打赏
  • 举报
回复
ls_expression = "if(rowheight()/2 - "+ls_colheight[i]+"/2 > 0,"+"rowheight()/2 - "+ls_colheight[i]+"/2,0)"// + "+as_justfiy+"

注:ls_colheight[i],字符串,为另一表达式,调用全局函数计算当前cell实际高度的。

ls_modify = ls_obj[li_i]+'.y="'+ls_y+"~~t"+ls_expression+'"'

注:ls_y为原始y坐标.ls_obj[li_i]为数据窗口内列名或计算域名数组

ls_modify = adw_current.Modify(ls_modify)


还不懂的话我也没办法了。自己再查查书好了
fuxiaoyang13 2010-10-18
  • 打赏
  • 举报
回复
没办法修改某行某列的位置,要改就整列都改了!!!
fuxiaoyang13 2010-10-18
  • 打赏
  • 举报
回复
现在是数据窗口里每一行的每一列都可能要自动换行,换行后列上下居中!
fuxiaoyang13 2010-10-18
  • 打赏
  • 举报
回复
哦,设置行高后,所有列都是一样高了!
sjlion 2010-10-18
  • 打赏
  • 举报
回复
呵呵,个人认为不行,大多数用户不会接受的。tabular,freefrom的用我的上下居中的方法是可以的。grid没试过,你可以试下。
csqqx 2010-10-16
  • 打赏
  • 举报
回复
pb在这方面实在是太弱了,没有简单的办法实现哦。无语。
fuxiaoyang13 2010-10-15
  • 打赏
  • 举报
回复
好像用上自动折行后就没法上下居中了哦,也许吧字体相应调大,行数多的字段字体就用相对小点的,行数小的列就用大点的字体,不知道这个想法行不行!请教各位大侠!
pb8 2010-10-14
  • 打赏
  • 举报
回复
[Quote=引用 45 楼 fuxiaoyang13 的回复:]
gf_resize(yourtext,integer(describe('yourtext.width'))
不是只能按照指定的字段刷新???
[/Quote]

小哥,这段代码是让你理解而不是直接用的,如果真的要用的话你可以动态modify或者用其它方式都可以呀,这个只是提供一种思路给你~~
fuxiaoyang13 2010-10-14
  • 打赏
  • 举报
回复
gf_resize(yourtext,integer(describe('yourtext.width'))
不是只能按照指定的字段刷新???
兔宝 2010-10-14
  • 打赏
  • 举报
回复
好像PB13已经有这个上下居中的功能了!
fuxiaoyang13 2010-10-14
  • 打赏
  • 举报
回复
好像PB13已经有这个上下居中的功能了!
fuxiaoyang13 2010-10-14
  • 打赏
  • 举报
回复
上下居中还没弄出来啊,希望大家多提建议!!!!!!!
fuxiaoyang13 2010-10-14
  • 打赏
  • 举报
回复
[Quote=引用 44 楼 pb8 的回复:]
pbm_dwnlbuttonup中去处理,如果你是想要全局函数进行处理,最好的方法是把字段宽度也传进去,这样你就不会处理这个事件的代码了~~
如gf_resize(yourtext,integer(describe('yourtext.width')),,这样变化的时候会自动重新计算的~~
[/Quote]
我主要说的是这个,不在pbm_dwnlbuttonup中去处理,如何处理最好,就是用鼠标动态调整列宽后,窗口自动刷新!
pb8 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 33 楼 fuxiaoyang13 的回复:]
按楼上所说,那是没法弄出一个通用的的出来啦?
那么竖向居中就更没法弄了吧
[/Quote]

可以写通用的,通过计算字体字号及文本控件的width自动计算能容纳的字符数,再去加分隔符进行强制换行,有点麻烦,如果是都是宋9的话会好处理一些,呵呵~~
pcwe2002 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 pb8 的回复:]
纯英文的自动折行目前datawindow还未很好的直接支持,如果一定要这种效果的话需要自己写代码了,在计算字段中把文字传进去再通过全局函数去处理,到折行的宽度就自动加~r~n,其它设置还是和汉字自动折行的一样~~
[/Quote]
可以这么说
fuxiaoyang13 2010-10-13
  • 打赏
  • 举报
回复
按楼上所说,那是没法弄出一个通用的的出来啦?
那么竖向居中就更没法弄了吧
加载更多回复(41)

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧