试试这个:function GetLabelLastChar(ALabel: TLabel): Char; var I, iLen: Integer; begin iLen := Length(ALabel.Caption); case ALabel.Alignment of taCenter:; //暂时没 taLeftJustify: for I := 1 to iLen do if ALabel.Canvas.TextWidth(Copy(ALabel.Caption, 1, I)) > ALabel.Width then Break; taRightJustify: I := Length(ALabel.Caption) + 1; end; Dec(I); if I > 0 then Result := ALabel.Caption[I] else Result := #0; end;
就可以得到它的長度.
您这样是得到label内容的字符个数,并不能解决问题!
var
I, iLen: Integer;
begin
iLen := Length(ALabel.Caption);
case ALabel.Alignment of
taCenter:; //暂时没
taLeftJustify:
for I := 1 to iLen do
if ALabel.Canvas.TextWidth(Copy(ALabel.Caption, 1, I)) > ALabel.Width then
Break;
taRightJustify: I := Length(ALabel.Caption) + 1;
end;
Dec(I);
if I > 0 then
Result := ALabel.Caption[I]
else
Result := #0;
end;
如果label改为QRLabel该如何实现啊????
delphi72() 的方法也可行,但也不见得简单了!
对小虫的方法加入了自己修改,问题得到了解决。谢谢各位大虾的指教!