Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Проблема с MFC, CPropertySheet.doModal умираеть


Рекомендуемые сообщения

Приветь,

Уже второй ден пробую сделать Wizard.

Решил что простейший способ - MFC

Так, сделал проект, вот код

#include "Globals.h" #include "Page1.h"#include "Page2.h"#include "Page3.h"class CMyApp : public CWinApp{public:	CMyApp() {};	virtual BOOL InitInstance();	DECLARE_MESSAGE_MAP();};BEGIN_MESSAGE_MAP(CMyApp, CWinApp)ON_COMMAND(ID_HELP, &CMyApp::OnHelp)END_MESSAGE_MAP()BOOL CMyApp::InitInstance(){CWinApp::InitInstance();CPropertySheet MySheet;CPropertySheet dlg(_T("test"), NULL, 0);CPage1 page1;CPage2 page2;CPage3 page3;dlg.AddPage(&page1);dlg.AddPage(&page2);dlg.AddPage(&page3);m_pMainWnd = &dlg;dlg.SetWizardMode();int result = dlg.DoModal();return TRUE;}CMyApp theApp;

Програма умираеть ( с окном Break, Continue, Ignore) при вызове DoModal и точнее в DoModal при обращение к BuildPropPageArray().

Увидил что ошибка появляеться только если добавлю AddPage...

CPage выглядить так:

#ifndef __CPAGE1_H__#define __CPAGE1_H__#include "Globals.h"class CPage1 :public CPropertyPage{public:enum { IDD = IDD_DIALOG1 };CPage1(void){	CPropertyPage( CPage1::IDD, NULL );};~CPage1(void){};protected:HICON m_hIcon;virtual BOOL OnInitDialog(){	CPropertyPage::OnInitDialog();	return TRUE;}virtual void DoDataExchange(CDataExchange* pDX){	CPropertyPage::DoDataExchange(pDX);}void OnPaint();HCURSOR OnQueryDragIcon(); DECLARE_MESSAGE_MAP()};#endif

Чего пропустил сделать?

Спасибо

П.С. В первие пользую MFC

В Globals.h у меня подключен "stdafx.h"

Изменено пользователем Darhazer
Ссылка на комментарий
Поделиться на другие сайты

Попробул код из InitInstance в Run переместить, а также заменить CPage1 на CProperySheet.

Все еще результат тот же... :doh:

Проблема решена

Добавил

page1.Construct( CPage1::IDD);page2.Construct( CPage2::IDD);page3.Construct( CPage3::IDD);
Изменено пользователем Darhazer
Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...