Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Kombinationsfeld will nicht ! *hilfe*

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
11.06.2004, 10:00 Uhr
_Flo_



Hi !

Ich hab da ein Problem das mich nun schon 2 Tage beschäftigt...

Und zwar programmiere ich gerade eine Fahrplanauskunf.
Nun hab ich folgendes Problem:

Ich habe 2 Kombinationsfelder.
Das eine ist deaktiviert, das andere aktiviert. In dem aktivieren stehen
U-Bahn und S-Bahn zur Auswahl. Wenn jetzt S-Bahn gewählt wird soll sich das
andere Kombinationsfeld aktivieren. Tut es aber nicht.
Ich habe folgenden Code:


C++:
void CVVSDlg::OnSelchangeComboTm()
{
    CString strComboTM;
    strComboTM = m_strCombo_TM;

    if(strComboTM == "S-Bahn")
    {
        GetDlgItem(IDC_COMBO_Linie) -> EnableWindow(TRUE);
    }
    else
    {
        GetDlgItem(IDC_COMBO_Linie) -> ShowWindow(FALSE);
    }
}



Wo is da der Wurm drin ?
Ist das Void vielleicht schon falsch gewählt ?! Ich habe echt keine Ahnung mehr

Ich bedanke mich auf jedenfall für die Hilfe

MFG

_Flo_
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.06.2004, 10:34 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



C++:
void CVVSDlg::OnSelchangeComboTm()
{
    UpdateData(TRUE);

    if(m_strComboTM == "S-Bahn")
    {
        GetDlgItem(IDC_COMBO_Linie) -> EnableWindow(TRUE);
    }
    else
    {
        GetDlgItem(IDC_COMBO_Linie) -> EnableWindow(FALSE);
    }
}



sollte funktionieren...
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.06.2004, 10:36 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


öhm zum einen gibts da nen unterschied zwischen EnableWindow(also verwendbar) und ShowWindow (sichtbar oder unsichtbar)


C++:
//bist du sicher das "S-Bahn" richtig geschrieben ist? also auch so in deiner Combobox steht?
//an sonten müsste das hier funzen
GetDlgItem(IDC_COMBO_Linie)-> EnableWindow(m_strCombo_TM=="S-Bahn");




Bearbeitung:

fuck zu spät dafür ist meins schöner


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 11.06.2004 um 10:36 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
11.06.2004, 10:57 Uhr
_Flo_



Ahh Danke !
Nun ist da aber noch etwas
Ich muss "S-Bahn" nun zweimal auswählen bevor es aktiviert wird ?!
Geht das auch mit einmal ?

MFG

_Flo_
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
11.06.2004, 11:08 Uhr
Tommix



Hallo
Dein Code sieht jetzt nicht zufälligerweise so aus?
[Glaskugelmode]

C++:
void CVVSDlg::OnSelchangeComboTm()
{
    CString strComboTM;
    strComboTM = m_strCombo_TM;
    
    UpdateData(TRUE);

    if(strComboTM == "S-Bahn")
    {
        GetDlgItem(IDC_COMBO_Linie) -> EnableWindow(TRUE);
    }
    else
    {
        GetDlgItem(IDC_COMBO_Linie) -> ShowWindow(FALSE);
    }
}


[/Glaskugelmode]
Das UpdateData muss, wenn Du's unbedingt so umständlich willst, ganz nach vorne.

Gruss, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
11.06.2004, 12:02 Uhr
_Flo_



Hmm Tommix wieso umständlich ?
Das UpdateData(TRUE); kommt noch vor CString...
Ich muss aber trotzdem "S-Bahn" zweimal auswählen bevor es aktiviert wird

Das muss doch irgendwie möglich sein das gleich beim ersten mal das zweite Kombinationsfeld schon aktiviert wird...

MFG

_Flo_
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
11.06.2004, 13:35 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


das muss so gehen du hast bestimmt an irgend ner anderen stelle was verbockt...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
11.06.2004, 15:19 Uhr
_Flo_



Naja es klappt ja. Aber halt erst nachdem ich aus der Liste das 2mal S-Bahn gewählt habe. Wenn ich das über ein Button laufe lasse, geht es sofort.
Aber is doch doof ständig auf "ok" zu drücken...

Hmmm Ich hab aber nichts verbockt

Ich poste einfach nochmal den ganzen Code, vielleicht hab ich ja doch noch was übersehen ?


C++:
void CVVSDlg::OnSelchangeComboTm()
{
    // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
    UpdateData(TRUE);

    CString strComboTM;
    strComboTM = m_strCombo_TM;

    if(strComboTM == "S-Bahn")
    {
        GetDlgItem(IDC_COMBO_Linie) -> EnableWindow(TRUE);
        m_contrCombo_Linie.AddString("S1");
        m_contrCombo_Linie.AddString("S2");
        m_contrCombo_Linie.AddString("S3");
        m_contrCombo_Linie.AddString("S4");
        m_contrCombo_Linie.AddString("S5");
        m_contrCombo_Linie.AddString("S6");
    }
    else
    {
        GetDlgItem(IDC_COMBO_Linie) -> EnableWindow(TRUE);
        m_contrCombo_Linie.AddString("U1");
        m_contrCombo_Linie.AddString("U2");
        m_contrCombo_Linie.AddString("U3");
        m_contrCombo_Linie.AddString("U4");
        m_contrCombo_Linie.AddString("U5");
        m_contrCombo_Linie.AddString("U6");
        m_contrCombo_Linie.AddString("U7");
        m_contrCombo_Linie.AddString("U8");
        m_contrCombo_Linie.AddString("U9");
        m_contrCombo_Linie.AddString("U11");
        m_contrCombo_Linie.AddString("U13");
        m_contrCombo_Linie.AddString("U14");
    }
}



Wenn ich beim ersten mal "S-Bahn" wähle, fügt er erst die U-Bahn Linien ein.
Beim zweiten mal dann erst die S-Bahn Linien...

MFG

_Flo_
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
11.06.2004, 15:34 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ich weiss jedenfalls trotzdem nicht aus dem hut was du falsch gemacht hast... kannst mir dein projekt ja mal mailen dann guck ich mal heute nacht oder morgen rein ob ich da was finde...

an sonsten ist die lösung die komboboxen ständig mit neuen werten vollzuballern nicht wirklich geschickt...
besser ist es 2 boxen zu nehmen die du einfach übereinander legst und dann immer nur die entsprechende auf sichtbar schaltest.. dann sind diese ganzen stringeinfügungen nur einmal beim initialisieren des dialoges notwendig...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
11.06.2004, 16:05 Uhr
_Flo_



Danke, das Angebot nehme ich gerne an.
Die Mail ist raus !

_Flo_
 
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: