如何获得autosizeheight为真的静态文本和列的实际高度?

xiyahui 2004-09-19 07:05:48
如果选中了文本或列的autosizeheight属性那么文本或列的高度将随着内容的变化而变化,但是用describe去其高度是依然是数据窗口设计时的填写的高度,如何取得其实际的高度呢?????
...全文
154 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
balloonman2002 2005-06-30
  • 打赏
  • 举报
回复
我想可以用Wm_GetFont/CreateFontIndirect + GetTextExtentpoint32获取每个字符的宽度、高度,用DW_1.Object.Column.Width除以每个字符的宽度,即可获取每行显示多少个字符,然后用总的字符个数(这个通过GETITEMSTRING()不难获取)再除以每行的字符个数,即得总行数,然后总行数乘以每个字符的高度即得总高度;

此外总行数也可以通过.LineCount ( )、.Position ( )、.SelectedLine ( )等函数获取;
  • 打赏
  • 举报
回复
楼上的,如果有几千条数据的当然不会用自动行高啊,这种情况通常是只有几页以下的报表才会用到的啊.
我也存在同样的问题. 帮你顶一下
lishijin 2005-03-03
  • 打赏
  • 举报
回复
autosizeheight对数据显示的性能影响很大,上千条数据数据就很慢了,datawindows优势何在?
圣殿骑士18 2004-09-23
  • 打赏
  • 举报
回复
我也试过,没有办法.
xiyahui 2004-09-21
  • 打赏
  • 举报
回复
没有办法么?
xiyahui 2004-09-21
  • 打赏
  • 举报
回复
??
learner01 2004-09-20
  • 打赏
  • 举报
回复
计算出文本内容的行数,单行的高度 * 行数 = height(文本)
wangxichen 2004-09-20
  • 打赏
  • 举报
回复
用rowheight()
xiyahui 2004-09-20
  • 打赏
  • 举报
回复
rowheight()只能用在grid类型的数据窗口中吧?对于freem类型的如何取??我现在想根据具体内容调整header区的字体,如果字体改变后相应的高度肯定会变化,这样要根据静态文本的实际高度来调整header的高度,同事在freem的detail区域一些列的数据是多行的,要根据数据调整detail区域的高度。难道没有办法取得实际的高度吗?
10975037 2004-09-20
  • 打赏
  • 举报
回复
rowheight()
试试
zhouweiwansui 2004-09-19
  • 打赏
  • 举报
回复
你可以试试去得到detail band区的height.

611

社区成员

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

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