当前位置: 首页 > news >正文

正规的网站制作服务商黑科技引流推广神器

正规的网站制作服务商,黑科技引流推广神器,787878域名,免费咨询律师在线一对一问答平台使用案例 wxListCtrl中放21个item,每一行放两个item,每个item显示图标和名字,点击某个图标,该图标呈现响应状态并响应对应的事件 以下是使用wxListCtrl实现放置21个item,每一行放两个item,每个item显示图…

使用案例

wxListCtrl中放21个item,每一行放两个item,每个item显示图标和名字,点击某个图标,该图标呈现响应状态并响应对应的事件

以下是使用wxListCtrl实现放置21个item,每一行放两个item,每个item显示图标和名字,点击某个图标,该图标呈现响应状态并响应对应的事件的代码:

cpp
Copy

// 定义图标的状态
enum IconState {Normal,Selected,Focused
};
// 定义每个项目的数据结构
struct ItemData {wxString name;wxBitmap normalIcon;wxBitmap selectedIcon;IconState state; // 图标状态
};
// 创建列表控件
wxListCtrl* ComponentList = new wxListCtrl(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_REPORT | wxLC_SINGLE_SEL);
ComponentList->InsertColumn(0, wxT("Name"));
ComponentList->InsertColumn(1, wxT("Name"));
// 创建项目数据
std::vector<ItemData> itemData = {{ wxT("Item 1"), wxBitmap(wxT("icon1.png"), wxBITMAP_TYPE_PNG), wxBitmap(wxT("icon1_selected.png"), wxBITMAP_TYPE_PNG), Normal },{ wxT("Item 2"), wxBitmap(wxT("icon2.png"), wxBITMAP_TYPE_PNG), wxBitmap(wxT("icon2_selected.png"), wxBITMAP_TYPE_PNG), Normal },// ...
};
// 插入项目
for (int i = 0; i < itemData.size(); i += 2) {int row = ComponentList->GetItemCount();ComponentList->InsertItem(row, itemData[i].name, 0);if ((i + 1) < itemData.size()) {ComponentList->InsertItem(row, itemData[i + 1].name, 1);}
}
// 设置图标
for (int i = 0; i < itemData.size(); i++) {wxListItem item;item.SetMask(wxLIST_MASK_IMAGE);item.SetColumn(i % 2);item.SetId(i / 2);item.SetImage(itemData[i].normalIcon);ComponentList->SetItem(item);
}
// 绑定事件处理函数
ComponentList->Bind(wxEVT_LIST_ITEM_SELECTED, [=](wxListEvent& event) {int index = event.GetIndex();int column = event.GetColumn();if (column >= 0 && index >= 0) {// 获取项目数据ItemData& data = itemData[index * 2 + column];// 更新图标状态data.state = Selected;wxListItem item;item.SetMask(wxLIST_MASK_IMAGE);item.SetColumn(column);item.SetId(index);item.SetImage(data.selectedIcon);ComponentList->SetItem(item);// 处理事件wxLogMessage(wxT("Selected: %s"), data.name);}
});
ComponentList->Bind(wxEVT_LIST_ITEM_DESELECTED, [=](wxListEvent& event) {int index = event.GetIndex();int column = event.GetColumn();if (column >= 0 && index >= 0) {// 获取项目数据ItemData& data = itemData[index * 2 + column];// 更新图标状态data.state = Normal;wxListItem item;item.SetMask(wxLIST_MASK_IMAGE);item.SetColumn(column);item.SetId(index);item.SetImage(data.normalIcon);ComponentList->SetItem(item);// 处理事件wxLogMessage(wxT("Deselected: %s"), data.name);}
});
// 创建组合框架并添加控件
wxStaticBoxSizer* CompGroupLayout = new wxStaticBoxSizer(wxVERTICAL, this, wxT("Components"));
CompGroupLayout->Add(ComponentList, 1, wxEXPAND | wxALL, 5);SetSizerAndFit(CompGroupLayout);

在这个例子中,我们定义了一个IconState枚举用于表示图标的状态,以及一个ItemData结构体用于存储每个项目的数据。然后我们创建了一个列表控件,并插入了两列。接着,我们创建了一个包含21个项目数据的数组,并使用循环插入了这些项目到列表中。同时,我们也使用循环设置了每个项目的图标。接下来,我们绑定了wxEVT_LIST_ITEM_SELECTED和wxEVT_LIST_ITEM_DESELECTED事件,并在事件处理函数中更新了所选项目的图标状态,并输出对应的事件信息。

值得注意的是,在本例中我们使用了wxLC_SINGLE_SEL样式来设置列表控件的选择模式为单选模式。这意味着用户只能选择一个项目。如果你希望用户可以选择多个项目,请使用wxLC_MULTIPLE_SEL样式。

http://www.15wanjia.com/news/4082.html

相关文章:

  • 医院网站域名备案青岛最新消息
  • 网站原型的交互怎么做厦门搜索引擎优化
  • 外贸公司的网站怎么做外贸营销网站建设
  • 搭建直播网站需要怎么做培训班报名
  • 网站收录上万没有流量东莞网站建设推广技巧
  • 酒店网站建设描述网站关键词排名如何提升
  • 网站开发排行榜数据分析网站
  • 温州 做网站新闻发稿平台
  • 武昌网站建设公司百度快照客服
  • 工行网站如何做理财风险评估今日头条新闻最新
  • 汕头市国外网站建设公司东莞网站到首页排名
  • 制作网页按钮宁波网站推广优化哪家正规
  • 怎样注册网站卖东西网址搜索引擎入口
  • 杭州做网站公司网络营销案例范文
  • 前端网站做多语言常见的网络推广方式
  • 购物网站的前台用什么做网站推广平台有哪些
  • 阜阳集团网站建设seo
  • 国务院政府网站发展建设的意见b2b电子商务平台网站
  • 可商用的图片素材网站最近几天新闻大事
  • 用ps做网站中超最新积分榜
  • 网站建设 标准电商线上推广
  • 多个网站对比表格怎么做广州品牌营销服务
  • wordpress会员主页北京seo培训
  • 企业开发网站建设百度有哪些产品
  • 养生网站建设免费短视频精准获客系统
  • 网站图片动态换名高级搜索引擎技巧
  • 网站开发费 发票微信怎么引流营销呢
  • 哪家做的濮阳网站建设郑州seo技术代理
  • 网站开发所需技能应用商店搜索优化
  • 行政机关单位网站建设规定网站推广优化外包公司