Вопрос про VS2005 и WindowForms
Есть некая группа расчетных методов, написанных на С++ и оформленных как пачка классов. Все реализовано в консольном приложении, все сообщения выводятся в консоль. Надумал я для проекта сделать нормальное визуальное оформление - "морду" так сказать. Вот есть у меня диалоговое окно, в нем там строка прогресса, какой-нибудь RichEdit, куда результаты расчета скидываются. Я чего-то никак не пойму, как из абсолютно "чужого" класса взаимодействовать с объектами класса этого окна. Т.е. я в обработчике какой-нибудь кнопки создаю экземпляр класса расчета, запускаю его, и он в процессе работы должен, например, обновлять прогресс бар.
Пробовал прописывать includ'ы, баловался с namespace'ами - никак не получается.
Пробовал прописывать includ'ы, баловался с namespace'ами - никак не получается.
-
gn2
Нужно от этого класса создать свой класс, и в него включить описание нужного класса. Далее в конструкторе передаешь ссылку на этот класс и через нее получаешь доступ к членам чужего класса если они public. Примерно так как ниже
//h
class MyClass:public MfCclass {
class OtherClass;
OrterClass* pOtherClass;
MyClass(OtherClass * p, ...);
};
//cpp
и в кострукторе
MyClass(OtherClass * p, ...):MfCclass(...)
{
pOtherClass=p;
}
далее везде ты используешь pOtherClass для доступа к членам нужного тебе класса.
//h
class MyClass:public MfCclass {
class OtherClass;
OrterClass* pOtherClass;
MyClass(OtherClass * p, ...);
};
//cpp
и в кострукторе
MyClass(OtherClass * p, ...):MfCclass(...)
{
pOtherClass=p;
}
далее везде ты используешь pOtherClass для доступа к членам нужного тебе класса.
gn2 пишет:
> Нужно от этого класса создать свой класс, и в него включить описание нужного класса.
Из этого класса - это из класса, описывающего форму? Который в примере обозван как MfCclass?
> Нужно от этого класса создать свой класс, и в него включить описание нужного класса.
Из этого класса - это из класса, описывающего форму? Который в примере обозван как MfCclass?
-
gn2
3: Danila:
Свой класс от того класса где тебе нужны данные чужого класса. Это может быть и класс, описывающий форму. Правда я в Builder C++ не программирую, а по терминологии (форма) мне кажется, что ты пишешь сейчас в Builder C++.
Свой класс от того класса где тебе нужны данные чужого класса. Это может быть и класс, описывающий форму. Правда я в Builder C++ не программирую, а по терминологии (форма) мне кажется, что ты пишешь сейчас в Builder C++.
gn2 пишет:
> я в Builder C++ не программирую, а по терминологии (форма) мне кажется, что ты пишешь сейчас в Builder C++.
не-не-не-не, я в заголовке же написал что речь идет о Visual Studio 2005, проект создается в конструкторе с использованием WindowsForms, т.е. вовсю использует .NET Framework. Скорее всего это также применимо для MFC. А у borland'a я использовал только Delphi 7.0.
> я в Builder C++ не программирую, а по терминологии (форма) мне кажется, что ты пишешь сейчас в Builder C++.
не-не-не-не, я в заголовке же написал что речь идет о Visual Studio 2005, проект создается в конструкторе с использованием WindowsForms, т.е. вовсю использует .NET Framework. Скорее всего это также применимо для MFC. А у borland'a я использовал только Delphi 7.0.
-
gn2
5: Danila:
Мне кажется, что в твоем случае проще изменить твой класс расчета добавив в конструктор ссылку на CRichEditCtrl. В .h файл твоего класса добавить
class CRichEditCtrl;
CRichEditCtrl* pedit;
и в конструкторе получить указатель pedit как было написано выше.
Мне кажется, что в твоем случае проще изменить твой класс расчета добавив в конструктор ссылку на CRichEditCtrl. В .h файл твоего класса добавить
class CRichEditCtrl;
CRichEditCtrl* pedit;
и в конструкторе получить указатель pedit как было написано выше.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей