Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Auf Steuerelemente der Tabs zugreifen

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
28.09.2003, 13:02 Uhr
JustMe



Hi!

Ich hab mir eine Registriekarte nach diesem Prinzip ( www.fun-soft.de/showtopic.php?threadid=1327 ) gebaut.
Diese sitzt in einem Fenster, welches ich vom Hauptdialog öffnen kann.
Nun probiere ich schon eine ganze Weile vom Hauptialog auf die Steuerelemente (auf den Dialogseiten der Registerkarten) zuzugreifen. Wie mache ich das denn?

Kann mir jemand helfen?

Gruß
JustMe

Dieser Post wurde am 28.09.2003 um 13:37 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
28.09.2003, 14:24 Uhr
Pablo
Supertux
(Operator)


Was ich dir empfehlen kann ist das Beispiel von Uwe runterzuladen.
www.fun-soft.de/downloads.php

oder
www.fun-soft.de/Download/TabDlg/TabCtrl.zip
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
28.09.2003, 14:40 Uhr
JustMe



Hi!

Genau so hab ich es gemacht (nach Uwe). Aber wie kann ich jetzt auf die Steuerelemente auf den einzelnen Tab Dialogseiten zugreifen. Das wird aus Uwes Beispiel auch nicht ersichtlich.

Gruß
JustMe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
28.09.2003, 15:03 Uhr
Pablo
Supertux
(Operator)


Dann musst du warten, bis Uwe oder die andere Jungs, die sich mit MFC und VC++ auskennen dein Thread lesen und dir helfen. Ich kann es leider nicht, denn ich habe keine Ahnung von MFC.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 28.09.2003 um 15:04 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
29.09.2003, 18:06 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
sorry für die späte Antwort, war am Wochenende unterwegs.
Eigentlich ganz einfach, Du mußt nur die entsprechenden Behandlungen einfügen. Als Bsp. für die Listbox.
Der Zugriff auf diese kann nur erfolgen wenn sie bereits vollständig gebaut wurde. Das füllen kann somit nicht in CSeite1::Create() erfolgen. Ein passendes Ereignis wäre hier WM_SHOWWINDOW, m_list - Controlmember.

C++:
void CSeite1::OnShowWindow(BOOL bShow, UINT nStatus)
{
    CDialog::OnShowWindow(bShow, nStatus);
    
    for (int i=1 ; i<=10 ;i++){
        char buf[5];
        sprintf(buf,"Item %d", i);
        m_list.AddString(buf);
    }
}

Bei zwei CEdit Feldern könnte das so aussehen(m_strE1, m_strE2 CStringmember):

C++:
void CSeite1::OnChangeEdit1()
{
    UpdateData(TRUE);
    m_strE2 = m_strE1;
    UpdateData(FALSE);
    
}

--
"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
005
30.09.2003, 13:16 Uhr
JustMe



Hi!

Danke für die Antwort. Aber ich komm damit nicht ganz klar. Ich glaube, entweder du hast mich falsch verstanden oder ich dich.
Aber ich meld mich noch mal und stel dann eine kleine Bsp Anwendung wegen Verständnis ...

Gruß
JustMe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
25.03.2004, 13:25 Uhr
~ThorstenG
Gast


Hallo zusammen,

wie stelle ich es denn an, die eingegebenen Daten (Auslöser zB EN_CHANGE) aus einem CEdit Feld der Seite 1 (sagen wir mal m_strEdit1Seite1), in ein CEdit Feld der Seite 2 (zB m_strEdit1Seite2) zu schreiben?

Oder: wie greife ich, bezogen auf Uwe's Beispiel TabDlg, aus der Klasse CTabCtrlDlg direkt auf eines der Editfelder von Seite 1 oder Seite 2 zu?

Ich probiere das jetzt schon einige Zeit und breche mir dabei die Ohren.

Gruss
Thorsten
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
26.03.2004, 11:39 Uhr
~toxic
Gast


ups... was ist denn da passiert ? --> bitte obrigen post(007) löschen.
-------------------------------------------------------------------------
das zauberwort heisst casten !
zb. aus dem hauptdialog auf eine member der seite[0]:

C++:
CSeite1* ErsterDlg = (CSeite1*)m_cTabCtrl.m_tabellenSeite[0];
ErsterDlg->m_sMemberVariable = "ein string";
ErsterDlg->m_ListCtrl1.InsertItem(0, "test");
// oder so:
((CSeite1*)m_cTabCtrl.m_tabellenSeite[0])->m_sMemberVariable = "testtext";

wenn man nun aus seite3 zb. auf dem hauptdialog zugreiffen möchte (oder auf seite1) dann muss das so aussehen:

C++:
MainDlg = (CRegisterDlg*)GetParentOwner();
ErsterDlg = ((CSeite1*)(((CRegisterDlg*)GetParentOwner())->m_cTabCtrl.m_tabellenSeite[0]));
ZweiterDlg = ((CSeite2*)(((CRegisterDlg*)GetParentOwner())->m_cTabCtrl.m_tabellenSeite[1]));

in diesem fall muss natürlich im header auch CSeite1/2 includiert sein !
--
gruß
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
31.03.2004, 07:50 Uhr
~ThorstenG
Gast


Funktioniert, vielen Dank
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
12.02.2005, 19:57 Uhr
~oldi40
Gast


habe es auch versucht und alles funktionierte super. DANKE.
bitte jedoch noch eine kleinigkeit wäre eine erfüllung:
ich möchte auf den einzelnen seiten auch sogenannte Quickinfos erstellen. habe das übrigens bei einer anderen anwendung schon problemlos geschafft und wollte dies auch hier versuchen. nur es klappt nicht. könntest du mir bitte weiterf helfen, bin jedoch ein anfänger!,
danke im voraus
 
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: