Creare un nuovo progetto wxWidgets. Denominarlo "Dischi". Spuntare le caselle "use wxWidgets DLL" e "wxWidgets is built as Monolithic library".
Inserire un wxBoxSizer nella finestra. Il nome di default assegnato è BoxSizer1 - L'elemento genitore è wxFrame (osservare la scheda Resources).
Aggiungere un wxPanel nel sizer. Il nome assegnato è Panel1 - L'elemento genitore è BoxSizer1.
Si vuole suddividere la finestra in due aree.
Aggiungere un wxStaticBoxSizer nel Pannello, che servirà per l'area di sinistra della Finestra. Il nome assegnato è StaticBoxSizer1.
Aggiungere un secondo wxStaticBoxSizer nel Pannello, per l'area di destra della finestra. Il nome assegnato è StaticBoxSizer2. Assicurarsi che questo secondo sizer compaia affiancato al sizer precedente. Di entrambi è visibile solo l'intestazione "Label". Per aggiungere il secondo sizer si ricordi che il genitore di un elemento viene mostrato in blu, per non inserire il sizer dentro il primo, ma accanto, osservare che, quando si porta il mouse sul pannello per inserire il componente, metà del pannello viene mostrato in colore blu chiaro, a quel punto fare clic per calare il componente.
Adesso si prepareranno le due regioni. In ciascuna posizione del BoxSizer trova posto un componente, ma in questo caso se ne devono aggiungere più di uno. Quindi in ogni regione si inserisce un altro sizer.
Aggiungere un componente wxListBox nell'area di sinistra. Il nome assegnato è ListBox1 Ridimensionarlo usando le maniglie (più alto e più largo).
Si nota che l'altro sizer non segue il ridimensionamento. Selezionare il secondo sizer (StaticBoxSizer) e, nella finestra delle proprietà spuntare la proprietà Expand.
Selezionare il primo sizer e modificare la sua proprietà label: "Titolo CD". Selezionare il secondo sizer e modificare la sua proprietà label: "Elenco dei brani".
Adesso potrebbero servire alcuni pulsanti per svolgere delle operazioni, ad esempio per aggiungere o per eliminare un CD selezionato. Si inserisca un pulsante nel sizer di sinistra:
La posizione più corretta per i pulsanti è al di sotto del ListBox. Quindi aggiungere un wxBoxSizer (BoxSizer2) a sinistra del ListBox, in cui verranno posizionati i due pulsanti.
Selezionare il componente StaticBoxSizer1 e, nella finestra delle proprietà, modificare la proprietà Orientation in wxVERTICAL.
I componenti adesso vengono mostrati con dimensioni errate, perchè assumono tutti l'altezza del più grande. Assegnare il valore 0 alla proprietà Proportion sia del pulsante (Button1) sia del sizer (BoxSizer2) (tra ListBox e Button).
Trascinare il pulsante (Button1) nel sizer (BoxSizer2) ed aggiungere, accanto ad esso, un altro pulsante (Button2).
Selezionare ListBox1 e spuntare la casella Expand nella finestra delle proprietà
Nella casella di destra, etichettata "Elenco dei brani", si desidera far comparire una descrizione dei brani, con ulteriori dettagli su ciascuno di essi: Titolo, Artista, Descrizione.
Aggiungere un wxFlexGridSizer (nome assegnato: FlexGridSizer1) nel wxStaticBoxSizer (nome: StaticBoxSizer2).
Spuntare la proprietà Expand del nuovo componente.
Assegnare il valore 0 alla proprietà Border.
In questo componente (StaticBoxSizer2) si dovrebbero mostrare i dati su due colonne: una colonna per la label e una colonna per il componente associato. Modificare la proprietà cols impostando il valore a 2.
Disporre in questo layout a due colonne un wxStaticText e, alla sua destra, un wxChoice (Choice1), al di sotto inserire un wxStaticText e, affiancato, un wxTextCtrl (TextCtrl1), inserire ancora un'altra coppia degli stessi componenti (un wxStaticText e un wxTextCtrl (TextCtrl2)) e infine un wxStaticTex e wxCalendarControl della scheda Advanced.
Scrivere i valori appropriati per le label: Genere, Autore, Titolo, Data.
Cancellare la parola Text dalle due caselle di testo (TextCtrl1 e TextCtrl2).
Aggiungere le voci alla casella combinata. Selezionare il componente, nella finestra delle proprietà fare clic sul pulsante con l'icona dei tre puntini, sulla linea della proprietà Choices. Nel riquadro che si apre, inserire (una per riga) le voci: Musica, Programmi, Video, Foto.
Assegnare le didascalie ai due pulsanti: selezionare Button1 e nella riga della proprietà Label Scrivere "Aggiungi", selezionare Button2 e nella riga della proprietà Label Scrivere "Elimina"
Associare il gestore di evento ai due pulsanti:
Doppio clic sul pulsante "Aggiungi" e posizionarsi sul gestore di evento. Completarlo così:
void dischiFrame::OnButton1Click(wxCommandEvent& event) { wxString str; int indice; indice = Choice1->GetCurrentSelection(); str << Choice1->GetString(indice); ListBox1->Append(str); }
Completare il gestore di evento richiamato dal pulsante "Aggiungi" e scrivere il gestore di evento associato al pulsante "Elimina"