[Lazarus] Form size locked
Mark Morgan Lloyd
markMLl.lazarus at telemetry.co.uk
Mon Sep 16 11:07:16 CEST 2013
Mattias Gaertner wrote:
> On Sun, 15 Sep 2013 13:17:42 +0000
> Mark Morgan Lloyd <markMLl.lazarus at telemetry.co.uk> wrote:
>
>> It appears that a bsDialog form has its actual width and height locked
>> once it has been displayed by ShowModal. Components inside the form,
>> e.g. a PageControl with client alignment, see the dimensions that have
>> been set under program control but the actual form size can be
>> significantly different (larger or smaller).
>>
>> What I've got is a form that displays either a single page if the
>> program is doing a simple login to a host computer, or multiple pages if
>> it's also offering facilities that the host can use; in the case of the
>> single page the pagecontrol tabs are disabled and the overall form
>> shrunk to fit. The first time the form is displayed it's always sized
>> correctly, but if the required login type changes the form size cannot
>> be adjusted.
>>
>> I'm able to use this sort of thing as a workaround:
>>
>> BorderStyle := bsSizeable;
>> Application.ProcessMessages;
>> Width := Tag div 1000;
>> Height := Tag mod 1000;
>> Application.ProcessMessages;
>> BorderStyle := bsDialog;
>> Application.ProcessMessages;
>> PageControl1.ShowTabs := true;
>> PageControl1.ActivePage := TabSheet1;
>>
>> Gtk2, Lazarus 1.0, LCL 1.0.1.3.
>
> Please create a bug report with a complete example.
Done, http://bugs.freepascal.org/view.php?id=25035
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the Lazarus
mailing list