PB 用方向鍵轉移焦點及回車鍵觸發

2021-06-09 19:38:11 字數 1724 閱讀 8939

用方向鍵轉移焦點及回車鍵觸發 

視窗的key事件:

graphicobject cb_control //定義環境變數

choose case key

case keyrightarrow! //按游標右鍵右移焦點

keybd_event(9,0,0,0)

keybd_event(9,0,2,0)

case keydownarrow! //按游標下鍵右移焦點

keybd_event(9,0,0,0)

keybd_event(9,0,2,0)

case keyleftarrow! //按游標左鍵左移焦點

keybd_event(16,0,0,0)

keybd_event(9,0,0,0)

keybd_event(16,0,2,0)

keybd_event(9,0,2,0)

case keyuparrow! //按游標上鍵左移焦點

keybd_event(16,0,0,0)

keybd_event(9,0,0,0)

keybd_event(16,0,2,0)

keybd_event(9,0,2,0)

case keyenter! //回車鍵觸發焦點處控制項

cb_control = getfocus()

if typeof(cb_control)=commandbutton! then

triggerevent(cb_control,clicked!)

end if

end choose

問:請問如何實現利用左右鍵及回車鍵進行列的焦點轉移? 

答:這要用到windows中的api函式keybd_event() 

①定義api:

subroutine keybd_event(uint bvk,uint bscan,long dwflags,long dwextrainfo ) library "user32.dll"

②自定義一使用者事件(ue_keydown  id:pbm_dwnkey):

integer vk_tab = 09

integer vk_shift = 16

if key = keyleftarrow! then

keybd_event(vk_shift,0,0,0) //按下shift

keybd_event(vk_tab,0,0,0) //按下tab 

keybd_event(vk_tab,0,2,0) //釋放tab 

keybd_event(vk_shift,0,2,0) //釋放shift 

return 1

end if

if key = keyrightarrow! or key=keyenter! then

keybd_event(vk_tab,0,0,0) //按下tab 

keybd_event(vk_tab,0,2,0) //釋放tab 

return 1

end if 

如若只是想利用enter鍵來實現tab鍵的功能可以用以下**:

if key=keyenter! then

send(handle(this),256,9,long(0,0))   //傳送tab鍵

return 1  //取消原enter鍵的動作

end if

安卓 使用方向鍵切換焦點

使用方向鍵在不同的控制項中切換焦點,開始使用textview做為控制項時發現不行,改為button控制項後,正常使用。這裡主要是布局檔案,activity使用建立預設 即可 activity main.xml檔案 使用android nextfocusup等方法來選擇下乙個控制項,另外建乙個選擇器,...

C 中呼叫方向鍵和回車

確保您已經引用了system.windows.forms dll檔案.system.windows.forms.sendkeys.send a 發射乙個a訊號。ctrl shift alt 如,您想傳送乙個ctrl a 全選 到某個程式。則system.windows.forms.sendkeys....

如何利用左右鍵及回車鍵來轉移列的焦點

如何利用左右鍵及回車鍵來轉移列的焦點 這要用到windows中的api函式keybd event 定義api subroutine keybd event uint bvk,uint bscan,long dwflags,long dwextrainfo library user32.dll 自定義...