문자열이 화면에 표시될때의 가로폭은 TCanvas.TextWidth 를 이용하여 확인된다.


1. 문자열이 원하는 길이보다 크면 문자열 뒤에 말줄임표 추가

2. 문자열이 원하는 길이보다 길지 않을 때까지, 말줄임표 앞 1글자를 삭제

3. 말줄임표 앞 1글자가 2바이트 문자의 앞(Lead) 문자일 경우 삭제


AnsiString __fastcall TextEllipsis(TCanvas *C, AnsiString V, int W, const AnsiString &P = "...")

{

for (C->TextWidth(V) > W? V += P: V; V.Length() > 0 && C->TextWidth(V) > W; V.Delete(V.Length() - P.Length(), 1));

if (ByteType(V, V.Length() - P.Length()) == mbLeadByte) {

V.Delete(V.Length() - P.Length(), 1);

}

return V;

}


'Windows > RAD Studio' 카테고리의 다른 글

DLL Export 함수 목록 가져오기  (0) 2015.10.07
[CB] Ole - InternetExplorer 띄우기  (0) 2015.09.17
프로세스 종료  (0) 2015.09.08
DLL 기본 주석 문구 해석  (0) 2015.05.13
[Del] TListBox HorizontalScrollBar 표시  (0) 2015.05.06

+ Recent posts