Probleme beim Fensterverschieben und beim zusammenzählen von 1 +1



  • Halle Ihr da
    Folgendes Problem:
    Ich hab einen Dialog auf diesem Dialog zeichne ich 6 gleiche Childdlg. Allerdings beim starten (onInitDlg) nur 3 sichtbar. Jetzt habe ich 2 Schalter dazugebastelt mit denen ich durch die Dialoge scrollen will. Also Schalter nach vorn:
    1. Dialog wird ausgeblendet; 2. Dialog wandert an die Stelle des 1.; 3.Dialg wandert an die Stelle des 2. und an die leere 3. Stelle kommt der 4.(bisher nicht sichtbare) usw usw.
    Wie es aussieht hab ich heut schon mehrere Baumstämme vor dem Kopf.... Ich kann es nicht ausrechnen.
    Problem 2: Wenn ich die Positon des ersten Fensters mir merke und versuche diese Position dem 2 zuzuweisen, wird mein Fenster immer kleiner(nämlich genau um 5 pixel)
    Weiß der Geier warum
    Mag mir mal schnell wer helfen?
    Hier die Funktion zum nach vorne blättern:

    void CMA::OnBnClickedMoveChildRight()
    {
    	int max = m_DialogList.GetCount();
    	// max ist diesmal 6
    	m_NotVisible ++;
    	int x = 60;
    	int y = 70;
    	for (int i = 0; i < m_DialogList.GetCount();i++)
    	{
    		// ich bin heut schon etwas hilflos
    		// weiss wer was ich da hinschreiben muss *gg*
    		if (m_NotVisible > i || i+ m_NotVisibleDlgLeft <= (max -3))
    			m_DialogList.GetAt(i)->ShowWindow(SW_HIDE);
    		else
    		{
    			CRect br;
    			m_DialogList.GetAt(0)->GetClientRect(br);
    			m_DialogList.GetAt(i)->ShowWindow(SW_SHOW);
    			m_DialogList.GetAt(i)->MoveWindow(x,y, br.right+5, br.bottom+5);
    			// kann ja nicht sein, daß ich immer 5 dazurechnen muss?
    			// Und keiner weiß weshalb
    			x += br.right + 10;
    
    		}
    
    	}
    	// TODO: Fügen Sie hier Ihren Kontrollbehandlungscode für die Benachrichtigung ein.
    }
    

Anmelden zum Antworten