在程序运行期间怎样及时捕捉输入法的变化?

bcbsoft 2002-02-01 01:38:34
我用以下语句取得当前所有的输入法放入ComboBox中,但是当删除或添加了某种输入法后不能及时捕捉输入法的变化(退出后再次运行才行),请问如何决?

ComboBox2->Items->Text=Screen->Imes->Text;
...全文
140 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wisenowa 2002-02-01
  • 打赏
  • 举报
回复
no thx
给分吧
bcbsoft 2002-02-01
  • 打赏
  • 举报
回复
动态创建一个Screen对象,OKOKOKOK

Thank you!!!!!
wisenowa 2002-02-01
  • 打赏
  • 举报
回复
procedure TForm1.ComboBox1DropDown(Sender: TObject);
var
i:integer;
SC:TScreen;
begin
SC:=TScreen.Create(self);
ComboBox1.Clear;
try
for i:=0 to SC.Imes.Count-1 do
ComboBox1.Items.Add(SC.Imes.Strings[i]);
finally
SC.Free;
end;
end;

我没试过,只是我的想法
bcbsoft 2002-02-01
  • 打赏
  • 举报
回复
详细点:)
wisenowa 2002-02-01
  • 打赏
  • 举报
回复
动态创建一个Screen对象
Try it.
bcbsoft 2002-02-01
  • 打赏
  • 举报
回复
Screen.Imes 没有被刷新,取出来的还是原来那几种输入法,新添加的没有在里面,所以放入
ComboBox也就体现不出变化了

shxiaoxiao 2002-02-01
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
Var
i:Integer;
begin
Memo1.clear;
for i:=0 to Screen.Imes.Count-1 do
Memo1.Lines.Add(Screen.Imes.Strings[i]);
Label1.Caption:=Screen.DefaultIme;
end;
wisenowa 2002-02-01
  • 打赏
  • 举报
回复
什么意思?
wisenowa 2002-02-01
  • 打赏
  • 举报
回复
procedure TForm1.ComboBox1DropDown(Sender: TObject);
var
i:integer;
begin
ComboBox1.Clear;
for i:=0 to Screen.Imes.Count-1 do
ComboBox1.Items.Add(Screen.Imes.Strings[i])
end;
bcbsoft 2002-02-01
  • 打赏
  • 举报
回复
关键是Screen.Imes 没有被刷新,

所以OnClick、OnDropDown 都不作用

wisenowa 2002-02-01
  • 打赏
  • 举报
回复
不是OnClick
是OnDropDown
bcbsoft 2002-02-01
  • 打赏
  • 举报
回复

不行,问题是 Screen.Imes没有变化呀
票票飞扬 2002-02-01
  • 打赏
  • 举报
回复
用个Timer控件,定时刷新吧!
ComboBox.Items := Screen.Imes;
wisenowa 2002-02-01
  • 打赏
  • 举报
回复
在ComboBox的OnClick事件中
取得当前所有的输入法放入ComboBox中

5,392

社区成员

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

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