调用wxHyperlinkEvent而不单击链接
call wxHyperlinkEvent without clicking on link
我正在使用wxHyperLink
。当用户单击链接时调用OnHyperlinkClicked(wxHyperlinkEvent&)
。OnHyperlinkClicked()
有助于在两个屏幕之间切换。我想显式地调用这个函数,而不需要用户交互
我使用以下代码:
BEGIN_EVENT_TABLE(UserRegistrationFrame, wxFrame)
EVT_HYPERLINK(wxID_ANY, UserRegistrationFrame::OnAuthCodeOptionLinkClicked)
END_EVENT_TABLE()
void MyClass::MyFunction()
{
wxHyperlinkEvent event;
OnAuthCodeOptionLinkClicked(event);
}
void MyClass::OnAuthCodeOptionLinkClicked(wxHyperlinkEvent& event)
{
// code to switch
}
这是实现我目标的正确方式吗?还是我必须使用不同的东西?
代码不正确,因为使用EVENT_TABLE设置了一个不存在的处理程序。
当用户点击控件时,事件被触发,静态表将调用UserRegistrationFrame::OnAuthCodeOptionLinkClicked
,而不是MyClass::OnAuthCodeOptionLinkClicked
我最好忘记EVENT_TABLES,转而使用动态事件处理。使用Bind()
可以为您提供更多功能。
现在,您希望直接调用事件处理程序函数,而不是来自用户操作。然后,您需要创建一个事件,以便将其传递给处理程序。这就是你在MyClass::MyFunction()
中所做的,对吧?
不要把工作混在一起。如果您的直接调用和事件处理程序都使用一个共同的功能,请将其放在不同的函数中,然后直接调用或从事件处理程序中调用。
但问题是,为什么要使用wxHyperlinkCtrl
来执行屏幕切换之类的任务?是否还要启动默认浏览器?
相关文章:
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- CMake-按正确顺序将项目与C运行时对象文件链接
- 从链接列表c++中删除一个项目
- C++ 实现模板单例类时出现链接错误
- 调用wxHyperlinkEvent而不单击链接
- 我的 RichEdit 控件是否可以包含可单击的链接?
- 单击链接时,如何修改QTWebengine行为
- C 链接器警告是因为虚拟击D驱动器 / clang
- C++中一个天真的单例类的链接错误
- 在 ipv6 链接范围单播 udp 客户端-服务器中应用 boost::asio::ip::udp,有时有效,但有时无效
- 我可以在编译期间从 gcc 获取单例的地址或链接时吗?
- 如何在用户单击wxWidget事件时打开Web链接
- 如何在右键单击链接并从上下文菜单访问功能后获取链接的 DOM
- XCode中的单声道链接
- 如何从文本文件中读取字符串并将其双击到链接列表中
- 单例继承链接器错误
- 如何解决动态链接XCode项目到lib4cxx库时的单符号链接错误
- c++链接器错误在单例类中未定义引用
- 如何/应该在Qt中创建ui表单和数据成员之间的自动链接
- 系统链接控制-正常(双击)点击通知