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

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

Войти
Регистрация
Восстановить пароль
 
S_S_V
0 / 0 / 0
Регистрация: 31.07.2007
Сообщений: 27
#1

Табличное отображение данных перерисовка окна - C++

13.10.2008, 22:07. Просмотров 755. Ответов 0
Метки нет (Все метки)

Задача такая отображаю данные из БД в табличной форме (элемент управления на базе
ClistCtrl со стилем Owner Draw и соответственно переопределена функция DrawItem).
Возникает следующая проблема, когда нужно отобразить данные с большим кол-вом колонок(>40), то при изменении размера колонок перерисовка списка идет ОЧЕНЬ медленно.

Использование в функции DrawItem метода TextOut изменяют ситуацию но незначительно.
При начале работы DrawItem отключаю перерисовку SetRedraw(FALSE), а в OnPaint вновь включаю, лучше но все равно очень плохо.

Что хочется? Видел коммерческий продукт в котором представление данных в табличной форме было реализовано на основе ClistCtrl, при этом не в независимости от кол-ва колонок (использовал до 90 колонок 2000 записей) перерисовка работает практически идеально. Так же и QueryAnalayzer (утилита MS SQL) отображая данные в таблице делает все идеально.

Ребят подскажите какие принципы построения такого рода элементов управления,
может у кого то есть знания, идеи или совет, буду очень рад.

Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2008, 22:07     Табличное отображение данных перерисовка окна
Посмотрите здесь:

Не происходит перерисовка окна во время длительных вычислений - C++
При написание программы с использованиям Windows Forms возникла следующая проблема: окно программы вовремя выполнения расчета не...

Некорректное отображение окна - C++
Добрый день . при создание экземпляра окна , задаю стиль со всем нужными мне параметрами , но окно отображается не корректно, не...

Реализовать табличное меню, для выбора метода решения уравнения - C++
Доброго времени суток! Мне очень помогли на форуме решив уравнения тремя способами. Помогите, пожалуйста, с таким заданием. Нужно...

Отображение данных - C++
Привет всем! Каким образом можно вывести таблицу, чтобы последовательный вывод информации выполнялся в определенной части строки? Как...

Создание и отображение данных в документе - C++
Кто может помочь - скажите, пожалуйста, почему в конце происходит аварийное завершение программы. Просто не могу понять, почему если в...

Циклическое отображение данных класса List - C++
Весь класс List написан,в соответствии с заданием,но ступор на создании циклического отображения данных... помогите,как...

Копирование данных из файла в отображение. STL - C++
Суть такова. Написал программку. Предполагается, что работает она так: открывает текстовый файл, весь этот файл заливает в строку string,...

Окна и ячейки для ввода данных - C++
Здравствуйте. Может ли кто-то объяснить\показать или дать ссылки на уроки где будет объяснено как делать в с++ окна, отводить в них места...

Классы. Ввод данных о книге и их отображение (как улучшить код?) - C++
Изучаю классы. Сделал программку для класса card имеющего 2 метода - для введения данных о книге и их отображения. Подскажите как можно...

Структура "Пациент": отображение некорректных данных - C++
#include <iostream> #include <fstream> #include <cstring> #include <windows.h> using namespace std; struct element{ ...

Игра пятнашки, управление мышью или клавишами, перерисовка фишки - C++
Думаю,что все знакомы с игрой пятнашки. Пока я только смогла нарисовать и задать начальное положение фишек.Но как подключить управление,я...

Перерисовка окна - C++ WinAPI
Рисую эллипс. При нажатии не системной клавиши, он должен перерисовываться с другими размерами. В общем, он не перерисовывается сразу. Но...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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