无法让 wxTaskBarIcon::CreatePopupMenu() 工作
Can't get wxTaskBarIcon::CreatePopupMenu() to work
根据本文档,您应该能够重写wxTaskBarIcon::CreatePopupMenu()
,以便当用户右键单击图标时,弹出一个菜单。
然而,无论我做什么,我似乎都不能强迫wxWidgets实际执行这个该死的方法!在这一点上,我不确定这是因为我做错了c++继承,还是因为我错误地使用了wxWidgets。但这真的让我发疯了!
#include <wx/taskbar.h>
#include <wx/menu.h>
#include <wx/string.h>
class TaskBarIcon : public wxTaskBarIcon
{
private:
wxIcon _icon;
public:
void SetTooltip(const std::string tooltip);
protected:
virtual wxMenu * CreatePopupMenu();
};
void TaskBarIcon::SetTooltip(const std::string tooltip)
{
wxString wx_tooltip(tooltip.c_str(), wxConvUTF8);
this->SetIcon(_icon, wx_tooltip);
}
wxMenu * TaskBarIcon::CreatePopupMenu()
{
wxMenu * menu = new wxMenu();
menu->Append(wxID_CLOSE, wxT("Exit"));
return menu;
}
图标看起来很好,工具提示是正确的,但没有加载点击它实际上
我在你的代码中没有看到任何错误,但是你没有显示你如何创建图标——抱歉,这是一个愚蠢的问题,但是你实际上创建了派生的TaskBarIcon
对象吗?
另外,我强烈建议您检查覆盖此方法的任务栏示例。如果示例也不适合您,那么这可能是wxWidgets中的一个错误,但是如果它适合您,那么希望您可以找到它与代码之间的差异,并在后者中修复问题。
相关文章:
- QSqlquery prepare()和bindvalue()不工作
- 导入库可以跨dll版本工作吗
- 以螺旋方式打印矩阵的程序.(工作不好)
- 对象指针在c++中是如何工作的
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- C++为线程工作动态地分割例程
- 为什么我的 std::ref 无法按预期工作?
- 布尔比较运算符是如何在C++中工作的
- SampleConsensusPrerejective(ext.RANSAC)是如何真正工作的
- 不确定要在我的main中放入什么才能使我的代码正常工作
- 为什么std::condition_variable notify_all的工作速度比notify_one快(对于随机请
- <<操作员在下面的行中工作
- 有人能解释一下为什么下界是这样工作的吗C++的
- ExtractIconEx:可以工作,但偶尔会崩溃
- C++中的memset函数工作不正常
- 当我在第一个循环中使用"auto"时,它工作正常,但是使用"int"它会给出错误,为什么?
- 链表c++插入,所有情况都已检查,但没有任何工作
- 为什么stream::忽略未按预期工作