ich habe da ein kleines Problem, und ich denke, dass dieses ein Bug ist.
Erst mal die Daten, die Monta gerne haben möchte:
Lazarus Version: 0.9.29
Datum: 2010-11-02
FPC Version: 2.4.0
SVN Revision: 28034
i386-win32-win32/win64
Ich arbeite mit einem WIN7 64 Bit Rechner.
Hier zu meinem Problem:
Ich erstelle gerade ein automatisch generiertes Form zur Darstellung von Grids, das Grid kann in der Spalten und Zeilenzahl variieren, optional kann ein Label oberhalb des Grids dargestellt werden sowie unterschiedliche Buttons unterhalb des Grids mit eintsprechenden angepassten Labels.
Nun prüfe ich nach, ob das Form auf meinem Bildschirm passt. Wenn das Form größer als die darzustellende Fläche ist, dann möchte ich das Form wenn möglich in der Breite oder der höhe entsprechend darstellen, so dass der Benutzer dann das Form immer noch vertikal oder horizontal scrollen kann (je jach Notwendigkeit).
Sobald ich jedoch die properties form.width oder/und form.height setze, habe ich keine Scrollmöglichkeit mehr. Zum Verständniss stelle ich einen Teil des code bei:
Code: Alles auswählen
procedure TSpecDialog1.SetFormParam(Sender, myStringgrid1: TObject; myLabelSpace: Array of integer);
var
inPosBottomComponents, inPosRightGrid: integer;
begin
with myStringgrid1 as TStringGrid do
begin
inPosBottomComponents:=Top + Height + 20;
inPosRightGrid:= Left + Width ;
end;
with Sender as TForm do
begin
WindowState:=wsNormal;
Position:=poScreenCenter;
if inPosRightGrid > (screen.Monitors[Screen.ActiveForm.Monitor.MonitorNum].Width - 150) then
WindowState:=wsMaximized
else
begin
WindowState:=wsNormal;
//Width:=inPosRightGrid;
end;
//Height:=inPosBottomComponents;
AutoSize:=False;
AutoScroll:= true;
;
end;
end;
Der oben dargestellte code funktioniert, hat jedoch den Nachteil, dass das Form dann sehr klein (im Verhältnis zum darzustellenden Inhalt) auf dem Bildschirm erscheint.
Setze ich vielleicht nur die falschen properties, oder ist das wirklich ein bug?
PS:Ich habe mich natürlich vorher versucht schlau zu machen, und u.a. folgendes gefunden
http://bugs.freepascal.org/view.php?id=16799
Ich könnte auch den kompletten Code posten, ist jedoch noch nicht so, dass ich damit zufrieden bin.
Mit freundlichem Gruß
Ralph