[Lazarus] TWinControl.WMSize loop on WinCE

patspiper patspiper at gmail.com
Mon Feb 9 22:35:39 CET 2015


On 09/02/15 23:27, Mattias Gaertner wrote:
> On Mon, 09 Feb 2015 23:11:47 +0200
> patspiper <patspiper at gmail.com> wrote:
>
>> On 09/02/15 22:52, Mattias Gaertner wrote:
>>> On Mon, 09 Feb 2015 22:41:04 +0200
>>> patspiper <patspiper at gmail.com> wrote:
>>>
>>>> [...]
>>>>> Calendar1.Constraints.Min/MaxInterfaceWidth
>>>>>
>>>>> In this case the LCL sets a Width and the WinCE sets another creating a
>>>>> loop.
>>>> I put a TCalendar with no autosizing/aligning and a TEdit with
>>>> Align=AlBottom on the main form.
>>>> xxx.Constraints.Min/MaxInterfaceWidth for both components are 0/0 on
>>>> WinCE
>>> This means the LCL assumes that TCalender can have any size on WinCE.
>>>
>>> Set TForm OnResize:
>>>     Calendar1.GetPreferredSize(w,h);
>>>     Calendar1.SetBounds(0,0,w,h);
>> The loop is still present (Calendar1.Align=AlBottom). However, note that
>> the main's form autosize property is false (although WinCE might resize
>> it anyway).
> Please set Calendar1.Align=alNone.
> Does
> TForm OnResize
>     Calendar1.GetPreferredSize(w,h);
>     Calendar1.SetBounds(0,0,w,h);
>
> create a loop?
It doesn't.

Stephano




More information about the Lazarus mailing list