• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 934
  • Last Modified:

Grouping Radio buttons

Hi all...

I am displaying 20x2 radio buttons as choices on a window.  The radio's are Yes & No x 20.  I have tried everything but every time I click on one all the others are affeced.  I know that I have to group each pair but this is not working for me ... Here is the code maybe you guys/gals have some ideas.  Thanks Aaron.

for(i = 0; i < 20; i ++)
{
//formatting stuff      
if (i == 10)
{
 x = 320;
 y = 0;
}

m_hROS_Statics[i] = ::CreateWindow("STATIC",pszRos[m_nNextItem], SS_RIGHT | WS_CHILD | WS_VISIBLE,  x, 30 + y,280,25,m_hReport_PatientRos,NULL,hInst,NULL);
            
//Group these
//--------------------
m_hGroup[i] = ::CreateWindow("BUTTON","",  BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 280 + x, 20 + y, 40,30,m_hReport_PatientRos,NULL,hInst,NULL);
m_hROS_Yes[i] = ::CreateWindow("BUTTON","",  BS_AUTORADIOBUTTON| WS_CHILD | WS_VISIBLE, 286 + x, 30 + y, 14,14,m_hReport_PatientRos,NULL,hInst,NULL);
m_hROS_No[i] = ::CreateWindow("BUTTON","",  BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE, 304 + x, 30 + y, 14,14,m_hReport_PatientRos,NULL,hInst,NULL);
//-------------------


//Set default Checks
if (m_bRos[m_nNextItem] == true)
{
 ::SendMessage(m_hROS_Yes[i],BM_SETCHECK,BST_CHECKED,0);
}else{
 ::SendMessage(m_hROS_No[i],BM_SETCHECK,BST_CHECKED,0);
}
      

m_nNextItem ++;
y += 25;
if (m_nNextItem > 52) break;
            
}
0
almorris
Asked:
almorris
  • 2
1 Solution
 
waysideCommented:
Add WS_GROUP property to all the yes buttons:

m_hROS_Yes[i] = ::CreateWindow("BUTTON","",  BS_AUTORADIOBUTTON| WS_CHILD | WS_VISIBLE | WS_GROUP, 286 + x, 30 + y, 14,14,m_hReport_PatientRos,NULL,hInst,NULL);

0
 
almorrisAuthor Commented:
Wow .. Thanks wayside for the quick response !!!
0
 
waysideCommented:
To explain -

All controls created without WS_GROUP that are created after a control that was created with WS_GROUP, are grouped with the control that has WS_GROUP.

Creating another control with WS_GROUP starts a new group.

So adding WS_GROUP to all the yes buttons will create  groups of two buttons.

I suppose you could add WS_GROUP to the group buttons (maybe that's what you were trying to do with WS_GROUPBOX; I never heard of WS_GROUPBOX anyway), but since the group buttons are regular buttons, it doesn't really matter what group they are in.
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now