-
출처
http://blog.naver.com/cosmical/60037884850int FindMenuItem(CMenu* Menu, LPCTSTR MenuString)
{
ASSERT(Menu);
ASSERT(::IsMenu(Menu->GetSafeHmenu()));
int count = Menu->GetMenuItemCount();
for (int i = 0; i < count; i++)
{
CString str;
if (Menu->GetMenuString(i, str, MF_BYPOSITION) && (strcmp(str, MenuString) == 0))
return i;
}
return -1;
}// 이 부분이 string을 수정한다.
void CCMenuTestDlg::OnBnClickedButton1()
{
CMenu* pMenu = GetMenu(); // link되어 있는 menu를 가져온다.
int pos = FindMenuItem(pMenu, "메뉴"); // 위의 그림에서 맨 위에 있는 문자열이다.
CMenu* submenu = pMenu->GetSubMenu(pos);
pos = FindMenuItem(submenu, "메뉴1"); // 변경하고 싶은 원래 문자열
if (pos > -1)
{
UINT id = submenu->GetMenuItemID(pos);
submenu->ModifyMenu(id, MF_BYCOMMAND, id, "&Save Selection"); // 새로운 문자열로 변경한다.
}
}