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