找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 48|回复: 1

求助exduir按钮挂接事件和窗口事件通知写法

[复制链接]

7

主题

15

回帖

106

积分

注册会员

积分
106
QQ
发表于 2024-10-17 10:06:25 | 显示全部楼层 |阅读模式
悬赏5金钱已解决
最近研究exduir,发现例程太少了,仅有几个例程又太复杂

写法跟易的很不一样,无从下手


比如按钮的挂接事件
按钮1.挂接事件 (#NM_CLICK, 取子程序地址 (&按钮事件_左键被单击))

再写个子程序     回调函数       按钮事件_左键被单击(控件句柄,控件序号,事件类型,参数1,参数2)
炫彩是这样
按钮.挂接事件(事件标识_列表按钮_单击, )

第二个参数提示 _组件事件回调 pfnCallback 就不知道怎么写了


还有一个
之前不知道窗口消息回调写法
看到例程找到了写法,但是关键的消息通告又不会了
易语言的写法,测试正常



.子程序 窗口消息回调, 逻辑型

.参数 窗口句柄
.参数 界面句柄
.参数 消息
.参数 参数1
.参数 参数2
.参数 返回值, 整数型, 参考
.局部变量 事件, 事件通告_Ex


.判断开始 (消息 = #WM_NOTIFY)
    CopyMemory (取数据_通用型 (事件), 参数2, 20)
    .判断开始 (事件.事件 = #NM_CLICK)
        .判断开始 (事件.控件句柄 = 按钮1.取句柄 ())
            调试输出 (“按钮1被点击”)
            编辑框1.置标题 (A2W (“Hello”, ), )
        .默认


        .判断结束


    .默认


    .判断结束


.默认


.判断结束
返回 (假)



但是炫彩用类似又遇到问题
自定义数据类型很简单,用结构体即可
但是卡在 CopyMemory (取数据_通用型 (事件), 参数2, 20)


附件是炫彩源码,方便大佬测试



附件: 您需要 登录 才可以下载或查看,没有账号?立即注册

最佳答案

查看完整内容

上面是事件通告代码 上面是回调定义函数。参数类型返回值等要对上不然报错,注意记得改调用约定 按钮.挂接事件(事件标识_左键被单击, 按钮事件_被单击)//求助1,第二个参数写法 以上在例子中都有写的。多看看例子

48

主题

48

回帖

395

积分

超级版主

积分
395
发表于 2024-10-17 10:06:26 | 显示全部楼层
本帖最后由 易团雪 于 2024-10-17 10:25 编辑
  1.   if (uMsg == 窗口消息_事件通告)
  2.                         EX_NMHDR *ni = (EX_NMHDR*)lParam
  3.                         如果 (ni->通知消息 == 事件标识_左键被单击)
  4.                                 调试输出("按钮被单击")
复制代码
上面是事件通告代码

  1. 函数 LRESULT WINAPI 按钮事件_被单击(HEXOBJ hObj, int nID, int nCode, WPARAM wParam, LPARAM lParam)//回调函数(控件句柄,控件序号,事件类型,参数1,参数2)
  2.         调试输出(hObj, nID)
  3.         返回 0
复制代码
上面是回调定义函数。参数类型返回值等要对上不然报错,注意记得改调用约定
按钮.挂接事件(事件标识_左键被单击, 按钮事件_被单击)//求助1,第二个参数写法


以上在例子中都有写的。多看看例子
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|炫语言 | 炫彩界面库 | 用户所需, 正是我所做! ( 鄂ICP备2023014763号-1 )

GMT+8, 2024-11-9 00:16 , Processed in 0.072121 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表