在DBGrid使用五笔输入时,如果用鼠标点击其他Edit,会变成英文输入法,再点回DBGrid输入法还是英文,如何让它保持为五笔输入?(现所有控

kingbenz 2003-08-29 01:44:46
在DBGrid使用五笔输入时,如果用鼠标点击其他Edit,会变成英文输入法,再点回DBGrid输入法还是英文,如何让它保持为五笔输入?(现所有控件的ImeMode都为imDontCare,ImeName为空)
...全文
33 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingbenz 2003-09-01
  • 打赏
  • 举报
回复
流星,改了也不行,焦点一离开DBGrid中文输入法就不见了。你是不是漏了什么没说?
LiuXing123 2003-08-31
  • 打赏
  • 举报
回复
这是DELPHI的一个小BUG.在delphi的DBGRIDS里.
///////////////////////////////////////////就是下面的
procedure TCustomDBGrid.WMKillFocus(var Message: TMessage);
begin
// if not SysLocale.FarEast then inherited //原先错误的.
if SysLocale.FarEast then inherited //改正后的
else
begin
ImeName := Screen.DefaultIme;
ImeMode := imDontCare;
inherited;
if not ((InplaceEditor <> nil) and
(HWND(Message.WParam) = InplaceEditor.Handle)) then
ActivateKeyboardLayout(Screen.DefaultKbLayout, KLF_ACTIVATE);
end;
end;

///////////////////////////////
改正后要重新INSTALL COMPONENT 就行

另:在设置输入法时,最好设置
ImeMode:=DONTCARE;
ImeName:= //(空)
让用户自己打开输入法,直到他自己关闭,否则应一直不变的.
lchy20cn 2003-08-31
  • 打赏
  • 举报
回复
在你DBGrid控件的ImeName属性设置成你需要的输入法
lhpgh 2003-08-31
  • 打赏
  • 举报
回复
在设置时设置属性ImeName为系统已安装的五笔就可以了呀
xiaoyuer0851 2003-08-31
  • 打赏
  • 举报
回复
同意,你可以在程序中指定,也可以在dbgrid ImeName属性里指定…………
lxpbuaa 2003-08-31
  • 打赏
  • 举报
回复
Screen.Imes 可得到所有输入法列表


————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
kingbenz 2003-08-30
  • 打赏
  • 举报
回复
问题是怎样得到当前是输入法是什么?
wyb716 2003-08-29
  • 打赏
  • 举报
回复
在DBGrid的OnEnter事件中写也可以的。
DBGrid1.ImeName := '对应的王笔输入法名';
lxpbuaa 2003-08-29
  • 打赏
  • 举报
回复
procedure TForm1.FormCreate(Sender: TObject);
begin
DBGrid1.ImeName := '五笔输入法';
end;

————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧