Label bzw Edit-Feld NIE anzeigen

chefsalat-

Mitglied
Hallo zusammen,
gibt es eine Möglichkeit in MS VC++ 6.0 (MFC) Label und Edit-Felder so in den Hintergrund zu verfrachten, dass sie auch mit ShowWindow(TRUE) nicht angezeigt werden?

Hintergrund: Ich durchlaufe ein Array von vorne nach hinten und muss bestimmte Label und Edit-Felder anzeigen.
Bei zwei Einträgen (x und y) sollen die Label und Edit-Felder nicht angezeigt werden, sondern nur ein drittes, dass die Summe von x und y enthält.
Das Problem dabei ist, dass die Summe auch angezeigt werden muss, wenn z.b. nur x vorhanden ist. Die Vorgabe, ob nur x, oder nur y, oder beide, oder keins vorhanden ist, kommt von außen.

Da das Array ca 20 Label und Edit-Felder bedient habe ich es jetzt so gelöst, dass im Durchlauf, die Label und die Edit-Felder zwar angezeigt werden (im Hintergrund), ein paar Zeilen weiter unten dann aber wieder ausgeblendet werden. Dafür wird das dritte eingeblendet.
Für den User macht sich das durch ein kurzes Aufblinken der Label und Edit-Felder bemerkbar.

Gibt es eine Möglichkeit, die Label und Edit-Felder so in den Hintergrund zu bekommen, dass sie, auch wenn sie sichtbar werden, nicht angezeigt werden?
In der Oberfläche habe ich größere Buttons und Bitmaps. Sollte ich die Label und Edit-Felder vielleicht dahinter verstecken?

Bin um jede Hilfestellung dankbar.

Gruß chefsalat-
 
Hi chefsalat,

also eine ganz einfache Möglichkeit ist es halt, eine Klasse von CEdit bzw. von CStatic abzuleiten und auf WM_SHOWWINDOW zu reagieren.

Code:
void CInvisibleEdit::OnShowWindow(BOOL bShow, UINT nStatus)
{
    if( !bShow ) {
        CDialog::OnShowWindow(bShow, nStatus);
    }
}


Schöne Grüße,

Peter
 

Neue Beiträge

Zurück