Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
S_S_V
0 / 0 / 0
Регистрация: 31.07.2007
Сообщений: 27
#1

Помогите решить задачку (БД и CListCtrl)... - C++

08.06.2008, 23:37. Просмотров 1096. Ответов 6
Метки нет (Все метки)

Задача собственно такая-
1.Есть набор записей (50 колонок и 1500 строк), который
отображается в CListCtrl в событии WM_INITDIALOG.
Пока весь контрол заполниться проходит много времени.
Хочется сделать так заполнить строк 30, а остальные постепенно
догружать после того как диалог уже отобразиться.
Как это лучше сделать? Какие события и сообщения использовать?
2. И еще вот какой вопрос -
есть большой цикл, результаты работы которого отражаются в progressbar'е диалога. На диалоге так же ест кнопка отмена
как правильно написать код чтобы при нажатии на кнопку 'отмена' процесс работы цикла завершился.
Помогите советами.
Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vita
Сообщений: n/a
09.06.2008, 08:31     Помогите решить задачку (БД и CListCtrl)... #2
Наверное, решение лежит в области создания и синхронизации потоков. Создай поток и там заполняй CListCtrl, а диалог будет жить по своим правилам. Для синхронизации заполнения CListCtrl можно использовать Mutex или Semaphore.
То же самое и в случае завершения большого цикла.
vitvk
0 / 0 / 0
Регистрация: 26.11.2007
Сообщений: 20
09.06.2008, 13:34     Помогите решить задачку (БД и CListCtrl)... #3
Для отображения БД в CListCtrl лучше всего подтягивать данные через
LVN_GETDISPINFO в этом случае вытаскиваешь из базы только те данные что выводятся на экран.
Vit
S_S_V
0 / 0 / 0
Регистрация: 31.07.2007
Сообщений: 27
09.06.2008, 13:54  [ТС]     Помогите решить задачку (БД и CListCtrl)... #4
Спасибо за ответы.
На счет LVN_GETDISPINFO такой вопрос -
добавлять записи как TEXT_CALLBACK
или стиль LVS_OWNERDATA.

И еще если стоит LVS_OWNERDATA и стиль LVS_EX_CHECKBOXES
как отобразить checbox'ы в этом списке.

Ребята если есть хорошие примеры работы с виртуальными списками
пришлите пожалуйста.

Большое спасибо еще за ответы.
vitvk
0 / 0 / 0
Регистрация: 26.11.2007
Сообщений: 20
09.06.2008, 14:03     Помогите решить задачку (БД и CListCtrl)... #5
На http://codeguru.com много очень удачных примеров со списками,
да и со всем остальным тоже.
Про OwnerDraw - коли сказали что рисуете сами - то рисуете сами все включая крестики - поэтому проще тащить строки через TEXT_CALLBACK - i.e. DISPINFIO
Vit
S_S_V
0 / 0 / 0
Регистрация: 31.07.2007
Сообщений: 27
09.06.2008, 22:00  [ТС]     Помогите решить задачку (БД и CListCtrl)... #6
Vit спасибо за ответы. Ссылка действительно очень хорошая Спасибо.
На счет стилей CListCtrl небольшое замечание-
я создаю его со стилем LVS_OWNERDATA, а не LVS_OWNERDRAWFIXED - который и отвечает за самостоятельное создание внешнего вида элемента.
Хотя может и не прав.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2008, 16:57     Помогите решить задачку (БД и CListCtrl)...
Еще ссылки по теме:

Помогите решить в С++ C++
Помогите решить . C++
C++ Помогите решать задачку в C++
Решить задачку C++
C++ Помогите кто может заделать задачку с бинарным деревом...

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
vitvk
0 / 0 / 0
Регистрация: 26.11.2007
Сообщений: 20
10.06.2008, 16:57     Помогите решить задачку (БД и CListCtrl)... #7
Извините Вы правы,
это я стиль до конца не дочитал.
По поводу CheckBox к сожалению ничего конкретного не скажу - можно попробовать посидеть в GetDispInfo и посмотреть кто и с чем туда приходит. Можно заменить checkBox своими картинками запрос о которых приходит в DispInfo
Vit
Yandex
Объявления
10.06.2008, 16:57     Помогите решить задачку (БД и CListCtrl)...
Ответ Создать тему
Опции темы

Текущее время: 22:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru