如何使批处理窗口自动获取输入焦点

如何使批处理窗口自动获取输入焦点,第1张

你的要求需要调用到第三方命令行工具:CMDOWexe;

保持置顶具体语法是:

cmdow [窗体名称] /top

取消置顶:

cmdow [窗体名称] /not

当然,还需要用到配套的激活窗体参数:

cmdow [窗体名称] /ACT 激活指定的窗口

cmdow [窗体名称] /INA 取消指定窗口的激活状态

在你调用其他程序后,直接来一句激活的排除本窗体的命令不就达到你的要求了吗?

至于这个工具,你可以到批处理之家论坛第三方命令行工具板块下载,如果不会下载,可以留下邮箱,我发给你。

基于Android9x

Window和Session创建成功后,窗口的下一步流程为获取焦点

我们看下焦点获取过程,跟输入法相关的流程

两个Activity切换时,对应的状态变化过程为:

以下是Activity窗口初次获取焦点的流程

当两个activity 切换时,失去焦点的窗口调用过程如下:

对应的,获取焦点的额窗口的调用过程如下:

当B窗口的状态切换到RESUMED时,当窗口的focus可能变化时,会调用updateFocusedWindowLocked

在该方法中,判断,如果还没有执行startInputInner方法,则执行startInputInner方法,否则,直接执行startInputOrWindowGainedFocus方法

主要流程:

1:设置controlFlags的flag为CONTROL_WINDOW_FIRST

2:检查是否已经执行过startInputInner,没有的话执行startInputInner-->startInputOrWindowGainedFocus;否则,直接执行startInputOrWindowGainedFocus

两条路径,携带的startInputReason参数不一样

主要流程:

1:检查要启动和退出的ServedView是否为同一个,如果为同一个,则表示已经执行过startInputInner,则返回false,表示不再执行startInputInner

2:如果获取焦点的是EditorText,会创建跟IMS通信的mServedInputConnectionWrapper对象

主要流程:

1:创建EditorInfo对象tba,这个参数对TextView布局才有意义,它的初始化是在mServedView的onCreateInputConnection完成实例化的

2:根据EditorInfo创建一个InputConnection对象,输入法应用通过该对象,完成输入内容到输入框的传递;ACTIVITY获取焦点场景,该对象

为null,因为没有要输入的对象

startInputOrWindowGainedFocus携带的参数

startInputReason = 1

表示,该流程是窗口获取焦点过程

mClient

应用层创建的IInputMethodClient对象,为服务层提供应用层的各个回调方法

该方法跟应用进程首次创建时Session时,传递到IMMS的对象是同一个对象

windowGainingFocus:

应用层的ViewRootImpl$W对象

controlFlags |= CONTROL_START_INITIAL;

表示window窗口刚开始获取焦点

softInputMode = SOFT_INPUT_ADJUST_RESIZE , 允许调整输入法窗口,避免被其他窗口遮挡

tba , EditorInfo对象

servedContext

null

missingMethodFlags

ic等于null的情况下,为0

当应用层传递的W对象windowToken不为null的时候,则创建windowGainedFocus对象,返回给app

结果返回后,会对IMM的对象进行赋值

如此,进入一个窗口,获取窗口焦点过程,窗口与输入法相关的流程,就结束了。

下一篇:输入法在输入框d出流程

Android输入法(3),d出流程

分组框,菜单栏。

对话框:是windows xp的一种特殊窗口。不能改变窗口大小,没有最大化、最小化按钮。对话框中的元素主要包括命令按钮、选项卡、单选按钮、复选框、文本框、下拉列表框和数值框等,其他的都算是没有包括的。

在图形用户界面中,对话框是一种特殊的视窗, 用来在用户界面中向用户显示信息,或者在需要的时候获得用户的输入响应。之所以称之为“对话框”是因为它们使计算机和用户之间构成了一个对话——或者是通知用户一些信息,或者是请求用户的输入,或者两者皆有。

不同的用户交互使用不同的对话框。

扩展资料:

对话框与一般窗口的区别

从 *** 作系统实现角度,对话框是特殊的窗口(window)。特殊之处不在于对话框会包含一些控件(如按钮、编辑框、下拉列表框等)。因为一般的窗口也可以包含这些控件。特殊性在于,对话框的这些控件是用来与用户交互的,所以有一些约定的使用规则:

1、Tab Order:按下Tab键或上、下、左、右方向键,各个控件依次获得输入焦点

2、如果一个按钮获得输入焦点,这时按下空格键或者回车键,相当于鼠标左键点击了该按钮对话框的默认窗口过程在处理有关的按键消息时,会自动解析处理上述使用规则。而一般窗口的窗口过程,显然没有这些缺省的案件消息处理。

Windows *** 作系统提供了一个API函数IsDialogMessage,以支持对话框上述使用规则的自动实现。

使用文本框,用户可以展示、输入或编辑文字和数字。

思考以下问题:

虽然文本框具有非常灵活这一优点,但它们的缺点是具有最小值的约束。可编辑文本框的限制有:

除了长度限制和可选的旋转控制外,文本框没有任何视觉线索来提示其有效值或格式。这意味着必须要依靠标签将这些信息传递给用户。如果用户输入的文本无效,则必须使用错误提示告知用户错误原因。

一般来说, 应该尽可能多地使用限制性控件。 文本框这类的非限制性控件是最后的选择。即便如此,在考虑限制性时,也要考虑全球不同地区用户的需求。例如,适用于美国邮政编码的限制性控件并不能全球化使用,而非限制性文本框则可以适用于任何邮政编码格式。

文本框是一个有多种使用方式的灵活控件:

数据输入框 :一个用来输入或编辑短字符串的单行、非限制性文本框。

带辅助控件的输入框 :用于输入或编辑字符串的单行非限制性文本框,附带一个帮助用户选择有效值的命令按钮。

文本输入框 :用来编辑或输入长字符串的非限制性多行文本框。

数字输入框 :一种只能键入或编辑数字的单行文本框,可以附带一对方便鼠标 *** 作键入的旋转控件。

数据输出 :不带边框的单行只读文本框,用来展示短的字符串。与静态文本不同,当数据比控件宽时,使用文本框显示的数据可以滚动、选中和复制。

文字输出 :用来展示大段只读文字的多行文本框。

因为文本框通常不会限制为仅接受有效值,所以需要对用户的输入进行确认,并且对可能出现的错误进行处理。在以下几种情形下验证输入问题:

更多详细规则,请参见 错误信息 和 气球状提示 相关章节。

输入提示是作为默认值放置在文本框中的一段标签文字或者简短提示。和其他静态文本不同,输入提示会在用户键入内容或者获取输入焦点的瞬间消失。

使用输入提示的场景有:

1屏幕空间很有限,使用标签或说明文字不合适,如在工具栏上。

2提示符主要用于简洁地表明文本框的用途。它不能是用户在使用文本框时需要查看的关键信息。

不要使用输入提示指示用户输入特定文字或点击按钮。例如,输入提示不能是“请输入文件名”或者“点击发送”。

使用输入提示时需要注意:

文本框的长度是预期输入文本长度的视觉线索。当设计文本框大小时:

当提到文本框时:

示例: 在 密码 框中键入密码,然后单击 确定

窗口获取焦点是易语言核心支持库的窗口命令,该命令将焦点移动到窗口组件。如果对窗口使用本方法,窗口将自动把焦点转移到 第一个有能力保留焦点的窗口组件上去。 *** 作系统需求: Windows 窗口获取焦点调用格式:对象.获取焦点 ,窗口获取焦点命令解释: 窗口获取焦点:将焦点移动到窗口组件。如果对窗口使用本方法,窗口将自动把焦点转移到第一个有能力保留焦点的窗口组件上去。

获得焦点的方法就是对你的窗口setfocus, 但作为windows的应用程序,焦点的获得是需要遵守一些规则的,否则,你就会影响其他程序的正常运行。你的问题是可以使用顶层窗(TOP属性创建),并在读到数据时将主动更新你的显示区来完成显示的更新。

以上就是关于如何使批处理窗口自动获取输入焦点全部的内容,包括:如何使批处理窗口自动获取输入焦点、Android 输入法窗口焦点获取流程(2) ,输入法窗口和应用窗口绑定、在windows系统中不属于对话框的组成元素是等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9302709.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存