ASSERT_KINDOF
-
Hallo
Ich stelle gerade mein Projekt von DynTabCtrl auf CPropertyPage um und bekomme dabei eine Exception, die ich nicht recht zuordnen kann. Mein Programm bleibt immer bei folgender Zeile stehen:
ASSERT_KINDOF(CPropertyPage, pPage);und zwar in folgender Funktion stehen:
void CPropertyPage::AddPage(CPropertyPage* pPage)
Der Aufruf erfolgt so:
ClubGeneral page1; ctlTab.AddPage(&page1);wobei ClubGeneral so aussieht:
#pragma once
#include "afxwin.h"
#include "Data.h"// ClubGeneral dialog
class ClubGeneral : public CPropertyPage { DECLARE_DYNAMIC(ClubGeneral) public: ClubGeneral(/*CWnd* pParent = NULL*/); // standard constructor virtual ~ClubGeneral(); // Dialog Data enum { IDD = IDD_CLUBGENERAL }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support DECLARE_MESSAGE_MAP() CComboBox ctlHowManyFans; CComboBox ctlPublicStanding; public: virtual BOOL OnInitDialog(); };Ich würde mich sehr über Hilfe freuen.
chrische
-
Hallo
Ich habe nun dieses Problem selber gelöst und muss sagen, dass lesen manchmal wirklich hilft.
chrische
-
Hallo
Leider hat sich nun aber ein neues Problem ergeben:
Die Funktion OnInitDialog() wird bei den TabDialogen nicht aufgerufen. Wie kann man denn in diesem Fall den Dialog konfigurieren?
chrische
-
Zu beachten ist, dass OnInitDialog bei einem PropertySheet erst aufgerufen wird, wenn die spezielle Seite aktiviert wird.
In Deinem Fall müsste in jedem Fall der OnInitDialog der ersten Seite aufgerufen werden!
-
Hallo
es ist aber richtig, die einzelnen Tabdialoge von CPropertyPage und nicht von CDialog abzuleiten?
chrische