CheckBox unter einer Gruppe zusammenfassen und verstecken?

damaja

Grünschnabel
Hallo,
Ich habe eine kleine Frage:

Ich habe in einem Dialogfenster mehrere CheckBoxen und außenherum ein Gruppenfeld.
Wie kann ich das ganze jetzt als Gruppe zusammnefassen?
Kann ich diese Gruppe dann ein- und ausblenden oder deaktivieren?

Danke bereits für eure Hilfe
 
Die "Gruppenfelder" haben leider nur optisch eine Gruppierungsfunktion. Das hat mich auch schon oft geärgert. Wenn du Checkboxen oder andere Controls ausblenden willst, geht das am besten mit MeinControl.ShowWindow( SW_HIDE ); . Bau dir am besten eine Funktion, in der du alle betreffenden Elemente ein- oder ausblenden kannst.
 
Sowas hatte ich mir mal gebaut, probier mal den folgenden Schnipsel aus:

Code:
void CGroupBox::EnableContainingControls( bool bEnable )
{

  HWND    hwndParent = GetParent();

  if ( hwndParent == NULL )
  {
    return;
  }

  RECT    rcClient;

  GetWindowRect( &rcClient );

  HWND    hwndTemp = ::GetWindow( hwndParent, GW_CHILD );

  while ( hwndTemp )
  {
    RECT    rcChild;

    ::GetWindowRect( hwndTemp, &rcChild );

    if ( ( rcChild.left >= rcClient.left )
    &&   ( rcChild.top >= rcClient.top )
    &&   ( rcChild.right <= rcClient.right )
    &&   ( rcChild.bottom <= rcClient.bottom )
    &&   ( hwndTemp != m_hWnd ) )
    {
      ::EnableWindow( hwndTemp, bEnable );
    }

    hwndTemp = ::GetNextWindow( hwndTemp, GW_HWNDNEXT );
  }

}
 

Neue Beiträge

Zurück