hur.cn - 华软网

 热门搜索

怎么阻止用户键盘输入某些符号,比如 ' ; 等等

  作者:未知    来源:网络    更新时间:2019/1/5
由于' ;这些符号 可能会跟PB中的语法冲突,比如 数据窗口过滤表达式等等
怎么阻止用户键盘输入这些符号~~
------华软网友回答------
看到过屏障鼠标滚轮的代码
你修改下值,不知道行不行

other 事件中
if message.number = 522 then return

 522 代表 鼠标滚轮


------华软网友回复------
在onkeydown事件中获得key的编码举行措置惩罚。
------华软网友回复------
other事件最好不要写所有代码,否则debug的时候很烦的,而且效率也大打折扣。

能够新建一自定义事件
event id 为 pbm_KeyDown
看下帮助

if keycode = KeyA! then return
就好了.
------华软网友回复------
猎取用户的按键,然后过滤.
------华软网友回复------
有没有谁能给出个 详细点的 实现方法..
自己写了很多方法 实现不了   另有就是能不能 做输入替换~~~
三楼的 if keycode = KeyA! then return
 keycode怎么定义的?


------华软网友回复------
自己看帮助资料,关于 KeyDown 事件的。
再连系我说的.
------华软网友回复------
看了很多 ,照旧搞陌生  
自定义事件  无论用pbm_KeyDown照旧pbm_dwnkey都实现不了  拦截用户的输入功能..
有没有谁能给个详细的例子
------华软网友回复------
直接用POS不行吗?如
IF POS(data,"'") >0 then return
------华软网友回复------
Description 

Occurs when the user presses a key.

Event ID 

Event ID Objects
pbm_lvnkeydown ListView
pbm_renkey RichTextEdit
pbm_tcnkeydown Tab
pbm_tvnkeydown TreeView
pbm_keydown Window
Arguments 

Argument Description
key KeyCode by value. A value of the KeyCode enumerated datatype indicating the key that was pressed (for example, KeyA! or KeyF1!).
keyflags UnsignedLong by value (the modifier keys that were pressed with the key). Values are:1 Shift key2 Ctrl key3 Shift and Ctrl keys
Return value 

Long. Return code choices (specify in a RETURN statement):

0  Continue processing
1  Do not process the key (RichTextEdit controls only)

Usage 

Some PowerBuilder controls capture keystrokes so that the window is prevented from getting a Key event. These include ListView, TreeView, Tab, RichTextEdit, and the DataWindow edit control. When these controls have focus you can respond to keystrokes by writing a script for an event for the control. If there is no predefined event for keystrokes, you can define a user event and associate it with a pbm code.
For a RichTextEdit control, pressing a key can perform document formatting. For example, Ctrl+b applies bold formatting to the selection. If you specify a return value of 1, the document formatting associated with the key will not be performed.

If the user presses a modifier key and holds it down while pressing another key, the Key event occurs twice: once when the modifier key is pressed and again when the second key is pressed. If the user releases the modifier key before pressing the second key, the value of keyflags will change in the second occurrence.
When the user releases a key, the Key event does not occur. Therefore, if the user releases a modifier key, you do not know the current state of the modifier keys until another key is pressed.

---------------------------------------

好好看看,return 1      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。