炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 132|回复: 3

[炫源码] 双击列表修改单元格内容

[复制链接]
  • TA的每日心情
    萌哒
    2024-3-14 10:20
  • 发表于 2024-3-3 23:47:17 | 显示全部楼层 |阅读模式
    本帖最后由 dongou 于 2024-3-3 23:51 编辑

            编辑框类 临时编辑框
            整型 行, 列
            函数 UI事件 整型 鼠标左键双击_列表1(元素句柄 来源句柄, 整型 nFlags, POINT *pPt, 逻辑型 *是否拦截)
                    //双击修改单元格               
                    _列表1.测试点击项(pPt, &行, &列)        //获取被双击单元格的行号和列号

                    如果 (列 == 0)        //第一列是索引,不让修改
                            返回 0
                    形状文本类 形状文本
                    布局类 布局元素
                    形状文本._句柄 = _列表1.取模板对象(行, 列, 1)        //pPt是鼠标的坐标,这里要想法取到指定单元格的模板的坐标
                    布局元素._句柄 = 形状文本.取父元素()

                    矩形结构 矩
                    布局元素.取坐标(&矩)
                   
                    临时编辑框.创建(矩.左边, 矩.上边, 矩.右边 - 矩.左边, 矩.下边 - 矩.上边, 来源句柄)        //在被双击的单元格上创建一个大小一样的临时编辑框
                    临时编辑框.置文本(_列表1.取项文本(行, 列))
                    //临时编辑框.置用户数据(行)        //教程中这里把行索引保存在临时编辑框属性中,这样就少一个成员变量,事件中使用行号时就用 临时编辑框.取用户数据() 取出
                    置焦点(临时编辑框._句柄)

                    元素_注册事件CPP1(临时编辑框._句柄, XE_KILLFOCUS, &主窗口类::事件_XE_KILLFOCUS)        //失去焦点事件
                    元素_注册事件CPP1(临时编辑框._句柄, XE_KEYDOWN, &主窗口类::事件_XE_KEYDOWN)        //按键按下事件
                    返回 0
            函数 整型 事件_XE_KILLFOCUS(元素句柄 来源句柄, 逻辑型 *是否拦截)
                    _列表1.置项文本(行, 列, 临时编辑框.取文本_临时())
                    _列表1.刷新指定项(行)
                    临时编辑框.销毁()        //编辑完了就销毁临时编辑框
                    返回 0
            函数 整型 事件_XE_KEYDOWN(元素句柄 来源句柄, 整型 wParam,整型 lParam,逻辑型 *是否拦截)
                    如果 (wParam == 回车键)
                            _列表1.置项文本(行, 列, 临时编辑框.取文本_临时())
                            _列表1.刷新指定项(行)
                            临时编辑框.销毁()        //编辑完了就销毁临时编辑框
                    返回 0

    差点把我学废了,请新手笑纳


    测试_双击列表修改单元格内容.zip (62.19 KB, 下载次数: 15)

  • TA的每日心情
    萌哒
    2024-3-14 10:20
  •  楼主| 发表于 2024-3-4 15:44:14 | 显示全部楼层
    发现有问题,滚动条一下位置就不对,滚几下就取不到行列,问题出在那里了,有个_列表1.测试点击项扩展,能取到行列,但是取到的坐标还是不对
  • TA的每日心情
    难过
    2021-3-17 08:38
  • 发表于 2024-3-6 16:39:03 | 显示全部楼层
    dongou 发表于 2024-3-4 15:44
    发现有问题,滚动条一下位置就不对,滚几下就取不到行列,问题出在那里了,有个_列表1.测试点击项扩展,能 ...

    用取逻辑坐标
  • TA的每日心情
    萌哒
    2024-3-14 10:20
  •  楼主| 发表于 2024-3-6 16:52:54 | 显示全部楼层

    非常感谢,按你的建议修改了这两处就好了
    _列表1.测试点击项扩展(pPt, &行, &列)
    布局元素.取逻辑坐标(&矩)
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    QQ|Archiver|手机版|小黑屋|炫彩界面库 ( 鄂ICP备2023014763号-1 )

    GMT+8, 2024-4-27 18:56 , Processed in 0.073356 second(s), 21 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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