<br>In upgrading to Lazarus 1.1 and issue I first came across in this thread has returned. I think I decided  not to use the controls in 0.9.31 but I want to consider them again in Lazarus 1.1, <a href="http://lists.lazarus.freepascal.org/pipermail/lazarus/2011-August/065582.html">http://lists.lazarus.freepascal.org/pipermail/lazarus/2011-August/065582.html</a>.<br>
<br>There is also a mantis issue for it - <a href="http://bugs.freepascal.org/view.php?id=8328">http://bugs.freepascal.org/view.php?id=8328</a>.<br><br>In 0.9.30 it is defined in lclintf.h as<br><br>function Frame3d(DC: HDC; var ARect: TRect; const FrameWidth : integer; const Style : TGraphicsBevelCut): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} and is also in the Graphics unit as     procedure Frame3d(var ARect: TRect; const FrameWidth: integer; const Style: TGraphicsBevelCut); virtual;<br>
<br>The control I am working with, TJanPanelButton uses the signature in 
lclintfh.inc calling it as Frame3d( Self.Canvas.Handle, R, FFrameWidth, bvRaised );  
<br>
<br>Juha Mahinnen added a patch to Extctrls to match the Delphi implementation here - <a href="http://docwiki.embarcadero.com/Libraries/en/Vcl.ExtCtrls.Frame3D">http://docwiki.embarcadero.com/Libraries/en/Vcl.ExtCtrls.Frame3D</a>. Although it matches the Delphi definition is it in the wrong place as it affects the apparently original Lazarus implementation?<br>
<br>In the mean time I have to ifdef it and call Self.Canvas.Frame3D(R, FFrameWidth, bvRaised ) instead of Frame3d( Self.Canvas.Handle, R, FFrameWidth, bvRaised ) which matches the definition of TCanvas in Graphics. Is that any good?<br>
    ;<br><br clear="all"><br>-- <br>Frank Church<br><br>=======================<br><a href="http://devblog.brahmancreations.com">http://devblog.brahmancreations.com</a><br>