tt le monde!!!

Je suis nouvelle dans le monde wxWidgets et j'ai besoin de votre aide pour travailler avec le changement du couleur de fond de mon Frame.
Il faut que je le fasse de les formes suivants:

1) En utilisant un wxRadioBox où l'on peut choisir la couleur à afficher
2) et aussi avec un wxButton qu'affiche un wxDialogColor pour le même but.

Voici mon code, il y a un problème avec le wxRadioButton parce que ça n'affiche que "Bleu" qu'est la dernier composant du tableua "Colors" dans le 4 radio buttons (Je ne sais pas si je suis dans le bon sens):


=========> MyFrame.hpp

#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "wx/window.h"
#include"wx/button.h"
#include<iostream>
using namespace std;

class MyFrame : public wxFrame
{
public:

wxRadioBox *rbxColor;

...
void OnColor(wxCommandEvent &event);
...

DECLARE_EVENT_TABLE()
};

=========> MyFrame.cpp

#include "MyFrame.hpp"

BEGIN_EVENT_TABLE(MyFrame, wxFrame)
...
EVT_RADIOBOX(3, MyFrame::OnColor)
...
END_EVENT_TABLE()

wxString colors[4]= (_T("Rouge"), _T("Vert"), _T("Default"), _T("Bleu"));

rbxColor=new wxRadioBox(this, 3, _("Coleurs de fond: "), wxPoint(20, 60), wxSize(120, 120), 4, colors);

void OnColor(wxCommandEvent &event)
{
wxColour cl;
int sel=rbxColor->GetSelection();

switch(sel)
{
case 0:
cl=wxRED; break;
case 1:
cl=wxGREEN; break;
case 2:
cl=wxBLUE; break;
case 3:
cl=wxNullColour; break;
}


this.SetBackgroundColour(cl);
}


Merci Beaucoup pour votre aide!!!