2007. december 12., szerda
How to determine the width of a TMainMenu
Problem/Question/Abstract:
How do I determine the width of a TMainMenu? I want to ensure that the form is not resized to less than the width of the TMainMenu on the form.
Answer:
The menu bar will automatically wrap when that happens, so it is not a catastrophy. There is a GetMenuItemRect API function you may want to try to get the information you are after.
procedure TForm1.Button1Click(Sender: TObject);
var
r: TRect;
i: Integer;
begin
for i := 0 to mainmenu1.Items.Count - 1 do
begin
Win32Check(GetMenuItemrect(handle, mainmenu1.handle, i, r));
memo1.lines.add(format('Item %d: (%d, %d), (%d, %d)', [i, r.left, r.top, r.right,
r.bottom]));
end;
end;
Note that the coordinates returned are screen-coordinates.
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése