|
发表于 2013-6-18 23:44:46
|
显示全部楼层
我使用radio制作360那样的Tab菜单时出现问题了,当点了一个TAB,再换其他TAB时,原来的状态并未及时跟新,出现了2个选中的状态(我分了组的)。如果继续点其他的,会出现多个选中的情况。- void CreateMainTab(HWINDOW hWindow)
- {
- int left=3;
- int top=28;
- HIMAGE m_hImage_check_leave=XImage_LoadFile(L"images\\toolBar\\toolbar_normal.png");
- HIMAGE m_hImage_check_stay=XImage_LoadFile(L"images\\toolBar\\toolbar_hover.png");
- HIMAGE m_hImage_check_down=XImage_LoadFile(L"images\\toolBar\\toolbar_pushed.png");
- HIMAGE hIcon;
- HELE hRadio[3];
- TCHAR szGroup[3][80]={_T("全部软件"),_T("电脑体验2"),_T("电脑体验3")};
- TCHAR szIcon[3][80]={
- L"images\\toolBar\\ico_Examine.png",
- L"images\\toolBar\\ico_softmgr.png",
- L"images\\toolBar\\ico_SysRepair.png"};
- for(int i=0; i<3; i++)
- {
- hIcon=XImage_LoadFile(szIcon[i]);
- hRadio[i]=XRadio_Create(left,top,74,82,szGroup[i]);
- XRadio_EnableButtonStyle(hRadio[i],TRUE);
- XRadio_SetGroupID(hRadio[i],1);
- XBtn_SetIcon(hRadio[i],hIcon);
- XBtn_SetIconAlign(hRadio[i],XC_ICON_ALIGN_TOP);
- XEle_SetBkTransparent(hRadio[i],TRUE);
- XEle_SetTextColor(hRadio[i],RGB(255,255,255));
- XBtn_SetOffset(hRadio[i],0,-3);
- XRadio_SetImageLeave_UnCheck(hRadio[i],m_hImage_check_leave);
- XRadio_SetImageStay_UnCheck(hRadio[i],m_hImage_check_stay);
- XRadio_SetImageDown_UnCheck(hRadio[i],m_hImage_check_down);
- XRadio_SetImageLeave_Check(hRadio[i],m_hImage_check_down);
- XRadio_SetImageStay_Check(hRadio[i],m_hImage_check_down);
- XRadio_SetImageDown_Check(hRadio[i],m_hImage_check_down);
- XEle_EnableFocus(hRadio[i],FALSE);
- XEle_RegisterEvent(hRadio[i],XE_BNCLICK,TabBtnClick);
- XWnd_AddEleNC(hWindow,hRadio[i]);
- left+=74;
- }
- XBtn_SetCheck(hRadio[0],TRUE);
- }
复制代码 |
|