Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Steuerelemente aus und einblenden

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
13.04.2004, 09:23 Uhr
~MDDM
Gast


Hallo

Ich möchte per Radiobuttons Steuerelemente aus und wieder einblenden.
Ich schaffe es aber nur welche auszublenden aber nicht wieder einzublenden.

Ich habe einen kleinen Mehrwertsteuerrechner gebastelt und möchte nun das wenn ich auf das optionsfeld brutto klicke nur die Steuerelemente für Netto sichtbar sind und wenn ich aufs optionsfeld Netto klicke die Bruttosteuerelemente wieder sichtbar sind und dafür die Bruttoelemente ausgeblendet sind.

Ich hoffe es wird noch durchgeblickt.
Bisher hatte ich das so:

C++:
void CMwStrDlg::OnRadio1()
{
    UpdateData(TRUE);
    // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
    if(m_radio_brutto == 0)
{
// Steuerelemente Ausblenden die für Brutto nicht gebraucht werden
// Steuerelemente Einblenden die für Netto gebraucht werden
    GetDlgItem(IDC_EDIT4)->ShowWindow(FALSE);
    GetDlgItem(IDC_STATIC_EUR)->ShowWindow(FALSE);
    GetDlgItem(IDC_STATIC_B)->ShowWindow(FALSE);
}
else
{
// Steuerelemente Ausblenden die für Netto nicht gebraucht werden
// Steuerelemente Einblenden die für Brutto gebraucht werden
    GetDlgItem(IDC_EDIT5)->ShowWindow(FALSE);
    GetDlgItem(IDC_STATIC_EUR2)->ShowWindow(FALSE);
    GetDlgItem(IDC_STATIC_N)->ShowWindow(FALSE);
    GetDlgItem(IDC_EDIT4)->ShowWindow(TRUE);
    GetDlgItem(IDC_STATIC_EUR)->ShowWindow(TRUE);
    GetDlgItem(IDC_STATIC_B)->ShowWindow(TRUE);
}

}


Also wenn ich auf Brutto klicke dann blendet er mir zwar brutto aus aber wenn ich dann auf netto klicke nicht wieder ein. und netto auch nicht aus.

Kann mir jemand diesbezüglich helfen?

MfG Maik
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.04.2004, 11:55 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


also entweder ergibt deine bedingung immer true oder du solltest im if pfad alle steuerelemente setzen...

wenn du nicht alles benennen doppelt machen willst ist es einfacher dafür ne funktion zu schreiben

C++:
void setBruttoOrNetto(int flag){

    GetDlgItem(IDC_EDIT5)->ShowWindow(flag);
    GetDlgItem(IDC_STATIC_EUR2)->ShowWindow(flag);
    GetDlgItem(IDC_STATIC_N)->ShowWindow(flag);
    GetDlgItem(IDC_EDIT4)->ShowWindow(!flag);
    GetDlgItem(IDC_STATIC_EUR)->ShowWindow(!flag);
    GetDlgItem(IDC_STATIC_B)->ShowWindow(f!lag);
}



mal davon absehen weiss ich nciht genau was du da alles für steuerelemente gemacht hast aber um zwischen brutto und netto zu unterscheiden ist es vermutlich einfacher nicht auszublenden sondern einfach den inhalt anzupassen (multiplizieren mit 1,16 ist ja nicht so kompliziert )
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.04.2004, 12:26 Uhr
~MDDM
Gast


Der rechner ansich ist fertig und funktioniert ja.

Ich wollte mit dem ausblenden nur sicherstellen, das wenn ein bruttowert eingegeben wird nicht brutto nochmal angezeigt wird. Deswegen die beiden Optionsfelder Brutto und Netto.

MfG Maik
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.04.2004, 14:08 Uhr
~MDDM
Gast


Habs hinbekommen ohne schleife und funktion.

Ganz einfach für die einzelnen optionsfelder eine BN_CLICKED Funktion hinzufügen und in der funktion eben jeweils die einzelnen Steuerelemente aus oder einblenden.

MfG Maik
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
13.04.2004, 15:47 Uhr
~toxic
Gast


hi, und weisst auch warums net ging ?


C++:
void CMwStrDlg::OnRadio1()
{
    UpdateData(TRUE);
    // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
    if(m_radio_brutto == 0)
{
// Steuerelemente Ausblenden die für Brutto nicht gebraucht werden
// Steuerelemente Einblenden die für Netto gebraucht werden
    GetDlgItem(IDC_EDIT4)->ShowWindow(FALSE);
    GetDlgItem(IDC_STATIC_EUR)->ShowWindow(FALSE);
    GetDlgItem(IDC_STATIC_B)->ShowWindow(FALSE);
/* das hier hat gefehlt !!! */
    GetDlgItem(IDC_EDIT5)->ShowWindow(TRUE); // <---
    GetDlgItem(IDC_STATIC_EUR2)->ShowWindow(TRUE); // <---
    GetDlgItem(IDC_STATIC_N)->ShowWindow(TRUE); // <---
}
else
{
// Steuerelemente Ausblenden die für Netto nicht gebraucht werden
// Steuerelemente Einblenden die für Brutto gebraucht werden
    GetDlgItem(IDC_EDIT5)->ShowWindow(FALSE);
    GetDlgItem(IDC_STATIC_EUR2)->ShowWindow(FALSE);
    GetDlgItem(IDC_STATIC_N)->ShowWindow(FALSE);

    GetDlgItem(IDC_EDIT4)->ShowWindow(TRUE);
    GetDlgItem(IDC_STATIC_EUR)->ShowWindow(TRUE);
    GetDlgItem(IDC_STATIC_B)->ShowWindow(TRUE);
}

}

aber besser siehts aus wenn man die controls nur ausgraut (MF_GRAYED).
--
gruß
 
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: