redirect - 如何将事件从一个控件重定向到 PowerBuilder 中的另一个控件?
问题描述
按钮控件可以使用 TriggerEvent() 函数触发数据窗口控件的事件。
我的代码中的按钮控件使用 SetParent win32 API 函数设置为 DataWindow 控件的子对象。SetParent 外部函数将按钮从窗口移动到数据窗口控件,但在 SetParent 之后,已经为 Clicked 事件编写的代码不再起作用。这就是为什么我需要将按钮的单击事件重定向到数据窗口的按钮单击事件。
有一个使用 win32 API 调用重定向事件的好例子。这是链接http://bitmatic.com/c/redirecting-mousewheel-events-to-another-control我需要在 PowerBuilder 中做同样的事情。
有人可以看到该代码或帮助我以我想要的方式重定向事件吗?
解决方案
你正在艰难地做事。找到数据窗口控件的名称(例如 dw_1),然后从命令按钮发出 dw_1.event buttonclicked (args)。
更好的是,将代码移动到父对象中的函数。控件是导航对象,它们实际上不应该有太多的代码(恕我直言),而是在父对象上触发方法。
推荐阅读
- javascript - 我可以使用“react-redux”“连接”HOC 通过 mapStateToProps 为“通用”React 组件提供自定义选择器吗?
- ios - Parse SDK 不需要调用 dispatch_get_main_queue() 吗?
- ios - 无效的捆绑包 - Info.plist 应指定 CFBundleSupportedPlatforms 与包含单个平台的数组
- c# - 为什么 Authorize.net 正在逐步淘汰基于 MD5 的哈希用于交易?SHA512 哈希算法的使用现在应该可以解决问题吧?
- java - 在 cxf-rt-frontend-jaxrs-3.3.0 中找不到 JAXRSClientFactory
- javascript - 如何从数组中提取字段?
- ios - 在 TableView 中突出显示搜索字母 - ios
- python - scipy.stats 不适用于冷冻房车
- linux - python threading.ident和Linux进程id一样吗?
- c# - .net core 2 如何正确实现存储库