Как обновить контрол после изменения стиля
От: zergtmn  
Дата: 20.12.07 15:31
Оценка:
Есть у меня ListBox. Был старый стиль WS_VISIBLE | WS_CHILD | WS_BORDER, новый стиль WS_VISIBLE | WS_CHILD | WS_BORDER | LBS_SORT.
Обновляю стиль так:

SetWindowLong(hWnd, GWL_STYLE, WS_VISIBLE | WS_CHILD | WS_BORDER | LBS_SORT);
SetWindowPos(hWnd, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);


Не прокатывает =( Добавляемые строки не сортируются. В чем может быть дело?
Re: Как обновить контрол после изменения стиля
От: Pavel Dvorkin Россия  
Дата: 21.12.07 06:25
Оценка:
Здравствуйте, zergtmn, Вы писали:

Z>Не прокатывает =( Добавляемые строки не сортируются. В чем может быть дело?


ИМХО затея безнадежная. В свое время я исследовал, как это сделано в Delphi. Там можно ставить Sorted, и он применяется. Изучение исходников Delphi показало, что создается новый листбокс с LBS_SORT и в него перекачивается содержимое старого, после чего старый уничтожается, а новый ставится на его место
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.