А почему нельзя просто скрыть все элементы меню при запуске
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
for i := 0 to ComponentCount - 1 do
if Components[i] is TMenuItem then
(Components[i] as TMenuItem).Visible := False;
end;
а после авторизации отобразить тем же самым способом?