You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dyalog APL中Grid控件Tooltip的正确尺寸计算方法

解决Dyalog APL 16.0 Classic Grid控件Tooltip尺寸适配问题

在Dyalog APL 16.0 Classic中使用AddComment为Grid单元格添加Tooltip时,若文本为多行,直接用字符矩阵传入GetTextSize会导致尺寸计算错误,Tooltip仅显示第一行。问题根源在于GetTextSize对字符矩阵的处理仅识别第一行,需将多行文本转换为带换行符的单行字符串,再进行尺寸计算。

修正后的代码

∇ ShowGrid;col;comment;height;row;width
   'F'⎕WC'Form'
   'F.G'⎕WC'Grid'(2 2⍴0)(0 0)(100 100)
   ; 将多行文本转换为带换行符(⎕UCS 10)的单行字符串
   comment←'line one',⎕UCS 10,'line two',⎕UCS 10,'line three'
   row col←1 2
   'F.G' ⎕WS'Coord' 'Pixel'
   ; 获取多行文本的整体尺寸,添加4像素边距(上下左右各2像素)
   height width←4+F.G.GetTextSize comment
   F.G.AddComment row col comment height width
∇

关键说明

  • 文本格式转换:将多行字符矩阵改为用换行符(⎕UCS 10)连接的单行字符串,确保GetTextSize能识别所有行并计算总高度。
  • 尺寸计算:GetTextSize处理带换行的字符串时,会返回所有行的总高度和最长行的宽度,在此基础上添加4像素作为边框和内边距,保证Tooltip完整显示内容。
  • Coord属性:设置Coord为Pixel后,尺寸计算和Tooltip的显示单位统一为像素,避免缩放导致的适配错误。

内容的提问来源于stack exchange,提问作者August Karlstrom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 02:50:29