用方向鍵轉移焦點及回車鍵觸發
視窗的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 自定義...