问题标签 [ime]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
11497 浏览

windows - 你如何使用输入法?

我想做一个处理用户输入的控件,所以我希望能够处理不同的键盘,其中一种方法是使用 IME。

如果你不处理它,当你激活 IME 时会出现一个浮动窗口(例如激活日语书写)。我找到了需要处理的消息,但我不知道如何将我捕获的密钥发送到 IME 以及何时获得有效的转换字符。

0 投票
1 回答
2950 浏览

c# - C# - 在同一键盘布局中的两个不同 IME 之间自动切换

我做了一个在数据库中输入中文拼音和汉字的应用程序。这意味着操作员必须使用 ctrl+shift 在“Pinyinput”和“sogou input”之间不断切换。有一种方法可以在选择文本框时自动更改 IME?我的意思是,不切换键盘布局,只是键盘布局相同的输入法

0 投票
2 回答
824 浏览

c++ - 输入法编辑器窗口为 WM_QUERYENDSESSION 返回 FALSE - 为什么?

我们有一个奇怪且非常罕见的问题,即当我们的产品运行时人们无法注销 Windows 服务器。该系统是多应用程序,所有MFC/C++。这些应用程序是从管理服务运行的,因此它们可以在注销后继续存在。多年来,它在世界各地的大量安装中运行良好。

我编写了一个测试应用程序来枚举所有窗口,向它们发送 WM_QUERYENDSESSION 消息,并在它返回 FALSE 时停止。该测试是在德国的这些罕见的问题重现的案例之一上运行的。它似乎总是一个不可见的 IME(输入法编辑器)窗口,它是有罪的一方,但 IME 窗口始终属于我们的 MFC 应用程序之一。我想我可以通过调用 ImmDisableIME (-1) 来解决单个应用程序的问题。但我要找的是...

(a) 如果有人有一种配置方法来解决这个问题,那么我们就不必修改所有国家/地区的所有应用程序的所有版本——这是一项艰巨的工作。

(b) 首先为什么会发生这种情况。为什么我们没有创建的 IME 窗口会决定用户无法注销?

(c) 有没有其他人见过这个?苦难喜欢陪伴,你知道的。

如前所述,目前它正在德国的一台机器上发生。当然,我们不能在任何版本的 Windows 上进行复制。呸。

0 投票
1 回答
398 浏览

cjk - 如何从 Microsoft IME 程序中检索击键/字符映射表?

我想知道如何从 ms IME 中检索字符映射表?

当用户键入“高兴”时,ms IME 会以中文显示高兴。

我想要实现的是相反的;当用户键入高兴时,程序会将其转换为“高兴”。为此,我需要一个数据库/映射表。而且我猜 MS IME 已经包含了这个表,这只是我如何检索它的问题。

你知道怎么做吗?

0 投票
1 回答
521 浏览

windows - 在 Delphi 中使用 IME 名称

Delphi TScreen 对象有一个接受 IME 名称的集合。并且 TControl 提供了 SetIMEName 方法。

这些 IME 名称是不变的吗?它们与 ISO 语言名称相同吗?

平台:Windows XP。

谢谢,帕万。

0 投票
9 回答
228567 浏览

android - 如何处理 ImeOptions 的完成按钮点击?

我有一个EditText设置以下属性的位置,以便在用户单击 EditText 时可以在键盘上显示完成按钮。

当用户单击屏幕键盘上的完成按钮(完成输入)时,我想更改RadioButton状态。

当从屏幕键盘击中完成按钮时,如何跟踪它?

显示软件键盘右下角“完成”按钮的屏幕截图

0 投票
2 回答
2830 浏览

windows - Windows:语言栏不会显示我的某些窗口的输入法选项

我正在尝试使我们的应用程序正确处理国际输入。由于我们自己处理文本输入和字体渲染,我编写了自定义代码来处理相应的 WM_IME_* 消息。

现在,这一切都很好,除了一个例外:当我们的应用程序主窗口打开时,语言栏不会让我选择任何选项。我可以将输入语言设置为日语或韩语,但没有显示用于选择输入法(如韩文或平假名)的菜单。然后,当我打开另一个窗口(任何其他窗口,无论是我们的应用程序窗口之一,还是标准的“保存文件”对话框)时,选项就会出现。一旦到了那里,即使我关闭另一个窗口,它们也会留下来。IME 输入将在主窗口中按预期工作。但是,正如所解释的,只有我先打开另一个窗口。

现在,windows 是如何决定是否显示输入法选项的呢?由于某种原因,windows 似乎无法将我们的主窗口识别为支持 Unicode。我该如何解决?

在此先感谢您的任何建议,

乔纳斯

编辑:我注意到的另一件奇怪的事情是,对于我的主窗口(它不会让我更改输入法),当我更改输入语言时,我会收到一条 WM_INPUTLANGUAGECHANGEREQUEST 消息 - 我将其传递给 DefaultWindowProcW。对于让我更改输入法的窗口,我没有收到请求,我只收到一条 WM_INPUTLANGUAGECHANGE 消息(其他窗口我没有收到)。

0 投票
1 回答
1189 浏览

mode - 关闭 ime 模式 onBlur

我有一个 imeMode 设置为活动的输入字段。因此,当我输入此字段时,它会激活我的 imeMode,以便我可以输入日语。但是当我离开这个文本字段时,我的 ime 仍然处于活动状态。离开现场后如何停用 ime。我也许可以在 onblur 上放点东西,但不知道在那里做什么。我愚蠢地尝试将此文本字段的 ime 模式设置为非活动 onblur 但当然只有当我再次输入此文本字段时它才会生效。我希望在不聚焦时我可以停用 ime 允许在其他字段上输入罗马字,而无需将 ime 模式一一设置为非活动状态。

0 投票
1 回答
5334 浏览

c# - C# 和 IME - 获取当前输入文本

我以日文 IME 为例,但在使用 IME 进行输入的其他语言中可能是相同的。

当用户使用 IME 在文本框中键入文本时,会触发 KeyDown 和 KeyUp 事件。但是,在用户使用 Enter 键验证 IME 中的输入之前,TextBox.Text 属性不会返回键入的文本。

因此,例如,如果用户键入 5 次 あ 然后验证,我将获得 5 个 keydown/keyup 事件,每次 TextBox.Text 返回“”(空字符串),最后我将获得一个 keydown/keyup 用于输入键,TextBox.Text 会直接变成“あああああ”。

在用户最终验证之前,如何在用户输入时获取用户输入?

(我知道如何在网页上的 <input> 字段的 javascript 中执行此操作,因此在 C# 中必须是可能的!)

0 投票
1 回答
1059 浏览

c++ - 无法通过 C++ (ImmGetContext) 获取 IME 输入上下文

您好我正在尝试使用以下伪代码禁用记事本上的 IME:

上面的代码总是给我空上下文。GetLastError() 给出 0;

有人可以告诉我如何获取 InputContext