精品理论电影在线_日韩视频一区二区_一本色道精品久久一区二区三区_香蕉综合视频

通過ini實現多語言菜單

發布時間:2011-09-16 共2頁

  CString cs = AfxGetApp()->GetProfileString("menu",strText,strText);//讀取菜單項在ini里的文字

  menu->ModifyMenu(i,MF_STRING|MF_BYPOSITION,id,cs);

  //   下面這行可有可無,用這個免得我們手工編輯ini,發布的版本里注釋掉

  AfxGetApp()->WriteProfileString("menu",strText,cs);

  CMenu* pSub = menu->GetSubMenu(i);

  InitMenu(pSub);//遞歸,遍歷popup菜單

  }

  else

  {

  CString strText;

  menu->GetMenuString (i, strText, MF_BYPOSITION);

  CString cs = AfxGetApp()->GetProfileString("menu",strText,strText);

  menu->ModifyMenu(i,MF_STRING|MF_BYPOSITION,id,cs);

  //   下面這行可有可無,用這個免得我們手工編輯ini,發布的版本里注釋掉

  AfxGetApp()->WriteProfileString("menu",strText,cs);

  }

  }

  }

  函數的調用:

  在CMainFrame::OnCreate的中填加上

  //multi language menu

  CMenu* pMenu = GetMenu();

  InitMenu(pMenu);

  至此通過ini實現多語言菜單結束了。

  具體可以看演示程序。

  menu.ini中儲存著每個菜單項的文字,你只需要修改值就可以改換菜單語言。

  上面程序的不足:

  沒能修改Prompt的文字(就是在狀態欄上顯示的提示)

  沒能顯示快捷鍵(菜單的為new\tCtrl N的話將不正常)

  編輯特別推薦:

  類成員函數的重載、覆蓋和隱藏的區別

  用C寫最簡單的Windows窗口程序:WINAPIHelloWorld

百分百考試網 考試寶典

立即免費試用