public override void DrawPopupMenu (Graphics dc, Menu menu, Rectangle cliparea, Rectangle rect)
{
// Fill rectangle area
dc.FillRectangle (SystemBrushes.Menu, cliparea);
// Draw menu borders
CPDrawBorder3D (dc, rect, Border3DStyle.Raised, all_sides);
// Draw menu items
for (int i = 0; i < menu.MenuItems.Count; i++) {
if (cliparea.IntersectsWith (menu.MenuItems [i].bounds)) {
MenuItem item = menu.MenuItems [i];
item.MenuHeight = menu.Height;
item.PerformDrawItem (new DrawItemEventArgs (dc, MenuFont, item.bounds, i, item.Status));
}
}
}