首页 | 新闻中心| 公司介绍| 产品走廊| 渠道与销售| 技术支持| 下载中心| 用户认证
蓝色快车PB俱乐部论坛--PowerBuilder MIS编程回复发言
>>欢迎您,请先登陆 | 注册 | 发贴排行 | 搜索 | 帮助 | 退出
    蓝色快车PB俱乐部论坛
    PowerBuilder MIS编程
       回复发言

  *为必填项目 常规论坛,只允许注册会员发言

用户名   *您没有注册?
密码   *忘记密码?请与管理员webmaster@besoft.com.cn联系
主题标题   不得超过 50 个汉字
当前心情
  • 将放在帖子的前面
  •                           
                              
    内容

    在此论坛中
  • HTML标签: 不可用
  • UBB标签: 允许
  • 帖图标签: 允许
  • Flash标签: 允许
  • 表情字符转换: 允许
  • 上传图片: 允许
  • 最多16KB

  • 粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字
    字体:      字体大小    颜色:
    点击表情图即可在帖子中加入相应的表情
     
    选项

    是否显示您的签名?
    有回复时使用邮件通知您?


     

    --  作者:bkm
    --  发布时间:2003/4/15 10:30:31

    --  [原创]如何出发下拉式数据窗口(子窗口)中的按钮事件?
    如何出发下拉式数据窗口(子窗口)中的按钮事件
    --  作者:bluetlck
    --  发布时间:2003/6/30 8:42:07

    --  
    假设dddw列列名为,the_test,如下:
    1、自定义事件ue_pbmcommand,选择event_id为pbm_command,定义一instance变量
       string is_object
    2、编写脚本DataWindowChild ldwc_Child
    GetChild( "the_test", ldwc_Child ) 
    IF hwndchild = Handle( ldwc_Child ) THEN 
    CHOOSE CASE notificationcode
    CASE 2048 // RowFocusChanged on DDDW
    CASE 1281 // Clicked
      IF is_object = 按钮名称 THEN
        //按钮单击处理
      END IF
    CASE 2314 // Right Mouse Button Clicked
    CASE 2311 // MouseMove
      is_object = ldwc_Child.GetObjectAtPointer()
    END CHOOSE
    END IF
    3、原理:
    在PB6.0(^)中,pbm_command带3个参数,其中hwndchild(long)与notificationcode(unsignedinteger)即DDDW的Handle和Event ID。

    ⒉DDDW 的Event ID 列表:
    Event Event ID
    -------------------------------
    Clicked 1281
    RowFocusChanged 2048
    RightMouseButtonDown 2314
    Left Button Up 2313
    Retreive End 769
    MouseMove 2311
    ... 
    至于问题中的上下滚动,倘为键盘,将导致行焦点改变(此外,还导致一个ID = 2049的事件):
    RowFocusChanged 2048

    倘为鼠标点击滚动条上下按钮:
    PageUp/PageDown 2339
    4、以上脚本在pb7、win2000下调试通过


    ">