anchor.diff:      itm.Tag := 12;
     end;
   
  +  // translate Edit coordinates
  +  pt := WindowToScreen(self, Point(edtMonth.Left, edtMonth.Bottom));
  +  TPopupMenuFriend(FMonthsPopupMenu).PrepareToShow;  // forces height calculation
  +  // If dropdown will not fit below Edit, then we place it above
  +  if (pt.y + FMonthsPopupMenu.Height) > fpgApplication.ScreenHeight then
  +    pt.y := pt.y - edtMonth.Height - FMonthsPopupMenu.Height;
  +
   //  SetDefaultPopupMenuItemsState;
  -  FMonthsPopupMenu.ShowAt(self, edtMonth.Left, edtMonth.Bottom);
  +  FMonthsPopupMenu.ShowAt(nil, pt.x, pt.y);
   end;
   
   constructor TfpgPopupCalendar.Create(AOwner: TComponent; AOrigFocusWin: TfpgWidget);
  
positive.code: procedure TfpgPopupCalendar.ShowDefaultPopupMenu;
  var
    itm: TfpgMenuItem;
  begin
    if not Assigned(FMonthsPopupMenu) then
    begin
      FMonthsPopupMenu := TfpgPopupMenu.Create(nil);
  //    FMonthsPopupMenu.DontCloseWidget := self;  // now we can control when the popup window closes
      itm := FMonthsPopupMenu.AddMenuItem(rslongjan, '', @miMonthClicked);
      itm.Tag := 1;
      itm := FMonthsPopupMenu.AddMenuItem(rslongfeb, '', @miMonthClicked);
  
negative.code:   fpg_scrollbar,
    fpg_constants;
  
  type
    // friend class to get access to Protected methods
    TPopupMenuFriend = class(TfpgPopupMenu);
  
  
  {@VFD_NEWFORM_IMPL}
  
  