Форум: "Основная";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];
ВнизДинамическое меню Найти похожие ветки
← →
lightix (2003-08-19 11:52) [0]Подскажите как можно динамически построить меню по данным находящимся в массиве: для каждого элемента
CODE - имя (номер) элемента
PCODE - имя (номер) родительского элемента (для 0-го уровня =0)
NPP - номер по порядку в подменю одного уровня.
Пытался сделать с помощью рекурсивной функции - получилось, но с пустыми элементами в каждом уровне :(((
Помогите!
← →
pasha_golub (2003-08-19 11:57) [1]Покажи код, быть может ты сделал рекурсию на входе, а надо было на выходе
← →
lightix (2003-08-19 12:52) [2]TMenuItem2 *CreateMenuSubLevel(int PCODE)
{
TMenuItem2 *MENU_ITEM = new TMenuItem2(NULL);
TMenuItem2 *NEW_ITEM = new TMenuItem2(NULL);
for (int i=1;i<99;i++)
if (d_menu[PCODE][i].ncode!=0)
{
NEW_ITEM = new TMenuItem2(NULL);
NEW_ITEM->Caption=d_menu[PCODE][i].nmenu;
NEW_ITEM->Name="m"+AnsiString(d_menu[PCODE][i].ncode);
NEW_ITEM->ProgramName=d_menu[PCODE][i].program;
NEW_ITEM->Acl=d_menu[PCODE][i].aclv;
NEW_ITEM->DBName=d_menu[PCODE][i].dbname;
NEW_ITEM->DBUID=d_menu[PCODE][i].dbuid;
NEW_ITEM->DBPasswd=d_menu[PCODE][i].dbpasswd;
NEW_ITEM->Param=d_menu[PCODE][i].param;
//NEW_ITEM->OnClick=MenuClick;
NEW_ITEM->Add(CreateMenuSubLevel(d_menu[PCODE][i].ncode));
MENU_ITEM->Add(NEW_ITEM);
}
return(MENU_ITEM);
}
← →
lightix (2003-08-19 12:52) [3]TMenuItem2 *CreateMenuSubLevel(int PCODE)
{
TMenuItem2 *MENU_ITEM = new TMenuItem2(NULL);
TMenuItem2 *NEW_ITEM = new TMenuItem2(NULL);
for (int i=1;i<99;i++)
if (d_menu[PCODE][i].ncode!=0)
{
NEW_ITEM = new TMenuItem2(NULL);
NEW_ITEM->Caption=d_menu[PCODE][i].nmenu;
NEW_ITEM->Name="m"+AnsiString(d_menu[PCODE][i].ncode);
NEW_ITEM->ProgramName=d_menu[PCODE][i].program;
NEW_ITEM->Acl=d_menu[PCODE][i].aclv;
NEW_ITEM->DBName=d_menu[PCODE][i].dbname;
NEW_ITEM->DBUID=d_menu[PCODE][i].dbuid;
NEW_ITEM->DBPasswd=d_menu[PCODE][i].dbpasswd;
NEW_ITEM->Param=d_menu[PCODE][i].param;
//NEW_ITEM->OnClick=MenuClick;
NEW_ITEM->Add(CreateMenuSubLevel(d_menu[PCODE][i].ncode));
MENU_ITEM->Add(NEW_ITEM);
}
return(MENU_ITEM);
}
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c