а конкретнее?
например - в какой среде пишется прога...
в том же MFC - элементарно
(на дурацкие имена и надписи не обращай внимания - вырвал из проекта
)
MENUITEMINFO mi;
mi.cbSize=sizeof(mi);
mi.fMask=MIIM_STATE;
CMenu WSMenu;
if(!WSMenu.CreatePopupMenu()) {... тут обработать ошибку ...};
enum
{
id_Invalid,
id_bCanQuit,
id_bCanOpenPConf,
id_bCanAskServerToEditBase,
id_bCanReport
};
//флаги здесь взяты от балды
WSMenu.AppendMenu( ..флаги.. ,id_bCanQuit,"Квитирование");
WSMenu.AppendMenu(MF_SEPARATOR);
WSMenu.AppendMenu(MF_CHECKED,id_bCanAskServerToEditBase,"Управление через лампочки");
WSMenu.AppendMenu(0,id_bCanReport,"Создание отчётов");
WSMenu.AppendMenu(0,id_bCanOpenPConf,"Доступ в Конфигуратор");
WSMenu.AppendMenu(0,id_Invalid,"Выход (Esc)");
UINT res;
res=WSMenu.TrackPopupMenu(TPM_LEFTALIGN|TPM_TOPALIGN|TPM_LEFTBUTTON|TPM_RETURNCMD,x0,y0,this,0);
//смотрим выбор
switch(res)
{
case id_Invalid:break;
case id_bCanQuit:
{
}
break;
case id_bCanOpenPConf:
{
}
break;
case id_bCanAskServerToEditBase:
{
}
break;
case id_bCanReport:
{
}
break;
}