0
내 데스크톱 응용 프로그램 내에서 메뉴 항목 검색을 구현하려고합니다. 사용자가 검색 상자 안에 메뉴 항목 문자열을 입력하고 검색 결과에서 해당 메뉴 항목을 직접 호출 할 수있게하려고합니다. 이것은 Mac 내의 메뉴 검색과 유사합니다. 내 응용 프로그램의 메뉴 항목 목록을 검색하려면 어떻게해야합니까?C++에서 Windows의 메뉴 항목 목록 검색
void InterateMenu(HMENU hMenu)
{ MENUITEMINFO mii;
int i, nCount = GetMenuItemCount(hMenu);
for (i = 0; i < nCount; i++)
{ memset (&mii, 0, sizeof(mii));
mii.cbSize = sizeof(mii);
mii.fMask = MIIM_SUBMENU | MIIM_TYPE | MIIM_ID; // | MIIM_STATE
if (!GetMenuItemInfo(hMenu, i, TRUE, &mii))
continue;
if ((mii.fType & MFT_STRING) != 0 && mii.cch > 0)
{ mii.cch++;
TCHAR *pString = (TCHAR *) malloc(mii.cch * sizeof(TCHAR));
if (pString != NULL)
{ if (!GetMenuItemInfo(hMenu, i, TRUE, &mii))
{ free(pString);
continue;
}
TRACE(_T("ID = %u, string = %s\n"), mii.wID, pString);
free(pString);
}
}
if (mii.hSubMenu != NULL)
InterateMenu(mii.hSubMenu); // ** recursive **
}
}
전화 메인 메뉴 핸들 기능 :
응용 프로그램에 어떤 언어를 사용합니까? 그리고 어떤 개발 환경/컴파일러? MFC 또는 C/C++을 사용합니까? [질문의 태그에 추가하십시오] –
나는 똑 바른 C++를 사용하고 있습니다. 태그와 제목을 업데이트했습니다. – mukesh