Einzelnen Beitrag anzeigen

Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: PopupMenu - Item vorselektieren

  Alt 17. Dez 2013, 09:33
Auf die eigenen Bedürfnisse anpassen, um das Popupfenster mit dem Eintrag entsprechend zu verschieben.

Wobei _DefaultItems die normalen Einträge eines PopupMenus sind

Delphi-Quellcode:
class function GetPopupHeight(_DefaultItems : Integer; _DrawedItems : Integer = 0; _DrawedHintItems : Integer = 0; _Lines : Integer = 0; _DrawedLines : Integer = 0) : Integer;
var
  i : Integer;
begin
  if not IsWinVista then
  begin
    if _DrawedHintItems > 0 then
      i := 6
    else
      i := 5;
    Result := i +
              ((_DefaultItems * 19)+
              (_DrawedItems * 23)+
              (_DrawedHintItems * 40)+
              (_Lines * 8)+
              (_DrawedLines * 4))*Screen.PixelsPerInch div 96;
  end else begin
    if _DrawedHintItems > 0 then
      i := 6
    else
      i := 5;
    Result := i +
              ((_DefaultItems * 19)+
              (_DrawedItems * 26)+
              (_DrawedHintItems * 45)+
              (_Lines * 8)+
              (_DrawedLines * 4)*Screen.PixelsPerInch div 96);
  end;
end;


var
  p : TPoint;
begin
  p := Panel.ClientToScreen(Point(button.Left,button.Top));
  pm.Popup(p.X,p.Y-GetPopupHeight(5)););
Sven Harazim
--
  Mit Zitat antworten Zitat