我的同事在Linux下创建了一个Qt小部件,他将其包装到ActiveX控件中,以便可以在Win应用程序UI中使用它。我在Visual Studio工具箱中注册并添加了ActiveX控件,并添加到了我的获胜表单中。
一切都很好,但是当启动我的表单并单击TAB时,它将焦点传递给ActiveX控件,然后传递给获胜表单上的其他控件,但是TAB不会进入ActiveX控件来在ActiveX控件本身包含其他一些控件。
如何在ActiveX控件中使制表符停止,以便我也可以在ActiveX控件中在控件之间制表符?有什么已知的方法吗?
答案 0 :(得分:0)
如果您不希望通过按TAB来影响表单上的按钮或某些元素,只需将# ~/.bashrc
# don't waste time if $TMUX environemnt variable is set
[ -z $TMUX ] || return
# don't start a tmux session if current shell is not connected to a terminal
pts=$(tty) || return
# find out processes connected to master pseudoterminal
for ptm in $(fuser /dev/ptmx 2>/dev/null)
do
# ignore process if it's not a tmux server
grep -q tmux /proc/$ptm/comm || continue
# number of bytes already read by tmux server
rchar_old=$(awk '/rchar/ {print $2}' /proc/$ptm/io)
# write out 1000 bytes to current slave pseudoterminal terminal
dd bs=1 count=1000 if=/dev/zero of=$pts &>/dev/null
# read number of bytes again and find difference
diff=$(( $(awk '/rchar/ {print $2}' /proc/$ptm/io) - rchar_old ))
# if it equals 1000, current terminal is connected to tmux server
# however diff comes greater than 1000 most of the times
[ $diff -ge 1000 ] && return
done
# start or attach to a tmux session
echo 'Press any key to interrupt tmux session.'
read -st1 key && return
# connect to a detached session if exists for current user
session=($(tmux list-sessions 2>/dev/null | sed -n '/(attached)/!s/:.*r//p'))
[ -z $session ] || exec tmux a -t ${session[0]}
# start a new session after all
exec tmux
添加到该特定表单的设计器中即可。通过按TAB可以禁用所有操作(在本例中为“ MyButton”)。
我希望这可以解决您的问题。