WX_DEFINE_ARRAY的使用

本文介绍了一个wxwidgets中WX_DEFINE_ARRAY宏的具体使用案例。通过创建Mine结构体和其指针数组,演示了如何添加、读取和更新数组中的元素,并展示了如何在事件处理函数中利用这些数组来实现GUI更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/***************************************************************
 * Name:      AAMain.cpp
 * Purpose:   wxwidgets中WX_DEFINE_ARRAY的使用
 * Author:     ()
 * Created:   2018-03-14
 * Copyright:  ()
 * License:
 **************************************************************/

#include <wx/dcclient.h>
struct Mine{
    int flag;   int statu;  bool tips;
};
WX_DEFINE_ARRAY(Mine *, ArrayOfMines);

void AAFrame::OnAbout(wxCommandEvent& event)
{
    Mine m1,m2;
    m1.flag=10;
    ArrayOfMines m_arrMines;
    /**
     定义完对象数组,我们可以先通过Add方法追加,
然后通过Item方法对容器里的元素进行读取和更新,
还可以通过Remove方法进行删除等等,其操作方法是相当灵活的。
     */                             
        
    m_arrMines.Add(&m1);
    m2.flag=20;
    m_arrMines.Add(&m2);
    m_arrMines.Add(new Mine());
    m_arrMines.Item(2)->flag=30;
    wxString str;
//    m_arrMines.Item(1)->flag=10;
    str=wxString::Format("%i",m_arrMines.Item(0)->flag);
    wxClientDC dc(this);
    dc.DrawText(str,10,10);
    str=wxString::Format("%i",m_arrMines.Item(1)->flag);
    dc.DrawText(str,10,50);
    str=wxString::Format("%i",m_arrMines.Item(2)->flag);
    dc.DrawText(str,10,100);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值