[Lazarus] Return of Frame3D issue

patspiper patspiper at gmail.com
Tue May 1 14:14:06 CEST 2012


On 01/05/12 14:56, Juha Manninen wrote:
> On Mon, Apr 30, 2012 at 11:15 PM, Frank Church <vfclists at gmail.com 
> <mailto:vfclists at gmail.com>> wrote:
>
>     In 0.9.30 it is defined in lclintf.h as
>
>     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;
>
>     The control I am working with, TJanPanelButton uses the signature
>     in lclintfh.inc calling it as Frame3d( Self.Canvas.Handle, R,
>     FFrameWidth, bvRaised );
>
>     Juha Mahinnen added a patch to Extctrls to match the Delphi
>     implementation here -
>     http://docwiki.embarcadero.com/Libraries/en/Vcl.ExtCtrls.Frame3D.
>     Although it matches the Delphi definition is it in the wrong place
>     as it affects the apparently original Lazarus implementation?
>
>     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?
>
>
> I am not sure if I understand the problem. Is there an ambiguity 
> between this :
>   Frame3d( Self.Canvas.Handle, R, FFrameWidth, bvRaised );
> and this :
>   Self.Canvas.Frame3D(R, FFrameWidth, bvRaised );

I think he wants to use
LCLIntf.Frame3d(DC: HDC; var ARect: TRect; const FrameWidth : integer; 
const Style : TGraphicsBevelCut): Boolean

In that case, he must add LCLIntf to his uses clause.

Stephano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20120501/eac90788/attachment-0003.html>


More information about the Lazarus mailing list