我想写一个过程,实现去一定宽度的字符串。该怎么实现呢。
我的想法
比如 function fnc1(str,windth) string
对字符串str的每个字符取宽度,然后把每个字符的宽度累加,
累加和 大于指定的windth时,就终止,得到 小于windth的子字符串。
想法是这样,不过不知道怎么实现。getcharwidth32这个是怎么用的。
我的想法
比如 function fnc1(str,windth) string
对字符串str的每个字符取宽度,然后把每个字符的宽度累加,
累加和 大于指定的windth时,就终止,得到 小于windth的子字符串。
想法是这样,不过不知道怎么实现。getcharwidth32这个是怎么用的。
BOOL GetTextExtentPoint32(
HDC hdc, // handle to DC
LPCTSTR lpString, // text string
int cbString, // characters in string
LPSIZE lpSize // string size
);
取字符串的宽度(象素)?加入是这个意思的话,与具体的字体有关,不同的字体肯定宽度不同,但是可以巧妙利用一下TLabel;function GetStrWidth(s: string; AFont: TFont): Integer;
var
lbl: TLabel;
begin
lbl := TLabel.Create(nil);
lbl.Font.Assign(AFont);
lbl.Caption := s;
Result := lbl.Width;
lbl.Free;
end;
api 是怎么用的,里面的那些参数应该写什么。我是 从 一个长的字符串,也就是宽度长的字符串中取一部分子字符串,就是 取前边一定长度的子子串
confucius
你说的字体我明白,我的这里字体已经限制好了,就是取个字符串了。