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

Помогите разделить программу по блокам - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как узнать координаты клика мышью в ActiveX контроле? http://www.cyberforum.ru/cpp-beginners/thread472629.html
Как в ActiveX контроле узнать координаты точки куда мы кликнули мышкой?
C++ Поменять цвет фона окна Найти окно и поменять цвет его фона. Окно из другого приложения. За ранее благодарен. http://www.cyberforum.ru/cpp-beginners/thread472603.html
C++ Ошибка: 'NextL' : cannot convert 'this' pointer from
Не знаю как избавится от этой ошибки 'NextL' : cannot convert 'this' pointer from 'const class RDbRowSet' to 'class RDbRowSet &' Conversion loses qualifiers Имею следующее описание переменной RDbRowSet iTable; пытаюсь вызвать медод этого класса iTable.NextL(); сам класс RDbRowSet переделать не могу т.к это библиотечный класс, как обойти эту...
C++ Как в элементе управления CListCtrl в разных строках вывести разные иконки?
Код нижеследующий. Результат: во всех строках иконки - одинаковые. Но, по крайней мере, с каждым циклом for дескриптор иконок hIcon принимает разные значения и список изображений m_imageList заполняется этими дескрипторами. Как в CListCtrl в разных строках вывести разные иконки? TCHAR str; // для преобразования CString->LPTSTR CFile* pFile = NULL; HICON hIcon; // дескриптор иконки WORD...
C++ Как в элементе управления CListCtrl поймать нажатие определенной клавиши на элементе? http://www.cyberforum.ru/cpp-beginners/thread472565.html
Поймать нажатие клавиши вообще - несложно: BOOL CSysbackupDlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) { LV_DISPINFO* lv_dispInfo = (LV_DISPINFO*) lParam; if ( lv_dispInfo->hdr.code == LVN_KEYDOWN ) { .......... }
C++ Обработка KeyDown Есть активная форма с кнопками. Надо шоб при нажатии какой-нить кнопки на клавиатуре шла обработка нажатия по общему шаблону для разных кнопок, но с разными аргументами. Управление к методу KeyDown самой формы не поступает, а поступает к одноименному методу текущей активной кнопки (TButton). Мне теперь в каждом методе KeyDown для каждой кнопки (TButton) ссылку на функцию писать или как-то можно... подробнее

Показать сообщение отдельно
ICBa
0 / 0 / 0
Регистрация: 09.12.2008
Сообщений: 87

Помогите разделить программу по блокам - C++

24.12.2008, 17:04. Просмотров 666. Ответов 1
Метки (Все метки)

Еще не пропало желание помогать? :-)
Очень на это надеюсь, потому что такие вещи в книжках и MSDN е практически не освещены... :-(

Значит начнем всё с начала: я делаю проект типа 'MFC ActiveX control'.

Там есть функция:
C++
1
2
3
4
void CTableCtrl::OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
...
}
Которая, на сколько я понял, отрабатывает при запуске моего ActiveX-а.
В ней всё и рисуется, выводятся нужные данные и всё такое...

Еще есть у меня несколько публичных переменных и метод getData:
C++
1
2
3
4
void CTableCtrl::getData(const VARIANT FAR& myData) 
{
...
}
Который вызывается из контейнера и контейнер передает этому методу двумерный массив данных.
В этом же методе строится SafeArray в который пихаются переданные данные.

Хочется разделить программу по блокам таки образом, чтобы:
1. Сначала в ActiveX е что-то рисуется типа 'Loading data...' и мы ждем пока getData получит данные и создаст SafeArray.

2. Потом мы вызываем некую третью функцию которая будет обрабатывать наш SafeArray массив и, в соответствии с данными в массиве, рисовать в ActiveX-е то что нам надо.

3. После обработки данных мы обрабатываем клики мышкой в нашем контроле и некоей четвертой функцией перерисовываем нужным образом некие области контрола.

Как это сделать?
В основном интересует реализация пункта 2.

P.S. На сколько я понял при создани SafeArray-а мы используем SafeArrayAccessData для получения указателя на массив данных, а после окончания работы с этим массивом нам надо сделать SafeArrayUnaccessData ?

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