Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Property Pages

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 <
000
04.09.2002, 19:33 Uhr
~JWA
Gast


Hallo,

bin reltiv neu hir und würde gerne folgendes ausprobieren:

Ich habe einen Dialog entworfen mit dem Dialog Editor. Dieser Dialog enthält Eingabefelder, Ausgabefelder und Buttons. In der Mitte des Dialogs möchte ich mehrere Dialoge als Reiterstruktur anzeigen. Ich habe die entsprechenden Reiter als Dialoge definiert und würde sie nun gerne anzeigen lassen.

Ich habe jeden Dialog als CPropertyPage deklariert.

Wie bekomme ich es jetzt hin, dass die Seiten über AddPage() in meinem Dialog erscheinen?

Alle beispiele gehen davon aus, dass man einen Dialog vom Typ CPropertySheet erzeugen soll und in dessen Constructor wird dann die AddPage() aufgerufen. Allerdings wird mir dann ein leerer Hauptdialog erzeugt und ich habe meine Buttons und Eingabefelder nicht mehr.

Kann mir da jemand weiterhelfen?


Jürgen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.09.2002, 20:01 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Nimm einfach das TabControl (unter den Standard Steuerelementen zu finden). Unter "Downloads" ist ein Beispiel zum Downloaden ("CTabCtrl")

mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.09.2002, 20:09 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
sowie unter VC++/MFC unter "R" die Beschreibung zum Projekt.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
05.09.2002, 10:30 Uhr
~JWA
Gast


Vielen Dank für die Hilfe.

Mit den angegebenen Dokumentationen konnte ich zumindest mal das Grundsätzliche Gerüst aufbauen. Leider wird das TabCtrl in den Büchern nie erwähnt :-(

Mein Projekt wird inzwischen auch komplett kompiliert, allrdings bekomme ich beim Aufruf des Dialog eine "Debug Assertion Failed Meldung". Mit dem Debugger konnte ich es soweit eingrenzen, dass ich sehe, es passiert, wenn die erste Dialogseite angezeigt werden soll
Initialisierung() und dort m_tabellenSeite[0]->ShowWindow(SW_SHOW)

Meine einzelnen Seiten sind alle von CDialog abgeleitet und sollten von der Größe her auch in das TabCtrl passen. Die Seiten sind Child und haben keinen Rand.

Wo kann das Problem noch liegen?

Jürgen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
05.09.2002, 12:32 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Rufst du vielleicht ShowWindow auf wenn dein TabCtrl noch nicht existiert?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
05.09.2002, 12:52 Uhr
JWA



Hm,

Ich hab das TabCtrl über den DialogEditor eingebaut, es müsste also im Ressourcefile liegen.

Ich hab mich an Uwes Beispielcodes orientiert und rufe die Initialisierung() in der OnInitDialog meines Hauptdialogs auf. Da müsste das TabCtrl eigentlich schon existieren.

Wenn ich das ShowWindow weglasse, wird das Tabctrl mit der korrekten Anzahl an Seiten angezeigt, mit den richtigen Beschriftungen und ich kann auch hin und her springen. Allerdings ist in der SetRec() Funkction wieder ein SW_SHOWWINDOW drin, was wiederum die Fehlermeldungen produziert.
Und da ist das TabCtrl definitiv schon erzeugt.

Jürgen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
05.09.2002, 14:23 Uhr
JWA



Tja, wenn ich die Debug Assertion Failures auf Ignorieren klicke, dann kommen meine einzelnen Dialogseiten.
Allerdings kommen nicht alle. Etwa die Hälfte wird mir angezeigt, die andere Hälfte nicht.
Ich kann keinen signifikanten Unterschied in den einzelnen Seiten entdecken. Ausserdem kommt die blöde Debug Fehlermeldung auch immer wieder mal.

Ratlos !!!


Jürgen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
05.09.2002, 16:01 Uhr
JWA



AAAARRRGGGHHHHHH

Sobald auf einer der darzustellenden Seiten ein RichEdit Element vorkommt, kriegt das Ding die Masern...


Jürgen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
05.09.2002, 17:39 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Jürgen,

Zitat:
~JWA postete
Vielen Dank für die Hilfe.

Mein Projekt wird inzwischen auch komplett kompiliert, allrdings bekomme ich beim Aufruf des Dialog eine "Debug Assertion Failed Meldung". Mit dem Debugger konnte ich es soweit eingrenzen, dass ich sehe, es passiert, wenn die erste Dialogseite angezeigt werden soll


Ganz einfach und ich entschuldige mich dafür.

C++:
void CTestDlg:: DoDataExchange(CDataExchange* pDX)
{
    CDialog:: DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CTestDlg)
    DDX_Control(pDX, IDC_TAB1, m_cTabCtrl);
    //}}AFX_DATA_MAP
}

Das mußt Du per Hand einfügen, damit der Datenaustausch erfolgen kann. Wobei m_cTabCtrl vom Typ CMyTabCtrl ist.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 05.09.2002 um 17:40 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
05.09.2002, 17:56 Uhr
JWA



Hm, das steht bei mir schon in DoDataExchange so drin.

Das Problem besteht darin, dass die RichEdit Felder die Kiste zum Absemmeln bringen.

Ich habe aber inzwischen in einem Buch eine kurze Anmerkung gefunden, dass man in die WinApp::InitInstance() einen Aufruf AfxInitRichEdit() setzen muss, wenn man RichEdit in Dialogfenstern verwenden will.


Und schon funktioniert das ganze


Jürgen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: