MDI子窗体,和系统输入法控制.(200分)

  • 主题发起人 主题发起人 林旭斌
  • 开始时间 开始时间

林旭斌

Unregistered / Unconfirmed
GUEST, unregistred user!
1.系统每个菜单选项对应一个子窗体(每个子窗体只允许创建一次),多个MDI子窗体创建后若
某个子窗体会被后来创建的子窗体覆盖,此时再次在菜单中选择该选项时,要求将该子窗体
置于最前面,不知应该如何处理?(不能使用重新创建等方式,也别告诉我在windows菜单中
选择!)
2.如何能不让系统输入法自动跳出来,尤其在录入数据时,系统会自动跳出中文输入,真很烦人!

每问100分.
 
1:只允许出现一个子窗体:
procedure TForm1.MainMenu1Change(Sender: TObject; Source: TMenuItem;
Rebuild: Boolean);
var
childcount:integer;
begin
if form1.MDIChildCount >0 then
begin
for childcount:=0 to form1.MDIChildCount do
form1.MDIChildren[childcount].Close
end;
end;
 
2.如何能不让系统输入法自动跳出来,尤其在录入数据时,系统会自动跳出中文输入,真很烦人!
该变数据结构,设为“关闭输入法”
 
1.不懂你的意思, 你又要在菜单中做又不能在菜单中做, 你的意思到底是要怎么做?
2.选中所有控件后,设置每一个控件Imemode和ime属性
 
2、设置ImeName,ImeMode试试。
 
1、菜单项的 OnClick 事件中:
procedure TMDIForm.N1Click(Sender: TObject);
var
i: Integer;
begin
for i := 0 to MDIChildCount - 1 do
if MDIChildren is TChildForm1 then //TChildForm1 是你子窗口的类别
begin
MDIChildRen.BringToFront;
Exit;
end;
with TChildForm1.Create(Self) do //若子窗口未创建则 Create
try
Show;
except
Free;
end;
end;
2、同意 htw。
 
多谢各位!
 
后退
顶部