如何实现自动根据文字长度调整FlexGrid的列宽?

swordbroken 2003-04-10 12:40:38
就象Excel中作的一样,双击两列间的分隔线就可以自动调整列宽,如何实现?
...全文
93 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kangshu 2003-04-20
  • 打赏
  • 举报
回复
try this:

with mshFlexGrid
for row = 0 to .rows -1
for col=0 to .cols -1
if textwidth(.textmatrix(row,col)<.colwidth(col) then
.colwidth(col) = textwidth(.textmatrix(row,col) + 120
end if
next
next
end with
richardbao 2003-04-19
  • 打赏
  • 举报
回复
用一个 Label 来处理。把 Label 的字体设成和 FlexGrid 里一样,再加上 AutoSize = True,然后用户双击时,就把这列里的格子里的文字放到 Label 里去,由于 Label 是自动改变大小的,所以可以用它的 Width 属性求得文本所占的宽度。根据宽度取最大的,回去赋给 FlexGrid 就可以了。

1,451

社区成员

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

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