gpt4 book ai didi

c++ - 如何检查从菜单中选择了哪个项目?如何通过选择菜单项发送 int/wxstring?

转载 作者:行者123 更新时间:2023-11-28 08:08:35 24 4
gpt4 key购买 nike

我有一个菜单,我需要在其中动态放置一些项目(在应用程序启动之前我不知道有多少;-)。把项目放在菜单中,并将它的事件连接到某个功能不是问题。但我需要检查从菜单中选择了哪个项目。我可以通过单击菜单项发送 int 或 wxString 吗?怎么办?

wxMenu *MyTaskBarIcon::CreatePopupMenu(){
wxMenu *menu = new wxMenu;

menu->Append(ITEM1, _("Item1"));
Connect(ITEM1,wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MyTaskBarIcon::Check));

menu->Append(ITEM2, _("Item2"));
Connect(ITEM2,wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MyTaskBarIcon::CheckMenu));

menu->AppendSeparator();
menu->Append(PU_EXIT, wxT("E&xit"));
}

void MyTaskBarIcon::Check(wxCommandEvent& event){
//How to send int/wxString to this method?
}

有什么想法吗?

最佳答案

如何为该菜单分配一系列 ID?然后,当您将项目附加到菜单时,您可以每次递增 ID,因此每个项目都有一个唯一的 ID。然后为每个 ID 创建一个事件处理程序,并以该 ID 作为参数调用一个通用处理程序。或者,您可以使用

wxEvent::GetId()

如果字符串在运行时发生变化,那么您必须将字符串存储在一个数组中,然后使用 ID 减去范围 ID 的开头作为数组的索引从那里调用它们。

关于c++ - 如何检查从菜单中选择了哪个项目?如何通过选择菜单项发送 int/wxstring?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9662804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com