ich habe folgendes unter Linux Mint festgestellt.
Erstelle ich eine Form mit wsMaximized und zeichne in den Canvas der Form ein Rechteck mit Canvas.Rectangle(0,0,Width,Height) so ist das Rechteck komplett zu sehen. Das bedeutet meine sich unten befindliche Symbolleiste wird verrechnet und die Form endet an der Leiste.
Füge ich der Form ein Menü hinzu wird die Titelleiste höher und das Rechteck verschwindet unten unter der Leiste. Bedeutet die neue Höhe der Titelleiste wird nicht berücksichtigt.
Kennt jemand eine Vorgehensweise das die Form mit einem Menü die optimale Größe annimmt?
Viele Grüße
Bernd
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, Menus;
type
{ TForm1 }
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
Menue : TMainMenu;
Testmenue : TMenuItem;
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
WindowState := wsMaximized;
{
Menue := TMainMenu.Create(self);
Testmenue := TMenuItem.Create(Self);
Testmenue.Caption := 'Testmenü';
Menu.Items.Add(Testmenue);
}
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.Pen.Color := clRed;
Canvas.Pen.Width := 5;
Canvas.Rectangle(0,0,Width,Height);
end;
end.