【wxWidgets】wxAddRemoveCtrl添加删除控件

【wxWidgets】wxAddRemoveCtrl添加删除控件

wxAddRemoveCtrl类用于添加按钮以向类似列表的子空间添加和删除项的类
此类表示一个复合控件,该控件将能够显示多个项的任何控件(如 wxListBox、wxListCtrl、wxTreeCtrl、wxDataViewCtrl 或自定义控件)与两个按钮组合在一起,允许从此类似列表的控件中添加项和删除项。 使用此控件而不是直接创建和管理按钮的优点是,此类使用当前平台的正确按钮和布局
此类始终与 wxAddRemoveAdaptor 结合使用,后者用于在按下相应按钮时实际向包含项的控件添加项或从中删除项。对话框示例显示了如何执行此操作:首先,您需要从 wxAddRemoveAdaptor 派生一个新类并实现其纯虚拟方法,然后必须使用此类的新分配对象调用 SetAdaptor

wxAddRemoveCtrl* ctrl = new wxAddRemoveCtrl(parent);
 
// This can be any kind of control for which OnAdd() and OnRemove()
// below can be made to work.
wxListBox* lbox = new wxListBox(ctrl, ...);
 
class ListBoxAdaptor : public wxAddRemoveAdaptor
{
public:
    explicit ListBoxAdaptor(wxListBox* lbox) : m_lbox(lbox) { }
 
    virtual wxWindow* GetItemsCtrl() const { return m_lbox; }
 
    virtual bool CanAdd() const { return true; }
    virtual bool CanRemove() const { return m_lbox->GetSelection() != wxNOT_FOUND; }
    virtual void OnAdd() { ... get the new item from user and add it ... }
    virtual void OnRemove() { m_lbox->Delete(m_lbox->GetSelection()); }
 
private:
    wxListBox* m_lbox;
};
 
ctrl->SetAdaptor(new ListBoxAdaptor(lbox));

相关函数

默认构造函数

wxAddRemoveCtrl::wxAddRemoveCtrl()

构造函数

wxAddRemoveCtrl::wxAddRemoveCtrl (wxWindow * 	parent,
wxWindowID 	winid = wxID_ANY,
const wxPoint & 	pos = wxDefaultPosition,
const wxSize & 	size = wxDefaultSize,
long 	style = 0,
const wxString & 	name = wxAddRemoveCtrlNameStr )

创建控件函数


bool wxAddRemoveCtrl::Create (wxWindow * parent,
wxWindowID 	winid = , wxID_ANY
const wxPoint & 	pos = , wxDefaultPosition
const wxSize & 	size = , wxDefaultSize
long 	style = , 0
const wxString & 	name = wxAddRemoveCtrlNameStr )	

设置适配器
将控件与指定的适配器对象关联,必须只调用此方法一次才能完成此对象的初始化。

void wxAddRemoveCtrl::SetAdaptor ()

设置按钮工具提示
设置用于添加和删除按钮的工具提示
当鼠标悬停在分别用于添加和删除项目的按钮上时,显示指定的工具提示
此方法只能在调用 SetAdaptor()后使用


void wxAddRemoveCtrl::SetButtonsToolTips (const wxString &addtip, const wxString &removetip )	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值