Einzelnen Beitrag anzeigen

Meta777

Registriert seit: 8. Sep 2004
Ort: Magdeburg
248 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: Gesamtbreite der Mainmenüs

  Alt 17. Aug 2006, 08:26
Zitat von Flocke:
Danach steht in R.Right der rechte Rand des letzten Elements in Bildschirmkoordinaten - dies ist gleichzeitig der linke Rand des nicht benutzten Bereichs.
Danke! Das brachte micht auf folgende Lösung:
Delphi-Quellcode:
GetWindowRect(FParentForm.Handle, WndRect);

if Application.MainForm <> nil then
begin
  with Application.MainForm do
    GetMenuItemRect(Handle, Menu.Handle, GetMenuItemCount(Menu.Handle) - 1, R);
  CaptRect.Left := Application.MainForm.ScreenToClient(Point(R.Right, 0)).X;

  CaptRect.Top := GetSystemMetrics(SM_CYEDGE)+1;
  CaptRect.Right := WndRect.right-WndRect.Left-GetSystemMetrics(SM_CYEDGE) - 1;
  CaptRect.Bottom := GetSystemMetrics(SM_CYCAPTION)+GetSystemMetrics(SM_CYEDGE);
end;
Shalom
  Mit Zitat antworten Zitat