PowerBuilder编程技巧四则[1]
你将获得所传的参数key(按键代码) keyflags(复合键代码) 当所按的 是Enter时 你就把焦点切换到下一元件或下一栏位
选择要处理的datawindowcontrol 然后选择menu的declare的userevents 此时会显示一个使用者事件box 于eventname设定使用者事件名称例如:ue_checkkey 然后在eventID填入 pbm_dwnkey(或从Pasteevent选择) 然后按OK 你可在datawindowcontrols的script中selectevent里发现多了一个使用者 事件 ue_checkkey 并且此事件会传递 个参数keycodekey unsignedlongkeyflags 在script中可以如下填写 choose case key case KeyTab!//响应按Tab键 //writeyourcode case KeyEnter!//响应按Enter键 //writeyourcode case KeyEscape!//响应按Esc键 //writeyourcode end choose 注意 ( )keycode是Enumeratedatatype 可在onlinehelp或browers中获得其属性 ( )你可以设定returnvalue: 或 如果是在DataWindow上 可参考以下的方式: 在DataWindow宣告一userevent: ( )如ue_enter 将EventID参考至pbm_dwnprocessenter ( )在ue_enter加入以下的程式码 send(handle(this) long( )) return 二 在MDI视窗内加入其他Controls 并使其在sheets视窗中正确显示 把MDIWindow的ClientArea打开(Resize) ClientArea可视为一种Control PB将 它的名字内定为MDI_ //Example//m m r r areallinteger //movetheclientareatobeginat(m m ) mdi_ Move(WorkspaceX()+m WorkspaceY()+m ) //Resizetheclientareabasedonthevalue(r r )yougived mdi_ Resize(r r ) 需要注意的是ClientArea打开后 区域内的Control会被盖掉
lishixinzhi/Article/program/PB/201311/11118
2023-06-12 广告