|
원하시는 기능의 함수로는 VCL에서는 MinimizeName()이라는 함수가 있는데..
이 함수는 정확하게는 아무 문자열이나 쓰기 위한 것이 아니라 길쭉한 파일 경로명만을 위한 함수이기 때문에, 적절하지는 않습니다. 실제로 써보시면, 비슷하게는 동작하지만 뭔가 좀 이상할 겁니다.
그 목적에 딱 맞는 함수는 Win32 함수중의 DrawTextEx() 함수입니다.
이 함수는 원래는 단순히 문자열을 지정한 Rect 영역에 그리기 위한 함수인데, DWORD 타입인 마지막 인자에 DT_END_ELLIPSIS와 DT_MODIFYSTRING 값을 넣어주면 원하시는 것처럼 문자열이 지정 Rect 영역을 벗어나는 뒷부분을 줄임표시(...)로 대체해서 줄여줍니다.
그럼...
skjoon 님이 쓰신 글 :
: 첨부한 그림은 윈도우 탐색기의 일부를 캡쳐한 것인데요.
: 텍스트가 지정된 Width를 넘어서면 뒷부분을 자르고 "..."을 붙여서 텍스트가 줄여짐을 나타내줍니다.
: 혹시 vcl이나 윈도우 api 중에서 이 기능을 해주는 녀석이 있는지 궁금하네요.
: 만들려고 하다가.. 먼저 찾아보고 쓰려구요 ^^;;
:
: 좋은 하루 되세요~
|