我的这段易语言代码哪里需要修改啊。关于超级列表框的。
双击超级列表框会出现编辑框对超级列表框进行编辑,但是出来的编辑框总是有点错位。.版本2.支持库iext.子程序_超级列表框1_被双击,逻辑型.参数横向位置,整数型.参数纵...
双击超级列表框会出现编辑框对超级列表框进行编辑,但是出来的编辑框总是有点错位。
.版本 2
.支持库 iext
.子程序 _超级列表框1_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.局部变量 局_左边, 整数型
.局部变量 局_顶边, 整数型
.局部变量 局_列宽, 整数型, , "0"
.局部变量 局_列左边, 整数型, , "0"
.局部变量 局_次数, 整数型
全_当前表项 = 超级列表框1.现行选中项
.计次循环首 (超级列表框1.取列数 (), 局_次数)
加入成员 (局_列宽, 超级列表框1.取列宽 (局_次数 - 1))
.计次循环尾 ()
加入成员 (局_列左边, 局_列宽 [1])
.计次循环首 (取数组成员数 (局_列宽) - 1, 局_次数)
加入成员 (局_列左边, 局_列左边 [局_次数] + 局_列宽 [局_次数 + 1])
.计次循环尾 ()
局_左边 = 超级列表框1.左边 + 3
局_顶边 = 纵向位置 + 33
.如果 (横向位置 ≤ 局_列左边 [1])
全_当前列 = 0
超级列表框_编辑框.移动 (局_左边, 局_顶边, 局_列宽 [1], )
显示编辑框 ()
.否则
.计次循环首 (取数组成员数 (局_列左边) - 1, 局_次数)
.如果真 (横向位置 > 局_列左边 [局_次数] 且 横向位置 ≤ 局_列左边 [局_次数 + 1])
全_当前列 = 局_次数
超级列表框_编辑框.移动 (局_左边 + 局_列左边 [局_次数], 局_顶边, 局_列宽 [局_次数 + 1], )
显示编辑框 ()
跳出循环 ()
.如果真结束
.计次循环尾 ()
.如果结束 展开
.版本 2
.支持库 iext
.子程序 _超级列表框1_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.局部变量 局_左边, 整数型
.局部变量 局_顶边, 整数型
.局部变量 局_列宽, 整数型, , "0"
.局部变量 局_列左边, 整数型, , "0"
.局部变量 局_次数, 整数型
全_当前表项 = 超级列表框1.现行选中项
.计次循环首 (超级列表框1.取列数 (), 局_次数)
加入成员 (局_列宽, 超级列表框1.取列宽 (局_次数 - 1))
.计次循环尾 ()
加入成员 (局_列左边, 局_列宽 [1])
.计次循环首 (取数组成员数 (局_列宽) - 1, 局_次数)
加入成员 (局_列左边, 局_列左边 [局_次数] + 局_列宽 [局_次数 + 1])
.计次循环尾 ()
局_左边 = 超级列表框1.左边 + 3
局_顶边 = 纵向位置 + 33
.如果 (横向位置 ≤ 局_列左边 [1])
全_当前列 = 0
超级列表框_编辑框.移动 (局_左边, 局_顶边, 局_列宽 [1], )
显示编辑框 ()
.否则
.计次循环首 (取数组成员数 (局_列左边) - 1, 局_次数)
.如果真 (横向位置 > 局_列左边 [局_次数] 且 横向位置 ≤ 局_列左边 [局_次数 + 1])
全_当前列 = 局_次数
超级列表框_编辑框.移动 (局_左边 + 局_列左边 [局_次数], 局_顶边, 局_列宽 [局_次数 + 1], )
显示编辑框 ()
跳出循环 ()
.如果真结束
.计次循环尾 ()
.如果结束 展开
3个回答
展开全部
请将以下代码复制到你的程序中。覆盖掉你自己的超激烈框框被双击事件响应子程序。
我已经将类似功能封装,动态创建各种编辑控件(日期框、编辑框、组合框),灵活性大得多。
.版本 2
.子程序 _超级列表框1_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.局部变量 局_位置信息, LVHITTESTINFO
.局部变量 局_行索引, 整数型
.局部变量 局_列索引, 整数型
.局部变量 局_矩形范围, RECT
局_位置信息.pt.X = 横向位置
局_位置信息.pt.Y = 纵向位置
SendMessage_LVHITTESTINFO (超级列表框1.取窗口句柄 (), #LVM_SUBITEMHITTEST, 0, 局_位置信息)
.如果真 (局_位置信息.iItem = -1 或 局_位置信息.iSubItem = -1)
' 不在表项范围
返回 ()
.如果真结束
局_矩形范围.Top = 局_位置信息.iSubItem
SendMessage_RECT (超级列表框1.取窗口句柄 (), #LVM_GETSUBITEMRECT, 局_位置信息.iItem, 局_矩形范围)
超级列表框_编辑框.置父窗口 (超级列表框1) ' 请将编辑框放在超表里面(作为子窗口)。我将此代码放在这里只是为了提醒你。
超级列表框_编辑框.移动 (局_矩形范围.Left, 局_矩形范围.Top, 局_矩形范围.Right - 局_矩形范围.Left, 局_矩形范围.Bottom - 局_矩形范围.Top)
超级列表框_编辑框.可视 = 真
.DLL命令 SendMessage_LVHITTESTINFO, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型安全”声明形式 由具体的消息决定
.参数 hwnd, 整数型, , 要接收消息的那个窗口的句柄
.参数 wMsg, 整数型, , 消息的标识符
.参数 wParam, 整数型, , 具体取决于消息
.参数 lParam, LVHITTESTINFO, , 具体取决于消息;
.DLL命令 SendMessage_RECT, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型安全”声明形式 由具体的消息决定
.参数 hwnd, 整数型, , 要接收消息的那个窗口的句柄
.参数 wMsg, 整数型, , 消息的标识符
.参数 wParam, 整数型, , 具体取决于消息
.参数 lParam, RECT, , 具体取决于消息;
.版本 2
.数据类型 LVHITTESTINFO
.成员 pt, POINTAPI
.成员 flags, 整数型
.成员 iItem, 整数型
.成员 iSubItem, 整数型
.成员 iGroup, 整数型
.数据类型 POINTAPI
.成员 X, 整数型
.成员 Y, 整数型
.数据类型 RECT
.成员 Left, 整数型
.成员 Top, 整数型
.成员 Right, 整数型
.成员 Bottom, 整数型
.常量 LVM_SUBITEMHITTEST, "4153"
.常量 LVM_GETSUBITEMRECT, "4152"
我已经将类似功能封装,动态创建各种编辑控件(日期框、编辑框、组合框),灵活性大得多。
.版本 2
.子程序 _超级列表框1_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.局部变量 局_位置信息, LVHITTESTINFO
.局部变量 局_行索引, 整数型
.局部变量 局_列索引, 整数型
.局部变量 局_矩形范围, RECT
局_位置信息.pt.X = 横向位置
局_位置信息.pt.Y = 纵向位置
SendMessage_LVHITTESTINFO (超级列表框1.取窗口句柄 (), #LVM_SUBITEMHITTEST, 0, 局_位置信息)
.如果真 (局_位置信息.iItem = -1 或 局_位置信息.iSubItem = -1)
' 不在表项范围
返回 ()
.如果真结束
局_矩形范围.Top = 局_位置信息.iSubItem
SendMessage_RECT (超级列表框1.取窗口句柄 (), #LVM_GETSUBITEMRECT, 局_位置信息.iItem, 局_矩形范围)
超级列表框_编辑框.置父窗口 (超级列表框1) ' 请将编辑框放在超表里面(作为子窗口)。我将此代码放在这里只是为了提醒你。
超级列表框_编辑框.移动 (局_矩形范围.Left, 局_矩形范围.Top, 局_矩形范围.Right - 局_矩形范围.Left, 局_矩形范围.Bottom - 局_矩形范围.Top)
超级列表框_编辑框.可视 = 真
.DLL命令 SendMessage_LVHITTESTINFO, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型安全”声明形式 由具体的消息决定
.参数 hwnd, 整数型, , 要接收消息的那个窗口的句柄
.参数 wMsg, 整数型, , 消息的标识符
.参数 wParam, 整数型, , 具体取决于消息
.参数 lParam, LVHITTESTINFO, , 具体取决于消息;
.DLL命令 SendMessage_RECT, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型安全”声明形式 由具体的消息决定
.参数 hwnd, 整数型, , 要接收消息的那个窗口的句柄
.参数 wMsg, 整数型, , 消息的标识符
.参数 wParam, 整数型, , 具体取决于消息
.参数 lParam, RECT, , 具体取决于消息;
.版本 2
.数据类型 LVHITTESTINFO
.成员 pt, POINTAPI
.成员 flags, 整数型
.成员 iItem, 整数型
.成员 iSubItem, 整数型
.成员 iGroup, 整数型
.数据类型 POINTAPI
.成员 X, 整数型
.成员 Y, 整数型
.数据类型 RECT
.成员 Left, 整数型
.成员 Top, 整数型
.成员 Right, 整数型
.成员 Bottom, 整数型
.常量 LVM_SUBITEMHITTEST, "4153"
.常量 LVM_GETSUBITEMRECT, "4152"
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
超表有可编辑属于吧??
就算超表不满意,也还有高表不是
这种移动组件的方法,不是很好
就算超表不满意,也还有高表不是
这种移动组件的方法,不是很好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
.数据类型 LVHITTESTINFO
.成员 pt, POINTAPI
.成员 flags, 整数型
.成员 iItem, 整数型
.成员 iSubItem, 整数型
.成员 iGroup, 整数型
.数据类型 POINTAPI
.成员 X, 整数型
.成员 Y, 整数型
.数据类型 RECT
.成员 Left, 整数型
.成员 Top, 整数型
.成员 Right, 整数型
.成员 Bottom, 整数型
.常量 LVM_SUBITEMHITTEST, "4153"
.常量 LVM_GETSUBITEMRECT, "4152"
.成员 pt, POINTAPI
.成员 flags, 整数型
.成员 iItem, 整数型
.成员 iSubItem, 整数型
.成员 iGroup, 整数型
.数据类型 POINTAPI
.成员 X, 整数型
.成员 Y, 整数型
.数据类型 RECT
.成员 Left, 整数型
.成员 Top, 整数型
.成员 Right, 整数型
.成员 Bottom, 整数型
.常量 LVM_SUBITEMHITTEST, "4153"
.常量 LVM_GETSUBITEMRECT, "4152"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询