<p style="padding: 0 0 0 0; margin: 0 0 0 0;">Hello,</p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;"> </p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">I already tried to extend "examples/groupedcontrols" make it 100% compatible with current implementation.</p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">Note that instead of TTransparentPanel I used a pure TWinControl. AFAIR the difference is that TTransparentPanel</p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">has Canvas (which we don't need here) + some flags of TComponentState.</p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">It works well as a grid cell editor and also all descendant components works (TDirectoryEdit, TFileNameEdit, ...).</p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">The only remaining problem is property ButtonOnlyWhenFocus. This property was probably NOT implemented for Delphi compatibility.</p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">It is difficult to reach the same behaviour with the new approach.</p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">Let's say Edit is 100px wide and Button 20px (i.e. 120px total).</p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">Currently only Button visibility changes.</p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">New grouped approach requires enlarge on SetFocus and shrink on KillFocus. I tried several hacks and reached ~90% success but the code is not very staightforward and KISS.</p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">It should be better to change behaviour: focused: 80 + 20 px; not focused: 100px Edit. This is more native since LCL anchoring automatically skips invisible components.</p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">Or leave this property (mark it as "deprecated").</p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;"> </p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">So I would like to know if there were some special reason to use TransparentPanel and what to do with property ButtonOnlyWhenFocus.</p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;"> </p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">Thanks.</p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;"> </p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">Vojtech Cihak a.k.a. Blaazen</p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;"> </p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">______________________________________________________________<br />
> Od: "Juha Manninen" <juha.manninen62@gmail.com><br />
> Komu: Lazarus mailing list <lazarus@lists.lazarus.freepascal.org><br />
> Datum: 18.03.2013 21:48<br />
> Předmět: [Lazarus] TEditButton alignment<br />
></p>

<p style="padding: 0 0 0 0; margin: 0 0 0 0;">It is a well known issue that TEditButton aligns wrong.<br />
<br />
In the last note of issue<br />
  <a href="http://bugs.freepascal.org/view.php?id=12155">http://bugs.freepascal.org/view.php?id=12155</a><br />
Mattias writes :<br />
"The best solution is to redesign TEditButton as an edit and a button<br />
in a panel. I started it as proof of concept in<br />
examples/groupedcontrols.<br />
This will break all current workarounds, so it will not be done for 1.0. "<br />
<br />
It was discussed at forum:<br />
  <a href="http://lazarus.freepascal.org/index.php/topic,19496.msg115847.html#msg115847">http://lazarus.freepascal.org/index.php/topic,19496.msg115847.html#msg115847</a><br />
<br />
I would like to know if this "edit and button in a panel" strategy is<br />
still valid or does it have some hidden traps?<br />
I don't see any problem with it myself.<br />
Then it could be implemented in trunk.<br />
<br />
The only philosophical problem might be that it doesn't use the<br />
corresponding native widgetset control even if there was one.<br />
Not all widgetsets have it.<br />
<br />
Juha<br />
<br />
--<br />
_______________________________________________<br />
Lazarus mailing list<br />
Lazarus@lists.lazarus.freepascal.org<br />
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus</a></p>