이 팁은 담비님(천리안 FREKBS)님이 1999년 04월 28일에 천리안 프로그래머포럼에 올리신 것입니다.
담비님으로부터는 전제하여 올리는 데 대해 허락을 받았습니다.
좋은 정보를 공유하도록 허락해주신 담비님께 감사드립니다.
───────────────────────────────────────
안녕하세요! 담비입니다.
출처 : ZD Tips, C++ Builder Tips, 04/19/99
Listbox의 각 Item에 표시되는 문자가 Listbox의 길이보다 긴 경우 Horizontal
Scrollbar는 정말 유용하게 쓰인다. 혹자는 Button에 MultiLine을 하는 것처럼
Style을 설정하면 되는구나 하고 생각할 수 있지만 천만에 말씀, 만만에 땅콩.
Listbox에서는 다음과 같이 하여 Horizontal Scrollbar를 나타낸다.
1. Listbox에 있는 Item들중 가장 긴 문자열에 대한 Pixel수를 구한다.
여기에서 구해진 값은 Scrollbar가 얼마의 값을 가지는가를 결정한다.
int maxWidth = 0;
for (int i=0;iItems->Count;i++) {
int w = ListBox1->Canvas->TextWidth(
ListBox1->Items->Strings[i]);
maxWidth = max(w, maxWidth);
}
2. Listbox에 LB_SETHORIZONTALEXTENT 메세지를 보낸다.
ListBox1->Perform(LB_SETHORIZONTALEXTENT, maxWidth, 0);
|