[eVC++] Dialog based app maken op basis van CPropertySheet

Pagina: 1
Acties:

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 07-05 15:48
Hallo allemaal, ik ben op programmeer gebied nog een beetje een noob dus heb een beetje geduld met mij ;)

Ik ben bezig een applicatie te maken voor op de pda. Hiervoor gebruik ik eMbedded Visual C++. Nu wil ik een dialog based applicatie te maken op basis van CPropertySheet, een MFC applicatie dus.
Alleen de Applicatie wizard maakt alleen applicaties aan op basis van CDialog. Mijn vraag is dus hoe ik een dialog applicatie op basis van CPropertySheet? Moet ik met een leeg project beginnen of kan ik een op CDialog gebaseerde applicatie aanpassen?
Please help this noob.

Hail to the king baby!


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Al eens in "gewone" VC++ geprobeerd?

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • The End
  • Registratie: Maart 2000
  • Laatst online: 20:49

The End

!Beginning

Gebruik gewoon de wizard om een dialog based applicatie te maken. Als je dat gedaan hebt, dan sloop je de dialog eruit en stop je een property sheet erin.

Het is makkelijk te vinden. De dialog wordt aangemaakt in de initinstance van je nieuwe applicatie. Er staat zoiets:

code:
1
2
CMyAppDlg dlg;
dlg.DoModal();

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 07-05 15:48
Ok, ik heb nu een extra CPropertySheet klasse ingevoegd in de Dialog based app en 2 extra propertypage dialogs. Deze dialogs heb ik ook als klasse toegevoegd met de ClassWizard.
Verder heb ik dus in plaats van:

code:
1
2
    CPropertySheetDlg dlg;
    m_pMainWnd = &dlg;


dit gemaakt:

code:
1
2
CCPMainDialog dlg;
    m_pMainWnd = &dlg;


Alleen nu krijg ik de volgende foutmelding:

code:
1
'CCPMainDialog' : no appropriate default constructor available


Hoe kan ik dit oplossen?

Hail to the king baby!


  • The End
  • Registratie: Maart 2000
  • Laatst online: 20:49

The End

!Beginning

urk_forever schreef op donderdag 21 april 2005 @ 09:49:
Ok, ik heb nu een extra CPropertySheet klasse ingevoegd in de Dialog based app en 2 extra propertypage dialogs. Deze dialogs heb ik ook als klasse toegevoegd met de ClassWizard.
Verder heb ik dus in plaats van:

code:
1
2
    CPropertySheetDlg dlg;
    m_pMainWnd = &dlg;


dit gemaakt:

code:
1
2
CCPMainDialog dlg;
    m_pMainWnd = &dlg;


Alleen nu krijg ik de volgende foutmelding:

code:
1
'CCPMainDialog' : no appropriate default constructor available


Hoe kan ik dit oplossen?
Ik zou als ik jou was eerst wat basic dingen met C++ gaan doen. Aan de constructor van een CPropertySheet moet je iig een titel meegeven. Dit staat niet alleen in de MSDN, maar dit zou je meteen uit de code moeten kunnen opmaken...

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 07-05 15:48
tja, wat versta je onder basic C++ dingen, ik ben al bezig met een gewone dialog based app en kan al genoeg dingen doen. Maar ik wil nu dit doen en kan er zo snel niet achter komen hoe ik dit doen moet. Dus ja. Maar in ieder geval, als ik bijvoorbeeld dit probeer:

code:
1
2
CPropertySheet1Dlg dlg("PropertySheet");
m_pMainWnd = &dlg;


Dan krijg ik deze foutmelding:

code:
1
'CPropertySheet1Dlg::CPropertySheet1Dlg' : cannot convert parameter 1 from 'char [14]' to 'class CWnd *'


Terwijl dit in mijn boeken wel zo werkt.

Hail to the king baby!


  • The End
  • Registratie: Maart 2000
  • Laatst online: 20:49

The End

!Beginning

urk_forever schreef op donderdag 21 april 2005 @ 11:34:
tja, wat versta je onder basic C++ dingen, ik ben al bezig met een gewone dialog based app en kan al genoeg dingen doen. Maar ik wil nu dit doen en kan er zo snel niet achter komen hoe ik dit doen moet. Dus ja. Maar in ieder geval, als ik bijvoorbeeld dit probeer:

code:
1
2
CPropertySheet1Dlg dlg("PropertySheet");
m_pMainWnd = &dlg;


Dan krijg ik deze foutmelding:

code:
1
'CPropertySheet1Dlg::CPropertySheet1Dlg' : cannot convert parameter 1 from 'char [14]' to 'class CWnd *'


Terwijl dit in mijn boeken wel zo werkt.
Is CPropertySheet1Dlg wel afgeleid van een CPropertysheet of is die afgeleid van een CDialog?

Zoals ik al zei: De constructor van CPropertySheet1Dlg staat gewoon in je code. Misschien is het handig om er even naar te kijken!?
Pagina: 1