Einzelne Registerkarten ansprechen



  • hi

    ich habe das problem die einzelnen Registerkarten in meinem projekt richtig anzusprechen. was ich nicht hinbekomm ist bei der initialisierung schon in jeder karte das hineinzuprogrammieren was ich will. also in tab1 einen kreis in tab 2 ein viereck ect.

    die registerkarten sind erstellt aber wenn ich jetzt etwas zeichne dann werden sie vom gezeichneten überlappt anstatt es in nur einer ist.

    void Ctab1View::OnInitialUpdate(void)
    {	
    
    	int i;
    	TC_ITEM tcItem;
    	PSTR pszTabItems[] = {_T("site1"), _T("site2"), _T("site3"), NULL};
    	m_cTab.Create(TCS_TABS|TCS_FIXEDWIDTH|WS_CHILD|WS_VISIBLE, CRect(0,0,789,509), this, AFX_IDW_PANE_FIRST);
    	for (i = 0; pszTabItems[i] != NULL; i++)
    	{
    		tcItem.mask = TCIF_TEXT;
    		tcItem.pszText = pszTabItems[i];
    		tcItem.cchTextMax = strlen(pszTabItems[i]);
    		m_cTab.InsertItem(i, &tcItem);
    
    	}
    }
    

    das erstellen geht ohne probleme aber wenn ich jetzt in z.B. OnDraw etwas zeichne klappt es hald nicht ganz. die befehle "m_cTab.SetCurFocus" und "m_cTab.SetCurSel" sollten mir zwar helfen aber das gezeichnete ist immer über die karten überlappend.

    hat jemand eine lösung für mich?

    danke


  • Mod

    Wenn es Deine Absicht ist ein TabCtrl mit unterschiedlichen Dialogsieten zu erzeugen, dann solltest Du direkt CPropertySheet und CPropertyPage verwenden.

    Wenn Du wirklich in dasTab Ctrl Zeichnen willst dann musst Du selber den Bereich bestimmen den das TabCtrl freilässt.



  • hm verstehe nicht ganz was du meinst mit ich muss den bereich selbst festlegen. kann ich nicht einfach mit "SetCurFocus" irgendwie tab1 ansteuern was reinzeichnen, dann tab 2 ect.. muss das leider schon in wenigen tagen hinbekommen und keine zeit mir etwas anders anzuschaun.

    ich hoffe jemand hat eine lösung für mich 😕

    danke


Anmelden zum Antworten