| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Программно прокрутить CListBox вправо до упрова |
| Автор: dizzy1984 12.4.2007, 13:58 |
| Есть список, заполняемый путями к файлам. Он представлен классом CHScrollListBox, который является потомком CListBox. Размер окна может быть меньше длины путя и возникает желание после заполнения списка прокрутить горизонтальный ползунок до конца вправо, т.к название файлов важнее всего пути к ним. Не ясно как это сделать. Метода в классе я не нашел. Есть сообщение, приводящее к прокрутке вправо на некоторое число пикселей, но это не совсем то, т.к не докрутит до конца. |
| Автор: Greeen 12.4.2007, 15:08 | ||
Попробуй заюзать
|
| Автор: dizzy1984 13.4.2007, 10:55 | ||||
Фуфффф... что я, бедный, не перепробовал.
Не канает, SetScrollInfo только задает свойства листбокса.
это только сдвинет ползунок, содержимое окна останется. его, конечно, тоже можно программно перерисовать, используя TextOut, но это накладно. Пробовал даже ставить свойство Right Align Text, но CHScrollListBox с ним работал некорректно. Пробовал найти сообщение, которое посылается листбоксу для его прокрутки вправо. CListbox в msdn не помог. В файле winuser.h ничего не нашел. Сообщение отыскал только с запущенным spy++. Причем даже там нужно было проставлять дополнительные опции для его показа. Оказалось, это общее сообщение, оно не относилось к самому листбоксу, а скорее к полоске прокрутки. Окончательное решение вот такое. [code=cpp] CHScrollListBox m_lb; m_lb.SendMessage(WM_HSCROLL, SB_RIGHT); [/co] |
| Автор: Greeen 13.4.2007, 11:41 |
This function sets the parameters of a scroll bar, including the minimum and maximum scrolling positions, the page size, and the position of the scroll box (thumb). SetScrollInfo also redraws the scroll bar, if requested. |
| Автор: dizzy1984 13.4.2007, 12:18 | ||
Хотя да. ползунок тоже двигает |