Le finestre di dialogo sono delle finestre (generalmente con una barra del titolo) usate per mostrare informazioni o per richiedere input all'utente o più in generale quando serve una finestra che contenga altri controlli. Le finestre di dialogo possono essere modali (modal) e non modali (modeless), se la finestra è modale viene bloccata l'esecuzione del resto del programma fino alla sua chiusura.
01: dlg = wxDialog(frame, -1, "Finestra di dialogo")
02: dlg.ShowModal()
Alla linea 1 viene creata la finestra di dialogo, gli argomenti sono gli stessi usati per creare altri tipi di finestra, cioè la finestra genitore (nell'esempio supponiamo che esista già una finestra chiamata frame), l'id, il titolo. Alla linea 2 viene mostrata la finestra modale, il flusso del programma si blocca fino a quando la finestra viene chiusa con il tasto di chiusura in altro a destra.
immagine 5.1
Le finestre non modali sono uguali alle finestre modali ma non bloccano l'esecuzione del programma quando sono visualizzate, infatti l'esempio seguente è identico a quello per le finestre modali eccetto per il fatto che la finestra è visualizzata con Show (di cui si è già parlato in precedenza).
01: win = wxDialog(frame, -1, "Finestra non modale")
02: win.Show(1)
wxMiniFrame non è una vera finestra di dialogo ma è derivata da wxFrame, il suo uso può essere però simile a quello di una finestra di dialogo non modale, caratterizzata però generalmente da una barra del titolo più piccola.
Possiamo vedere la finestra così creata nell'immagine 5.2, notiamo però che lo sfondo è dello stesso colore del frame principale (generalmente grigio scuro), per rendere lo sfondo come quello di una finestra di dialogo normale e potervi aggiungere dei controlli è necessario usare un wxPanel come vedremo più avanti.