如何判断控件中文字是否显示完整 另外,如果不仅仅是Column,还有受控件本身的宽度限制时,如何判断? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 利用TListView.Canvas.TextWidth配合列宽等宽度进行判断。 这种计算宽度的方法可以计算文字是否大于列宽,但是我想知道有更好的方法吗?因为还有多种情况,例如TTreeView前面有缩进,计算更复杂;还有就是列宽足够,但是控件本身的宽度小于列宽,造成文字没有显示完整的情况。 procedure TForm1.ListView1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);var vListItem: TListItem; vWidth: Integer;begin vListItem := ListView1.GetItemAt(X, Y); if not Assigned(vListItem) then Exit; vWidth := vListItem.DisplayRect(drLabel).Right - vListItem.DisplayRect(drLabel).Left; if ListView1.Canvas.TextWidth(vListItem.Caption) > vWidth then Caption := Format('%s,%.6f', [vListItem.Caption, Now]) else Caption := '';end; 问个2010 的问题 求000-999的1000个数的算法 Access问题 activefrom在分布式开发中的问题 如何用代码的方式关掉当前正在编辑状态的 DBGrid ? MainMenu 太长了,怎样让其折叠或出现滚动箭头? 图像保存在SQL数据库问题? Hi!前度刘郎今又来,各位老朋友和新朋友,大家好,可惜立马又得走:( delphi拖拽求实现 求助贴:SAR图像 MATLAB 文件读写:前一部分是文肩头,含几个概括性数据;后一部分是数量不定的大量整形数据。该怎么办?我想用块读写的方式,不知可否?解决了保 请大家推荐一款制作自解压安装程序的软件吧!
Y: Integer);
var
vListItem: TListItem;
vWidth: Integer;
begin
vListItem := ListView1.GetItemAt(X, Y);
if not Assigned(vListItem) then Exit;
vWidth := vListItem.DisplayRect(drLabel).Right -
vListItem.DisplayRect(drLabel).Left;
if ListView1.Canvas.TextWidth(vListItem.Caption) > vWidth then
Caption := Format('%s,%.6f', [vListItem.Caption, Now])
else Caption := '';
end;