Primeiramente as informações dos menus que serão criados são gravados em BD. No evento OnCreate do form principal faço a criação dos itens de menu.
procedure TfrmPrincipal.FormCreate(Sender: TObject); var ItemMenu : TMenuItem; iPos : Integer; begin //Aqui faço a consulta dos dados dos menus no BD Dataset.First; while not Dataset.Eof do begin iPos := Campo do dataset que guarda a posição do menu onde será inserido o menu; MainMenu1.Items[iPos].Add(ItemMenu); MainMenu1.Items[iPos].Items[MainMenu1.Items[iPos].Count-1].Name := 'men' + Campo do dataset que guarda o caption do menu); MainMenu1.Items[iPos].Items[MainMenu1.Items[iPos].Count-1].Caption := Campo do dataset que guarda o nome do menu; MainMenu1.Items[iPos].Items[MainMenu1.Items[iPos].Count-1].OnClick := Procedure a ser chamada; (No meu caso essa procedure é genérica. Cada item de menu chama uma dll, de acordo com o nome do item do menu) Dataset.Next; end; end; _______________________________________________________ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/