如何动态把ini文件某一小节的值传给菜单项MenuItems,目的想实现菜单项的汉化.(多语言)

解决方案 »

  1.   

    读出字串直接负值caption不久行了么?也许我没明白你的意思
      

  2.   

    每个菜单是有名字的啊
    比如mmiAAA
    var
      Ini: TIniFile;
    begin
     ....
      mmiAAA.Caption := Ini.Read(.....);
     ....
    end;
      

  3.   

    如果你的程序很大的话,这样做会很累的,你也可以用delphi的自带多语言功能。至于用ini,就是在选择一个按钮后,将所对应的语言的名词赋给个items.
      

  4.   

    能不能像赋值给下拉选单的Items一样,一下子把ini文件的一个小节全部赋过去?
      

  5.   

    能不能像赋值给下拉选单的Items一样,一下子把ini文件的一个小节全部赋过去?
    ------------------------------
    可能对应关系(顺序)会出问题,即使可以的话也就相当于你写个函数,在函数中一个一个的赋值在需要的时候调用而已
      

  6.   

    菜单需要动态生成?还在事先已经定义好了,只是进行汉化?
    如果是后者,有个想法不知是否可行?你试一下:
    你给每个需要汉化的菜单的Tag设一个值比如说是10
    然后在配置文件中设置一下
    [10]
    Caption:=汉化测试先把所有的小节名用ReadSeactions读出来放到一个List中
    做一个循环
    for i:=0 to Components.Count-1 do
    begin
      if Componets[i].ClassType = TMenuItem then
      begin
        for j:=0 to 取出小节名List.Count -1 do
        begin
          TMenuItem(Componets[i]).Tag=10.....
          TMenuItem(Componets[i]).Caption:=汉化测试;
        end
      end;
    end;
    以上未测试