Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » tab control designen

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 ]
000
06.05.2004, 11:31 Uhr
rene rosenberger



hi,

wie designed man im vc ++ 6.0 ein tab control. also benennung der blätter, einfügen von optionbuttons und editfeldern, usw. wenn ich da ein button in mein tab control ziehe liegt der hintendran.

gruesse rene
--
gruesse rene
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.05.2004, 12:46 Uhr
rene rosenberger



hi,

habe mittlerweile herausgefunden das man für jede seite eine einzele ressource anlegen muss. soweit sogut. habe num 2 dialoge mit style child und frame thin. 2 klassen dazu abgeleitet von cpropertypage. eine hauptklasse ctabportsheet abgeleitet von cprppertysheet welche 2 instanzen von page 1 und 2 enthält. nun habe ich aber schon einen dialog in den dieses controll soll. und genau hier komm ich net weiter. wenn ich nun ein tab control in meinen dialog ziehe, wie sage ich dem welche seiten er anzuzeigen hat ?

gruesse rene
--
gruesse rene
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
06.05.2004, 13:34 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


siehe das TabCtrl-Beispiel unter downloads
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
06.05.2004, 14:37 Uhr
rene rosenberger



hi,

das hilft mir nicht viel weiter.

habe es anhand des beispiels jediglich geschafft 8 tabellen einzufügen und diese zu benennen. die tabellenblätte haben aber noch nicht den inhalt den ich eigentlich designed habe. in dem beispiel steht dann unter dem einfügen der tabellenseiten noch m_cTabCtrl.Initialisierung();. diese fuunktion ist aber nicht in der klasse. sondern in der klasse des sheets. also ich komm da auf keinen grünen zweig. kann das denn niemand mal schritt für schritt erklären ? vielleicht mit code ?

gruesse rene
--
gruesse rene
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
06.05.2004, 16:23 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi, um einzelne Seiten anzuschauen, musst du einfach immer vom vorherigen "Element"-Dialog ShowWindow(SW_HIDE) und beim neuen Tabdialog ShowWindow(SW_SHOW) aufrufen.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
07.05.2004, 12:36 Uhr
rene rosenberger



hilft mir auch nicht besonders weiter
--
gruesse rene
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
07.05.2004, 18:43 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


du baust dir z.b in die CMyTabCtrl folgende funktion ein:



C++:
void CMyTabCtrl::ShowDialog(int iNeuerDialog)
{
  m_Dialoge[m_iAktuellerDialog]->ShowWindow(SW_HIDE);
  m_Dialoge[iNeuerDialog]->ShowWindow(SW_SHOW);
}


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
08.05.2004, 14:59 Uhr
~toxic
Gast


hi, weiis nicht ob da weiterhilft, aber wie erzeugst du die sheets ?

C++:
// Declare a CPropertySheet object.    m_dlgPropertySheet is a data
// member of type CPropertySheet in CView-derived class.
m_dlgPropertySheet = new CPropertySheet(" name des dialoges ");
ASSERT(m_dlgPropertySheet);

// Add two pages to the CPropertySheet object.
// Both  are data members of type CPropertyPage-derived classes
// in CView-derived class.
m_SheetPage[0] = new CPropertyPage(IDD_DIALOG1, 0);
m_SheetPage[1] = new CPropertyPage(IDD_DIALOG2, 0);

m_iSheetPages = 2;
for ( i = 0; i < m_iSheetPages; i++ )
    m_dlgPropertySheet->AddPage(m_SheetPage[i]);

// Create a modeless CPropertySheet dialog.
m_dlgPropertySheet->Create(this, WS_CHILD | WS_VISIBLE | WS_TABSTOP, 0);
// alle sheets anzeigen... damit werden sie scheinbar initialisiert
for ( i = 0; i < m_dlgPropertySheet->GetPageCount(); i++ )
    m_dlgPropertySheet->SetActivePage(i);
// und wieder den 1.anzeigen
m_dlgPropertySheet->SetActivePage(0);
// zugriff auf steuerelement "IDC_BUTTON1" auf seite "0", vom main-dialog aus
((CPropertyPage*)m_dlgPropertySheet->GetPage(0))->SetDlgItemText(IDC_BUTTON1, "Text");


normalerweisse erstellst du einen dialog, und leitest die zugehöhrige klasse von
"CPropertyPage" ab, benennst also diese klasse zB. "CSeite1", und machst dann nur noch :

C++:
m_SheetPage[1] = new CSeite1;

--
grusz
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
10.05.2004, 08:25 Uhr
rene rosenberger



also wie gesdagt, habe 2 pages erzeugt "CTabPort1 und CTabPort2" . beide sind abgeleitet von cpropertypage. dann habe ich mir ne haupklasse erszugt "CTabPortSheet" abgeleitet von cpropertysheet.
in meinen dialog "CPorteinstellungen" habe ich ein steuerelemt aus der toolbox namens tabctrl gezogen und plaziert. sind noch andere element auf dem dialog.

weiter bin ich net ((

gruesse rene
--
gruesse rene
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
13.05.2004, 18:33 Uhr
~toxic
Gast


hi, was genau funktioniert denn nicht, oder wie lautet deine konkrete frage?
 
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: