Detaillierte Anweisungen zur Verwendung der TAB-Steuerung von MFC

                                         Detaillierte Anweisungen zur Verwendung der TAB-Steuerung von MFC

      Die Verwendung der Tab-Steuerung zum Umschalten zwischen verschiedenen Schnittstellen in MFC ist für Anfänger etwas schwierig. Ich habe einen Tag lang studiert. Im Folgenden werden die aufgetretenen Probleme und die Schritte im Detail vorgestellt.

1.1 Erstellen Sie eine MFC-Dialogfeldanwendung, ziehen Sie das Steuerelement für die Registerkartensteuerung in das Dialogfeld. Der Effekt ist wie folgt:

Hinweis: Die Registerkartenbeschriftung muss maximal nach oben, unten, links und rechts gestreckt werden, da die nachfolgenden Ansichten darauf gezeichnet werden müssen. . .

2. Deklarieren Sie in der Header-Datei der Dialogfeldklasse eine CTabCtrl-Variable:

                              CTabCtrl m_tab;

Die Variable m_tab wird verwendet, um mit dem Tab Control-Steuerelement im Dialogfeld zu interagieren.

void  CMFCApplication2Dlg :: DoDataExchange ( CDataExchangepDX ) 
(um eine eigene Generation und kein eigenes System einzurichten)

Fügen Sie der Funktion die Anweisung DDX_Control hinzu:

DDX_Control (pDX, IDC_TAB1, m_tab); Hinweis: IDC_TAB1 ist die ID des Registersteuerelements

3. Fügen Sie zwei Dialogfelder in die Ressource als Schnittstelle für das Umschalten der Registersteuerung ein. Anschließend müssen Sie die Border-Eigenschaft dieser beiden Dialogfelder auf None und Style auf Child setzen. Der Effekt nach dem Einstellen ist in der folgenden Abbildung dargestellt:

 

 

4. Erstellen Sie zwei Klassen für die beiden erstellten Dialogfelder, z. B. CTestDlg1 und CTestDlg2. Die Methode zum Hinzufügen einer Klasse: Klicken Sie mit der rechten Maustaste auf die Dialogoberfläche und wählen Sie im Popup-Feld Klasse hinzufügen aus.

 

5. Fügen Sie in der Kopfdatei des Dialogfelds, in dem sich das Steuerelement für die Registerkartensteuerung befindet, den folgenden Inhalt hinzu und fügen Sie zwei Kopfdateien hinzu, um die Seite zu vergrößern:

Öffentlichkeit :  
        int m_CurSelTab;  

       CTestDlg1 m_page1;   

        CTestDlg2 m_page2;  

        CDialog * pDialog [2]; 

6. In der Initialisierungsfunktion der Dialogfeldklasse müssen Sie CTestDlg1, CTestDlg2 und Tab Control zuordnen, die Seitenadresse speichern, die Startseite festlegen und den folgenden Implementierungscode in OnInitDialog () hinzufügen:

m_tab.InsertItem (0,  _T ( "Test 1" )); 
	m_tab.InsertItem (1,  _T ( "Test 2" )); 
	m_tab.InsertItem (2, _T ( "Test 3" )); // Zwei Dialoge  erstellen 
	m_page1.Create ( IDD_DIALOG1 , & m_tab); 
	m_page2.Create ( IDD_DIALOG2 , & m_tab); 
	m_page3.Create ( IDD_DIALOG3 , & m_tab); // Legen
	 Sie den in der Registerkarte CRect  rc; 
	m_tab.GetClientRect (rc) 
	+ rc 
	angezeigten Bereich fest = 20; rc.bottom - = 0; 
	rc.left + = 0; 
	rc.right - = 0; 
	m_page1.MoveWindow (& rc); 
	m_page2.MoveWindow (& rc);
 
	
	
	m_page3.MoveWindow (& rc);
 
	// Den 
	Dialogobjektzeiger speichern pDialog [0] = & m_page1; 
	pDialog [1] = & m_page2; 
	pDialog [2] = & m_page3; // Die erste Seite 
	anzeigen pDialog [0] -> ShowWindow ( SW_SHOW ); 
	pDialog [1] - > ShowWindow ( SW_HIDE ); 
	pDialog [2] -> ShowWindow ( SW_HIDE );
	 // Aktuelle Auswahl 
	speichern m_CurSelTab = 0;
	
 
8. Fügen Sie einen Nachrichtenhandler für das Tab-Steuerelement hinzu, doppelklicken Sie auf das Tab-Steuerelement und geben Sie automatisch den Code für den Nachrichtenhandler ein:
pDialog [m_CurSelTab] -> ShowWindow ( SW_HIDE );
         // Neuen Seitenindex 
    abrufen m_CurSelTab = m_tab.GetCurSel (); // Neue Seite 
        anzeigen pDialog [m_CurSelTab] -> ShowWindow ( SW_SHOW ); 
	* pResult  = 0;
        

 

Ich denke du magst

Origin blog.csdn.net/qq_38204688/article/details/75299989
Empfohlen
Rangfolge