递归火山软件开发平台

标题: SendMessageA 转到火山无效 [打印本页]

作者: nddb    时间: 2024-7-20 17:22
标题: SendMessageA 转到火山无效
在易语言里面 获取鼠标位置的超级列表框表项 我移动 (, 下载次数: 5) (, 下载次数: 5) (, 下载次数: 4) (, 下载次数: 4) 到火山里面咋不生效啊!











(, 下载次数: 4) (, 下载次数: 4) (, 下载次数: 4) (, 下载次数: 4)

作者: Xelloss0618    时间: 2024-7-20 17:36
你的pt和超级列表框鼠标类都不是结构体,你先搞清楚火山的结构体怎样封装吧。
作者: 创世魂    时间: 2024-7-20 19:38
对啊,x大说的对,你要用结构体。。。
作者: EZDD    时间: 2024-7-20 23:28
楼主解决了吗?同求个例子
作者: Xelloss0618    时间: 2024-7-21 00:02
<火山程序 类型 = "通常" 版本 = 1 />

类 窗口1 <公开 基础类 = 窗口 折叠 隐藏值属性 = "0" @视窗.布局 = "client_size = \"600, 420\"">
{
    变量 超级列表框1 <类型 = 超级列表框 折叠2 隐藏值属性 = "0" @视窗.布局 = "id = 101\r\npos = \"47, 36, 440, 300\"" 标题 = "超级列表框1">

    方法 超级列表框_鼠标左键被放开 <接收事件 类型 = 整数 注释 = "当鼠标左键被放开时事件被触发" 返回值注释 = "本事件的处理方法如果返回非0整数值,表明事件已经得到处理且不再需要后续处理."
            折叠>
    参数 来源对象 <类型 = 超级列表框 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    参数 横向位置 <类型 = 整数 注释 = "事件触发时的鼠标横向坐标位置,相对所处用户区的左边.">
    参数 纵向位置 <类型 = 整数 注释 = "事件触发时的鼠标纵向坐标位置,相对所处用户区的顶边.">
    参数 辅Zhu键状态 <类型 = 整数 注释 = "事件触发时的辅Zhu键组合状态,为\"辅Zhu键状态\"类中各常量值的组合.">
    {
        如果 (来源对象 == 超级列表框1)
        {
            变量 info <类型 = LVHITTESTINFO>
            info.pt.x = 横向位置
            info.pt.y = 纵向位置
            // LVM_HITTEST 4114 命中测试
            来源对象.发送信息 (4114, 0, 取变量地址 (info))
            调试输出 ((整数)info.flags, info.iItem)
        }

        返回 (0)
    }
}

类 POINT <公开 基础类 = 本地结构模板 折叠 @别名 = "POINT" @模板实现类 = "">
{
    变量 x <公开 类型 = 整数 @输出名 = "x">
    变量 y <公开 类型 = 整数 @输出名 = "y">
}

类 LVHITTESTINFO <公开 基础类 = 本地结构模板 折叠 @别名 = "LVHITTESTINFO" @模板实现类 = "">
{
    变量 pt <公开 类型 = POINT @输出名 = "pt">
    变量 flags <公开 类型 = 无符号整数 @输出名 = "flags">
    变量 iItem <公开 类型 = 整数 @输出名 = "iItem">
    变量 iSubItem <公开 类型 = 整数 @输出名 = "iSubItem">
    变量 iGroup <公开 类型 = 整数 @输出名 = "iGroup">

    #
}

作者: nddb    时间: 2024-7-22 09:41
感谢X大!~可以了!~




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4