Wie gruppieren?



  • Hallo!
    Ich moechte innerhalb meines Formviews unter einem GroupBox-Control mehrere Textcontrols verwalten. Die Textcontrols sollen dabei aber von dem Formview direkt nicht zugreifbar sein, sondern lediglich ueber das GroupBox-Control (bzw. ueber die Funktionen meiner abgeleiteten Klasse). Mein Problem liegt nun irgendwie in der Anbindung von meinen Variablen innerhalb der GroupBox-Klasse an die jeweiligen Textcontrols. Habe das bisher nur ueber DDX kennengelernt und waere sehr dankbar fuer einen kleinen Tip wie ich das nun anstellen muesste 🙂

    Thx



  • Sry, fuer das vorige Post, da hab ich wohl schon geistig 3 Stunden geschlafen 😞

    Nochmal erklaert und diesmal wohl hoffentlich einleuchtender:
    Ich moechte innerhalb einer eigenen Ctrl-Klasse mehrere Textcontrols ueber DDX verbinden, also nicht ueber das Formview selber. Die Kontrolle ueber die Textcontrols soll also innerhalb meiner eigenen Klasse liegen. Ich war wohl im Irrglauben,dass ich dieses ueber die DoDataExchange-Funktion in meiner eigenen Ctrl-Klasse erreichen koennte, aber das klappt wohl leider nicht bzw. nicht ganz.
    In dem folgenden Code kommt es zur Laufzeit zu nem Fehler:

    HWND CDataExchange::PrepareCtrl(int nIDC)
    {
    	ASSERT(nIDC != 0);
    	ASSERT(nIDC != -1); // not allowed
    	HWND hWndCtrl;
       COleControlSite* pSite = NULL;
    	m_pDlgWnd->GetDlgItem(nIDC, &hWndCtrl);
    	if (hWndCtrl == NULL)
    	{
    	  // Could be a windowless OCX
    	  pSite = m_pDlgWnd->GetOleControlSite(nIDC);
    	  if (pSite == NULL)
    	  {
    		   TRACE(traceAppMsg, 0, "Error: no data exchange control with ID 0x%04X.\n", nIDC);
    		   ASSERT(FALSE);
    		   AfxThrowNotSupportedException();
    	  }
    	}
    	m_idLastControl = nIDC;
    	m_bEditLastControl = FALSE; // not an edit item by default
    
       return hWndCtrl;
    }
    

    Leider gibt der Aufruf

    m_pDlgWnd->GetDlgItem(nIDC, &hWndCtrl);
    

    in hWndCtrl nur NULL zurueck, da m_pDlgWnd auf meine Klasse zeigt und dort wahrscheinlich das betreffende Textcontrol nicht wirklich liegt (habs ja auch in meinem Formview platziert).

    Ich mach bestimmt nen riesigen Denkfehler oder verfolge den ganz falschen Ansatz und ersuche daher dringend um Beistand 🙂


Anmelden zum Antworten