Simple radio button question

All i have is three radio buttons in a dialog box.. how do i figure out which one was selected after the user presses OK?
Who is Participating?

Improve company productivity with a Business Account.Sign Up

The_BrainConnect With a Mentor Commented:
The radio buttons, Do the BN_CLICKED.
But there are problems with this.  The poor guys might chop and change his mind, so. I suggest,

BeenClicked (radio1)
   m_Clicked1=1;  //create it yourself in the grey area. Or
   m_Clicked3=0;  //this is to cancel previous selections.
hope this is what you are wanting, the trick is to make your own variables.  (not always generated :)
These variables should be in the Public section of About thing, you can't really miss it.  If you want a better and even a demonstration program I will do this.  Gimme a beep on or

where the other members are created.  and in the DDX (maybe) try witout that first.

Look at the GetCheck method of the radio buttons and the DDX_Radio AFX method.


specify them in a group.
and you can add a member variable of int associated with them.
call UpdateData(TREU);
the int variable is the zeroBase index of the selected item.

or you can get all the button hWnd(CWnd*) and call their GetCheck().

CButton* pB1=(CButton*)GetDlgItem(IDC_XXX1);
int iC=pB->GetCheck();
CButton* pB2=(CButton*)GetDlgItem(IDC_XXX2);
int iC2=pB->GetCheck();
CButton* pB3=(CButton*)GetDlgItem(IDC_XXX3);
int iC3=pB->GetCheck();

// if the return value is 1, the button is checked

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

rabbitearsAuthor Commented:
yeah, but i can't create member variables with the class wizard for some reason.. am i doing something wrong? i was sure it had something to do with ddx, but...
If you can't create member variables with the class wizard, it is likely that your app.clw file is corrupted.  Just delete it.  Next time you go into the class wizard it will ask you if you want to build the clw from your files.  Respond with a hearty YES.
yes, like McCreary says that might be a reason.
it might be even sometimes because your source code files, i mean .cpp & .h files are read-only, then the class wizard will have its "Add Variable" button greyed out. Is that your problem when you say, you cannot add member variables?
I like to do this

BOOL bRadio1 = IsDlgButtonChecked( IDC_RADIO1 ) ;
BOOL bRadio2 = IsDlgButtonChecked(IDC_RADIO2 ) ;
// etc.
here's the deal. i've created the radiobuttons with the resource editor.. thing is, when i go to classlizard to add member variables, the radiobutton id's aren't even in the list for the to choose! i even rebuilt the .clw file.. to no avail.. :(
Declare an integer variable in U'r dialog class, override the BN_CLICKED event of the radio buttons and set the variable to the clicked button number.

When OK is pressed, check this variable value to get the radio button selected.

I don't think U can associated member variables with radio buttons, U can associate them only with check buttons.

adresko - you don't need to add a member variable to the class to use my solution
With your resource editor, check the group property of the first radio button in the set. Then using class wizard you can associate an integer member variable with this button.
After this follow the way wwy_cq has suggested.
rabbitearsAuthor Commented:
what the heck, it's only 50 points..
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.