Nwlapcug.com


Come fare una finestra con separatore personalizzato in MFC

Una finestra con separatore è un'interfaccia simile a Esplora risorse di Windows. La sinistra riquadro (master) in genere mostra una struttura di directory. Nel riquadro di destra (slave) vengono visualizzati i dettagli della cartella selezionata a sinistra. La classe di CSplitterWnd della libreria Microsoft Foundation Class (MFC) incapsula le funzionalità per la gestione di una finestra con separatore. Qui ci sono le linee guida generali per l'inizializzazione di una classe di CSplitterWnd.

Istruzioni

1

Creare un nuovo progetto di applicazione Win32. Garantire che ha un singolo file sorgente con supporto documento/vista. Includere il file di libreria "AFXWIN. h". Dichiarare una variabile di CSplitterWnd.

2

Comprendere la differenza tra finestre con separatore statico e dinamico. Una finestra con separatore statico ha un numero statico di riquadri, determinato all'interno della funzione "OnCreateClient" del frame padre durante l'inizializzazione. Un utente può solo modificare la dimensione dei riquadri. Una finestra con separatore dinamico fornisce i controlli che consentono all'utente di creare, eliminare e ridimensionare i riquadri aggiuntivi come richiesto. Durante l'inizializzazione, il framework crea un unico riquadro per impostazione predefinita.

3

Posizionare la variabile CSplitterWnd su una finestra padre o il telaio. In questo esempio viene utilizzato un oggetto CFrameWnd come frame padre. All'interno della funzione membro "OnCreateClient" di "CFrameWnd," chiamare la funzione "CreateStatic" o "Crea" di "CSplitterWnd," a seconda se si desidera creare un statico o una finestra con separatore dinamico, rispettivamente.

4

Regolare l'altezza e la larghezza dei riquadri individuali attraverso le funzioni di membro "SetColumnInfo" e "SetRowInfo". Li chiami all'interno di "CreateStatic" o "Crea" per inizializzare l'altezza e la larghezza a zero. Li chiamano ancora dopo "CreateStatic" e "Crea" per specificare le dimensioni del riquadro desiderato.

5

Creare le barre di scorrimento tra i riquadri. Una finestra con separatore che dispone di una riga e due colonne visualizzerà una barra di scorrimento stile WS_VSCROLL. Uno che ha due righe e una colonna visualizzerà una barra di scorrimento stile WS_HSCROLL. Le barre di scorrimento di default sono figli della classe CSplitterWnd. Un oggetto CSplitterWnd statico in grado di supportare le barre di scorrimento dalle classi dei suoi riquadri.

Consigli & Avvertenze

  • Una scelta comune del riquadro per un oggetto CSplitterWnd statico è la classe CView.
  • Per utilizzare la classe CView, è necessario utilizzare il CHolderView che contiene i controlli di CView.
  • Incorporamento di una finestra con separatore in un oggetto CFrameWnd avrà un aspetto incassato. Si consiglia di derivare una classe da CFrameWnd in modo da rimuovere lo stile WS_EX_CLIENTEDGE prima creazione.