您的位置: 旅游网 > 明星 >> 林俊杰

中键控制问题的解决办法呢

发布时间:2021-10-28 05:30:39

做作vc界面的都知道,如果在遇到多个控件用tab分组显示时是一件很繁琐的事情,同时代码量也特别的大下面是我今天下午刚刚想出的一个自己认为满意的解决办法。

主要思路如下:

做一个类CTabContainer,在初始化的时候确定将控件id分成几组(也就是几个tab标签),然后为每一组做一个链表分别保存每一个tab下属的控件id集。这样的话,只需在对话框初始化时做好一个基本的设定,然后在OnSelchangeTab1写上m_pTabContainer-Show(m_tCurSel());就可以了。

类的使用方法:

在OnInitDialog()里面

m_pTabContainer-Init(3,this);//3个tab标签按钮,this对话框指针。

m_pTabContainer-AddCtrlId(0,IDC_BUTTON1);//IDC_BUTTON1加到第一组tab当中

m_pTabContainer-AddCtrlId(0,IDC_BUTTON4);//下面类似

m_pTabContainer-AddCtrlId(0,IDC_BUTTON5);

m_pTabContainer-AddCtrlId(1,IDC_BUTTON2);

m_pTabContainer-AddCtrlId(1,IDC_BUTTON6);

m_pTabContainer-AddCtrlId(2,IDC_BUTTON3);

可以先找一批基本的用户。我的看法 m_pTabContainer-AddCtrlId(2,IDC_BUTTON7);

m_pTabContainer-AddCtrlId(2,IDC_BUTTON8);

m_pTabContainer-Show(0);//默认显示第一个标签下面的控件

在控件TAb的事件OnSelchangeTab1

m_pTabContainer-Show(m_tCurSel());即可

另附类CTabContainer的源代码:

classCTabContainer

{

public:

CTabContainer();

virtual~CTabContainer();

CTabContainer(constCTabContainertabContainer);

constCTabContaineroperator=(constCTabContainertabContainer);

BOOLInit(intnTabs,CWnd*pParent);

BOOLAddCtrlId(intnTab,intnID);//将id添加到哪个tab中

BOOLDelete(intnTab,intnID);//删除id

voidShow(intnTab);//当前显示哪个tab

voidClear(void);//释放内存和清理工作

protected:

typedefCListCIntList;

CIntList*m_pIDGroups;//指向链表的指针

intm_nLCount;//链表的个数

CWnd*m_pParent;//父窗体指针

};

查看本文来源

南京市最好的性病医院
武汉治疗前列腺炎费用
小孩积食怎么调理脾胃
猜你会喜欢的
猜你会喜欢的