2014-07-19 28 views
1

在Windows 7中,有下
区域和语言选项 - >键盘和语言 - >更改键盘 - >常规选项卡:
“选择安装的一个输入语言作为所有输入字段的默认值“。Windows 7的默认输入的语言和Delphi 2010

在我的系统中默认是英文。
我还在Delphi 2010中构建了一个应用程序,用户使用英语和希腊语输入数据。当我在表单中导航时,输入语言总是变为默认值,这引发了以下问题。

我有一个网格与客户和希腊语言搜索。
当我双击并打开一个具有特定客户信息的模式窗体进行编辑时,输入语言将更改为英语,这是我的默认语言。
然后,我必须将语言更改为希腊语,以便我可以编辑客户的信息。
当我关闭模态窗体并返回到Grid时,语言再次设置为英语。
我可以设置希腊语的窗口默认语言,但如果客户使用英语,我会遇到同样的问题。

我不知道如何处理这个在德尔福。另一个想法是禁用Windows选项来自动将语言更改为默认值,但我不知道如何做到这一点。

你能帮我解决吗?

+0

把一个断点放在'ActivateKeyboardLayout(...'在'dbustrid.pas'中的'TCustomDBGrid.WMKillFocus'中。breakpoing hit? –

+1

无论如何,检查它是否是相同的问题:[Keyboard layout swtching when退出dbgrid控件](http://qc.embarcadero.com/wc/qcmain.aspx?d=79485)。 –

回答

3

你所描述的与Delphi无关。 Delphi 2010使用Unicode控件,所以语言不是问题。这是能够使用非希腊语键盘键入希腊字符的问题。或者更一般地说,输入标准键盘本身不支持的字符。有些语言只需要不同的默认输入方法。例如使用输入法编辑器(IME)临时更改键盘按键的映射方式,以便输入不同的输入(可以在标准键盘上输入日语或中文)。这是Delphi本身之外的Windows本身的一个特性。这只是Windows本身的工作原理,在您的应用中没有任何东西可以解决或处理它。它有时可能很烦人,但这是Windows支持国际化的一部分。