Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » TabControl & Member Variable

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
01.11.2006, 10:35 Uhr
CppProgrammer




C++:
void CDialog1::OnButton1()
{
    CWnd* pWnd = m_ctlTab.GetSSLPage(0);
    CDialog2* pDlg = (CDialog2*)pWnd;
    pDlg->m_ctlCheck.SetCheck(1);
}


Das ganze lässt sich jetz zwar problemlos kompilieren, jedoch stürzt mir das Programm beim Ausführen wenn ich auf den Button1 klicke mit folgenden Fehler immernoch ab:

Debug Assertion Failed!
Program: ...
File: afxwin2.inl
Line: 590

Die Release Version stürzt zwar nicht ab, aber deren Button hat keinerlei Wirkung im Programm.

Dieser Post wurde am 01.11.2006 um 10:35 Uhr von CppProgrammer editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
01.11.2006, 10:44 Uhr
mmc20
puss in boots


das was "m_ctlTab.GetSSLPage(0);" liefert ist auch ein gültiger pointer auf deinen CDialog2 ?
und dieser dlg ist schon initialisiert(bzw wird angezeigt) ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
01.11.2006, 10:53 Uhr
CppProgrammer



CTabCtrlSSL::GetSSLPage

CWnd* GetSSLPage (int nIndex);

Return Value
A pointer to the requested tab page if successful; otherwise NULL.

Parameters
nIndex
Zero-based index of the tab page to get.

Remarks
Call this function to get a specific tab in the tab control.

(CTabCtrlSSL)


Der Dialog2 wird bereits in der CDialog1::OnInitDialog() mit m_ctlTab.AddSSLPage("TEST", 0, IDD_DIALOG2) initialisiert.

Dieser Post wurde am 01.11.2006 um 10:55 Uhr von CppProgrammer editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
01.11.2006, 11:13 Uhr
mmc20
puss in boots


dacht ichs mir doch... wird er eben nicht !
mit dem "AddSSLPage (LPCTSTR pszTitle, int nPageID, int nTemplateID);"
legst du nur einen "CDialog" mit der angegebenen resource an.
du hast ja noch gar kein CDialog2 object. --> also erst mal eins anlegen !

C++:
// als member
CDialog2 m_dlgTab1;

// in der oninitdialog()
m_dlgTab1.Create (IDD_DIALOG2, this); // bzw. deine Tab1-resource
m_ctlTab.AddSSLPage (_T("Dein Titel"), 0, &m_dlgTab1);

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
01.11.2006, 11:52 Uhr
CppProgrammer



Ok ich hab jetzt in der "CDialog1" Klasse den "CDialog2 m_dlgTab1" als public deklariert.
In der "CDialog1::OnInitDialog()" hab ich dann folgendes:

C++:
m_dlgTab1.Create(IDD_DIALOG2, this);
m_ctlTab.AddSSLPage("TEST", 0, &m_dlgTab1); // Kompiler Error wegen "m_dlgTab1"


Nun bekomm ich diesen Kompiler Error:

error C2664: 'int __thiscall CTabCtrlSSL::AddSSLPage(const char *,int,class CTabPageSSL *)' : cannot convert parameter 3 from 'class CDialog2'
to 'class CTabPageSSL *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

Dieser Post wurde am 01.11.2006 um 12:00 Uhr von CppProgrammer editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
01.11.2006, 11:58 Uhr
mmc20
puss in boots


naja, du musst natürlich deinen CDialog2 auch von CTabPageSSL ableiten und nicht von CDialog, und in AddSSLPage(...) eine referenz >> & << !!! übergeben.

ansonsten solltest du dringend auch mal die documentation zu der classe lesen, und dir das demoprojekt ganz genau ansehen.

docu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
01.11.2006, 12:03 Uhr
CppProgrammer



ah ok dann werd ich mir das ganze nochmal anschauen, ich meld mich dann später wieder
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
01.11.2006, 12:35 Uhr
CppProgrammer



Ich hab das ganze jetzt eeeeeeeeeendlich zum laufen gebracht
Vielen Dank für deine Hilfe mmc20 !!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: