键盘的上、下、左、右箭头键操作[己解决]
本帖最后由 chzj589 于 2020-12-25 13:15 编辑请教A版:
回车键是:
Local $id1 = GUICtrlCreateDummy()
GUICtrlSetOnEvent(-1, '__UdpData')
Local $aAccelKeys = [['{Enter}', $id1]];回车键
GUISetAccelerators($aAccelKeys)
那上箭头键如何写?
Local $id2 = GUICtrlCreateDummy()
GUICtrlSetOnEvent(-1, '__UdpData1')
Local $aAccelKeys1 = [['{UP}', $id2]];上箭头键
GUISetAccelerators($aAccelKeys1)
Func __UdpData1()
??????
EndFunc ;==>###################################################
Local $id1 = GUICtrlCreateDummy()
GUICtrlSetOnEvent(-1, '__UdpData')
Local $aAccelKeys = [['{Enter}', $id1]];回车键
GUISetAccelerators($aAccelKeys)
Local $id2 = GUICtrlCreateDummy()
GUICtrlSetOnEvent(-1, '_UP')
Local $id3 = GUICtrlCreateDummy()
GUICtrlSetOnEvent(-1, '_DOWN')
Local $id4 = GUICtrlCreateDummy()
GUICtrlSetOnEvent(-1, '_LEFT')
Local $id5 = GUICtrlCreateDummy()
GUICtrlSetOnEvent(-1, '_RIGHT')
Local $aAccelKeys = [['{Enter}', $id1], ['{UP}', $id2], ['{DOWN}', $id3], ['{LEFT}', $id4], ['{RIGHT}', $id5]]
GUISetAccelerators($aAccelKeys)
Func __UdpData()
MsgBox(0, "提示", "回车键", 1)
EndFunc ;==>__UdpData
Func _RIGHT()
MsgBox(0, "提示", "右箭头键", 1)
EndFunc ;==>_RIGHT
Func _LEFT()
MsgBox(0, "提示", "左箭头键", 1)
EndFunc ;==>_LEFT
Func _DOWN()
MsgBox(0, "提示", "下箭头键", 1)
EndFunc ;==>_DOWN
Func _UP()
MsgBox(0, "提示", "上箭头键", 1)
EndFunc ;==>_UP终于知道是怎么回事了,其实并不是在列表上编辑。。。。。
原地編輯键盘的上、下箭头键操作RAR
Local $id1 = GUICtrlCreateDummy()
GUICtrlSetOnEvent(-1, '__UdpData')
Local $id2 = GUICtrlCreateDummy()
GUICtrlSetOnEvent(-1, '_UP')
Local $aAccelKeys = [['{Enter}', $id1], ['{UP}', $id2]]
GUISetAccelerators($aAccelKeys)
Func _UP()
EndFunc afan 发表于 2020-12-1 15:59
谢谢!
我想在ListView列表用上、下、左、右键控制子项目移动
在
Func _UP()
如何写入列表子项目移动代码???
EndFunc
不举例了,简单说一下
_GUICtrlListView_SetItemText 分别设置互换位置的两项文本
如果有图像列表也需 _GUIImageList_GetIcon、_GUIImageList_ReplaceIcon、_GUIImageList_AddIcon 之类的互换 afan 发表于 2020-12-1 17:21
不举例了,简单说一下
_GUICtrlListView_SetItemText 分别设置互换位置的两项文本
如果有图像列表也需...
我是想在列表上操作导航键。
鼠标点击列表子项目后形成编辑框,然后操作导航键,使编辑框移动。
做到原地编辑的时候 按下往上 按鍵 就会使编辑框移动上一个的编辑框 chzj589 发表于 2020-12-2 08:23
我是想在列表上操作导航键。
鼠标点击列表子项目后形成编辑框,然后操作导航键,使编辑框移动。
做到原 ...
那就移动编辑框不就完事了 afan 发表于 2020-12-2 10:39
那就移动编辑框不就完事了
想不出怎么移?按一下上箭头键,往上移动一行,如何写?请赐教! chzj589 发表于 2020-12-2 11:30
想不出怎么移?按一下上箭头键,往上移动一行,如何写?请赐教!
何时触发显示编辑框及其数据?将这个触发事件写到快捷键就行了。
另外提醒:
在有 ListView 之类的控件时,上下箭头已是系统默认的移动高亮选择,如果将这些注册为快捷键,则会取消系统的默认动作,在很多时候都会不方便,因为切换选择项目只能靠鼠标点击了。同理,在编辑框中,方向键默认是移动光标便于编辑,注册为快捷键也将失去该功能。
正确的做法是注册的方向键快捷键加上Ctrl或Shift之类的辅助键。
afan 发表于 2020-12-2 12:24
何时触发显示编辑框及其数据?将这个触发事件写到快捷键就行了。
另外提醒:
谢谢!
有人曾向我问这个问题,我也认为这个挺麻烦的
chzj589 发表于 2020-12-2 12:34
谢谢!
有人曾向我问这个问题,我也认为这个挺麻烦的
这个是可以实现的。
单行编辑框上下箭头没什么意义,因此可以作为快捷键,看你怎么设计了。
比如,在编辑框显示时注册快捷键,编辑框隐藏时注销快捷键。 afan 发表于 2020-12-2 12:47
这个是可以实现的。
单行编辑框上下箭头没什么意义,因此可以作为快捷键,看你怎么设计了。
比如,在编 ...
是可以实现。己经知道怎么写了。但还得花点时间。谢谢 chzj589 发表于 2020-12-3 09:57
是可以实现。己经知道怎么写了。但还得花点时间。谢谢
是的,也是很简单的
afan 发表于 2020-12-3 14:11
是的,也是很简单的
基本搞定,列表列宽不一样就有点问题。像下图的列宽不一样,就不好设置座标。我的写法跟你可能不一样
chzj589 发表于 2020-12-3 15:18
基本搞定,列表列宽不一样就有点问题。像下图的列宽不一样,就不好设置座标。我的写法跟你可能不一样
...
列宽可直接如之前的方式获取,更新到编辑框坐标就行了。
另建议:
1,左右键最好不好注册快捷键,前面说了,那是方便移动光标的。比如你要在原有内容上编辑就只能鼠标点击定位了,你试着编辑下就知道了。
2,一般高亮选择项要跟随编辑项切换,而不是始终保持不变,如现在不管你在编辑第2还是第3项,第1项始终保持高亮…… afan 发表于 2020-12-4 11:53
列宽可直接如之前的方式获取,更新到编辑框坐标就行了。
另建议:
1,左右键最好不好注册快捷键,前面 ...
谢谢!我的方法可能不对。现原地编辑不能修改了。
再折腾折腾吧
页:
[1]
2