First commit for release 0.2.2, which restores Ctl3D so it can again be compiled by Lazarus 0.9.27+

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@963 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
macpgmr
2009-09-22 01:00:15 +00:00
parent c369d3321e
commit f557d85ab0
22 changed files with 244 additions and 49 deletions

View File

@ -33,6 +33,18 @@
<A name="Whats_New"></A><H3>What's New</H3>
<UL>
<LI>20090921 release (0.2.2):
<UL>
<LI>Lazarus 0.9.27 eliminated the Ctl3D property, breaking Orpheus, which uses
Ctl3D in several controls. This release restores the Ctl3D property so
Orpheus can again be compiled with Lazarus.
<LI>The status table below has been updated for all widgetsets. In some cases
Orpheus controls have improved with general improvements and bug fixes
in the LCL and underlying widgetset code; in a few cases, however, Orpheus
controls perform worse than they did previously, probably due to
side-effects from LCL changes.<P>
</UL>
<LI>20081229 release (0.2.1):
<UL>
<LI>Adds TOvcCalendar.
@ -219,15 +231,23 @@ access to the Lazarus install folder. After rebuilding, be sure to start
<TD>XP SP2</TD>
<TD>&nbsp;</TD>
<TD>win32</TD>
<TD>Stable 0.9.26 with FPC 2.2.2</TD>
<TD>0.9.28 RC with FPC 2.2.4</TD>
</TR>
<TR VALIGN=TOP>
<TD>OS X</TD>
<TD>10.4.11 (Tiger) on PowerPC</TD>
<TD>gtk: 1.2.0.9.1<BR>gtk2: 2.12.9</TD>
<TD>gtk, gtk2, carbon</TD>
<TD>Stable 0.9.26 with FPC 2.2.2</TD>
<TD>gtk: 1.2.0.9.1<BR>gtk2: 2.14.7<BR>qt: 4.5.2</TD>
<TD>gtk, gtk2, carbon, qt</TD>
<TD>0.9.28 RC with FPC 2.2.4</TD>
</TR>
<TR VALIGN=TOP>
<TD>OS X</TD>
<TD>10.5.8 (Leopard) on Intel</TD>
<TD>&nbsp;</TD>
<TD>carbon</TD>
<TD>0.9.28 RC with FPC 2.2.4</TD>
</TR>
<TR VALIGN=TOP>
@ -318,13 +338,15 @@ tell the added comments by their context (near IFDEF's, for example).
<LI>When you first add an Orpheus control to a form, Lazarus will add
the Orpheus unit to the uses section of your main source file (.lpr).
This pulls in a great deal of code that you don't need. Delete the Orpheus unit
from the uses section to reduce the size of your executable file.<P>
<LI>The TOvcSimpleField and TOvcTCSimpleField controls do not work on non-Windows
widgetsets (see table below). For now, don't use these controls in cross-platform
applications. Just opening a form that has a TOvcSimpleField or TOvcTCSimpleField
control on it may crash non-Windows versions of Lazarus. Use the
TO32FlexEdit and TO32TCFlexEdit controls in place of TOvcSimpleField and
TOvcTCSimpleField controls in cross-platform applications.<P>
from the uses section to reduce the size of your executable file.
&lt;==<I>Fixed in 0.2.2 release.</I><P>
<LI>The TOvcSimpleField and TOvcTCSimpleField controls originally did not work
at all on non-Windows widgetsets, although they now have some functionality.
For now, don't use these controls in cross-platform applications. Just opening
a form that has a TOvcSimpleField or TOvcTCSimpleField control on it may crash
non-Windows versions of Lazarus. Use the TO32FlexEdit and TO32TCFlexEdit
controls in place of TOvcSimpleField and TOvcTCSimpleField controls in
cross-platform applications.<P>
<LI>To display the TOvcLabel's Style Manager property editor in the Lazarus
IDE, right-click on the TOvcLabel control (Apple key+click on Mac). You can
also change Style Manager properties via the CustomSettings in the
@ -342,14 +364,16 @@ in the Delphi VCL.
<OL>
<LI>The TO32FlexEdit and TO32TCFlexEdit controls include code for displaying
an optional button within the text editing area. However, this TBitBtn-within-
a-TEdit is not supported by the LCL, so the code has been IFDEF'd out for now.
If this is ever supported by the LCL, defining ButtonOkay in o32flxed.pas
is all that's needed to enable the button code.<P>
a-TEdit has not been supported by the LCL, so the code has been IFDEF'd out for
now. Beginning with Lazarus 0.9.27, this code appears to work okay with the win32
and carbon widgetsets. To enable the button code, see the comments above the
ButtonOkay define in o32flxed.pas.<P>
<LI>Widgetsets generally implement LCL controls by creating native controls
that correspond to the LCL controls (text edit, check box, etc.). However,
Orpheus builds its TOvcSimpleField control from TCustomControl, rather than
descending from an existing edit control such as TCustomEdit. Currently
TOvcSimpleField and TOvcTCSimpleField do not work on non-Windows widgetsets.<P>
descending from an existing edit control such as TCustomEdit. In general,
TOvcSimpleField and TOvcTCSimpleField have not worked very well on non-Windows
widgetsets.<P>
<LI>The GTK widgetset does not support TOvcRotatedLabel, apparently
because the GetTextMetrics function is not fully implemented on that
widgetset.<P>
@ -366,7 +390,7 @@ LCL. In a couple places, the ported code uses LM_SETFOCUS and LM_KILLFOCUS
messages to obtain some functionality. Similarly, the lack of LCL support for the
CM_CTL3DCHANGED message means that changing the Ctl3D property in Lazarus for
controls such as TOvcCalendar may not update the control's design (reloading the
form will show the correct design). Finally, some properties like Ctl3D are True
form will show the correct design). Finally, some properties are True
by default in Delphi but False in Lazarus, meaning forms converted from Delphi
may not look quite the same for properties with default values until you
explicitly set the properties in Lazarus or in your code.
@ -410,7 +434,7 @@ explicitly set the properties in Lazarus or in your code.
<TD>Working</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>Crashes</TD>
<TD>Working</TD>
</TR>
<TR VALIGN=TOP>
@ -432,7 +456,7 @@ explicitly set the properties in Lazarus or in your code.
<TD>&nbsp;</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>Partial</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>Crashes</TD>
</TR>
@ -444,7 +468,7 @@ explicitly set the properties in Lazarus or in your code.
<TD>&nbsp;</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>Partial</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>Partial</TD>
</TR>
@ -458,7 +482,7 @@ explicitly set the properties in Lazarus or in your code.
<TD>Working</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>?</TD>
<TD>Partial</TD>
</TR>
<TR VALIGN=TOP>
@ -470,31 +494,31 @@ explicitly set the properties in Lazarus or in your code.
<TD>Partial</TD>
<TD>Partial</TD>
<TD>Partial</TD>
<TD>Crashes</TD>
<TD>Partial</TD>
</TR>
<TR VALIGN=TOP>
<TD>TO32FlexEdit<BR><IMG SRC="TO32FLEXEDIT.bmp"></TD>
<TD>TCustomEdit</TD>
<TD>Edit control with validation</TD>
<TD>&nbsp;</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>gtk and qt used to work better</TD>
<TD>Working</TD>
<TD>Partial</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>Partial</TD>
</TR>
<TR VALIGN=TOP>
<TD>TOvcTable<BR><IMG SRC="TOVCTABLE.bmp"></TD>
<TD>TCustomControl</TD>
<TD>Full-featured grid control</TD>
<TD>See "To Do" list</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>See "To Do" list;<BR>0.9.26 didn't crash</TD>
<TD>Working</TD>
<TD>Crashes</TD>
<TD>Crashes</TD>
<TD>Partial</TD>
<TD>Partial</TD>
<TD>Freezes</TD>
</TR>
<TR VALIGN=TOP>
@ -530,7 +554,7 @@ explicitly set the properties in Lazarus or in your code.
<TD>Working</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>Partial</TD>
</TR>
<TR VALIGN=TOP>
@ -541,8 +565,8 @@ explicitly set the properties in Lazarus or in your code.
<TD>Working</TD>
<TD>Partial</TD>
<TD>Partial</TD>
<TD>Crashes</TD>
<TD>Crashes</TD>
<TD>Partial</TD>
<TD>Partial</TD>
</TR>
<TR VALIGN=TOP>
@ -554,7 +578,7 @@ explicitly set the properties in Lazarus or in your code.
<TD>Working</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>Partial</TD>
</TR>
<TR VALIGN=TOP>
@ -575,8 +599,8 @@ explicitly set the properties in Lazarus or in your code.
<TD>Table cell for combo box</TD>
<TD>Dropdown problem w/o XP manifest</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>Not working</TD>
<TD>Not working</TD>
<TD>Working</TD>
<TD>Partial</TD>
</TR>
@ -626,7 +650,7 @@ explicitly set the properties in Lazarus or in your code.
<TD>Working</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>Working</TD>
<TD>Partial</TD>
</TR>
<TR VALIGN=TOP>
@ -739,7 +763,7 @@ OS X tips for Lazarus:<P>
<P>
<HR>
Last updated: December 29, 2008
Last updated: Sept. 21, 2009
<P>
</BODY>

View File

@ -472,7 +472,11 @@ begin
else
begin
if nIndex = SM_CYBORDER then
nIndex := SM_CYEDGE; //Substitute for now so returned value is valid.
// nIndex := SM_CYEDGE; //Substitute for now so returned value is valid.
begin //Neither implemented, so catch here to eliminate TODO messages.
Result := 0; //0 was being returned before.
Exit;
end;
Result := LclIntf.GetSystemMetrics(nIndex);
end;
end;

View File

@ -53,6 +53,9 @@ type
protected {private}
{property variables}
FLabelInfo : TOvcLabelInfo;
{$IFDEF LCL}
FCtl3D : Boolean;
{$ENDIF}
{property methods}
function GetAbout : string;
function GetAttachedLabel : TOvcAttachedLabel;
@ -79,6 +82,9 @@ type
override;
property About : string read GetAbout write SetAbout stored False;
property LabelInfo : TOvcLabelInfo read FLabelInfo write FLabelInfo;
{$IFDEF LCL}
property Ctl3D : Boolean read FCtl3D write FCtl3D;
{$ENDIF}
public
constructor Create(AOwner : TComponent); override;
destructor Destroy; override;
@ -123,7 +129,9 @@ type
property OEMConvert;
{$ENDIF}
property ParentColor;
{$IFNDEF LCL}
property ParentCtl3D;
{$ENDIF}
property ParentFont;
property ParentShowHint;
property PasswordChar;

View File

@ -391,11 +391,18 @@ type
implementation
// The optional button inside a TO32FlexEdit doesn't work with LCL,
// so exclude all button-related code for now.
// For more information, see Lazarus bug 7097.
// The optional button inside a TO32FlexEdit originally did not work with LCL,
// so excluded all button-related code.
// Note now seems to work with win32 and carbon as of 0.9.28. To enable,
// delete the dot in the two DEFINE's.
// For more information, see Lazarus bug 7097.
{$IFNDEF LCL}
{$DEFINE ButtonOkay}
{$ELSE}
{.$DEFINE ButtonOkay}
{$IFNDEF MSWINDOWS}
{.$DEFINE ButtonNotChild} //Manually reposition relative to edit control
{$ENDIF}
{$ENDIF}
{===== TO32FEButton ==================================================}
@ -1345,8 +1352,13 @@ begin
end else begin
FButton.Height := CHgt - 2;
FButton.Width := GetButtonWidth;
{$IFNDEF ButtonNotChild}
FButton.Left := Width - FButton.Width - 1;
FButton.Top := 1;
{$ELSE}
FButton.Left := Left + Width - FButton.Width - 1;
FButton.Top := Top + 1;
{$ENDIF}
end;
{$ENDIF}
end;
@ -1578,7 +1590,7 @@ end;
{$IFDEF LCL}
// Eliminates LCL "[Type1] can not have [Type2] as child" runtime message,
// but button still doesn't work. See Lazarus bug 7097.
// but button still doesn't work with all widgetsets. See Lazarus bug 7097.
function TO32CustomFlexEdit.ChildClassAllowed(ChildClass: TClass): Boolean;
begin
Result := True;

View File

@ -1,23 +1,23 @@
<?xml version="1.0"?>
<CONFIG>
<Package Version="2">
<Package Version="3">
<PathDelim Value="\"/>
<Name Value="Orpheus"/>
<AddToProjectUsesSection Value="False"/>
<Author Value="Delphi version by TurboPower; ported to Lazarus by Phil Hess"/>
<CompilerOptions>
<Version Value="5"/>
<Version Value="8"/>
<PathDelim Value="\"/>
<SearchPaths>
<UnitOutputDirectory Value="units\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<D2Extensions Value="False"/>
<SyntaxMode Value="Delphi"/>
<CStyleOperator Value="False"/>
<IncludeAssertionCode Value="True"/>
<AllowLabel Value="False"/>
<CPPInline Value="False"/>
<DelphiCompat Value="True"/>
</SyntaxOptions>
</Parsing>
<Other>
@ -31,7 +31,7 @@
"/>
<License Value="MPL 1.1
"/>
<Version Minor="2" Release="1"/>
<Version Minor="2" Release="2"/>
<Files Count="1">
<Item1>
<Filename Value="myovcreg.pas"/>

View File

@ -152,6 +152,9 @@ type
FBorders : TOvcBorders;
FEdit : TOvcCustomEdit;
FLabelInfo : TOvcLabelInfo;
{$IFDEF LCL}
FCtl3D : Boolean;
{$ENDIF}
FOrgHeight : integer;
@ -220,6 +223,11 @@ type
property LabelInfo : TOvcLabelInfo
read FLabelInfo
write FLabelInfo;
{$IFDEF LCL}
property Ctl3D : Boolean read FCtl3D write FCtl3D;
{$ENDIF}
end;
implementation

View File

@ -156,6 +156,9 @@ type
FWantDblClicks : Boolean; {true to include cs_dblclks style}
FWeekStarts : TOvcDayType; {the day that begins the week}
FYear : Integer; {calendar year}
{$IFDEF LCL}
FCtl3D : Boolean;
{$ENDIF}
{event variables}
FOnChange : TDateChangeEvent;
@ -218,8 +221,10 @@ type
{-calcualte new sizes for rows and columns}
{VCL control methods}
{$IFNDEF LCL}
procedure CMCtl3DChanged(var Msg : TMessage);
message CM_CTL3DCHANGED;
{$ENDIF}
procedure CMEnter(var Msg : TMessage);
message {$IFNDEF LCL} CM_ENTER; {$ELSE} LM_SETFOCUS; {$ENDIF}
//CM_ messages not supported in LCL, so use something similar
@ -300,6 +305,9 @@ type
read GetMonth;
property Year : Integer
read GetYear;
{$IFDEF LCL}
property Ctl3D : Boolean read FCtl3D write FCtl3D default True;
{$ENDIF}
{properties}
property BorderStyle : TBorderStyle
@ -364,7 +372,9 @@ type
property Font;
property LabelInfo;
property Options;
{$IFNDEF LCL}
property ParentCtl3D;
{$ENDIF}
property ParentFont;
property ParentShowHint;
property PopupMenu;
@ -754,6 +764,7 @@ begin
clBtnRevert.Left := clBtnToday.Left - clBtnRevert.Width - calMargin;
end;
{$IFNDEF LCL}
procedure TOvcCustomCalendar.CMCtl3DChanged(var Msg : TMessage);
begin
inherited;
@ -772,6 +783,7 @@ begin
Invalidate;
end;
{$ENDIF}
procedure TOvcCustomCalendar.CMEnter(var Msg : TMessage);
var
@ -825,6 +837,9 @@ begin
Font.Height := -11;
{$ENDIF}
{$IFDEF LCL}
FCtl3D := True;
{$ENDIF}
FBorderStyle := bsNone;
FDayNameWidth := 3;
FDateFormat := dfLong;

View File

@ -317,6 +317,9 @@ type
FLastOperand : Extended;
FOptions : TOvcCalculatorOptions;
FTapeSeparatorChar : Char;
{$IFDEF LCL}
FCtl3D : Boolean;
{$ENDIF}
{event variables}
FOnButtonPressed : TOvcCalcButtonPressedEvent;
@ -379,8 +382,10 @@ type
procedure SetVisible(const Value : Boolean);
{VCL control methods}
{$IFNDEF LCL}
procedure CMCtl3DChanged(var Msg : TMessage);
message CM_CTL3DCHANGED;
{$ENDIF}
procedure CMDesignHitTest(var Msg : TCMDesignHitTest);
message CM_DESIGNHITTEST;
procedure CMEnter(var Msg : TMessage);
@ -450,6 +455,9 @@ type
read FTapeSeparatorChar write FTapeSeparatorChar;
property Visible : Boolean
read GetVisible write SetVisible;
{$IFDEF LCL}
property Ctl3D : Boolean read FCtl3D write FCtl3D;
{$ENDIF}
{protected events}
property OnButtonPressed : TOvcCalcButtonPressedEvent
@ -513,7 +521,9 @@ type
property MaxPaperCount default 9999;
property TapeHeight ; {Must be Prior to Options}
property Options default [coShowMemoryButtons, coShowItemCount];
{$IFNDEF LCL}
property ParentCtl3D;
{$ENDIF}
property ParentFont;
property ParentShowHint;
property PopupMenu;
@ -650,7 +660,9 @@ begin
Style := lbOwnerDrawFixed;
Parent := taOwner as TWinControl;
ParentFont := False;
{$IFNDEF LCL}
ParentCtl3D := True;
{$ENDIF}
BorderStyle := bsSingle;
Color := taTapeColor;
Visible := FVisible;
@ -1930,6 +1942,7 @@ begin
cEngine.PushOperand(Value);
end;
{$IFNDEF LCL}
procedure TOvcCustomCalculator.CMCtl3DChanged(var Msg : TMessage);
begin
inherited;
@ -1944,6 +1957,7 @@ begin
Invalidate;
end;
{$ENDIF}
procedure TOvcCustomCalculator.CMDesignHitTest(var Msg : TCMDesignHitTest);
begin
@ -2174,7 +2188,9 @@ begin
cPanel.Font.Name := 'Courier New';
cPanel.Font.Size := 10;
cPanel.Font.Style := [];
{$IFNDEF LCL}
cPanel.ParentCtl3D := True;
{$ENDIF}
cPanel.Alignment := taLeftJustify;
cPanel.BevelOuter := bvLowered;
cPanel.BorderStyle := bsNone;

View File

@ -50,6 +50,9 @@ type
protected {private}
{property Variables}
FShowColorNames : Boolean;
{$IFDEF LCL}
FCtl3D : Boolean;
{$ENDIF}
{internal variables}
BoxWidth : Integer;
@ -73,6 +76,9 @@ type
read GetSelectedColor write SetSelectedColor;
property ShowColorNames : Boolean
read FShowColorNames write SetShowColorNames default True;
{$IFDEF LCL}
property Ctl3D : Boolean read FCtl3D write FCtl3D;
{$ENDIF}
public
constructor Create(AOwner : TComponent); override;
@ -104,7 +110,9 @@ type
property ItemHeight;
property LabelInfo;
property ParentColor;
{$IFNDEF LCL}
property ParentCtl3D;
{$ENDIF}
property ParentFont;
property ParentShowHint;
property PopupMenu;

View File

@ -117,6 +117,9 @@ type
FMRUListColor : TColor;
FMRUListCount : Integer;
FStyle : TOvcComboStyle;
{$IFDEF LCL}
FCtl3D : Boolean;
{$ENDIF}
{event variables}
FAfterEnter : TNotifyEvent;
@ -284,6 +287,9 @@ type
default 3;
property Style : TOvcComboStyle
read FStyle write SetOcbStyle;
{$IFDEF LCL}
property Ctl3D : Boolean read FCtl3D write FCtl3D;
{$ENDIF}
{events}
property AfterEnter : TNotifyEvent
@ -397,7 +403,9 @@ type
property MRUListColor;
property MRUListCount;
property ParentColor;
{$IFNDEF LCL}
property ParentCtl3D;
{$ENDIF}
property ParentFont;
property ParentShowHint;
property PopupMenu;

View File

@ -195,7 +195,9 @@ type
{$ENDIF}
property LabelInfo;
property ParentColor;
{$IFNDEF LCL}
property ParentCtl3D;
{$ENDIF}
property ParentFont;
property ParentShowHint;
property PopupAnchor;
@ -748,7 +750,9 @@ begin
end;
{set 3d to be the same as our own}
{$IFNDEF LCL}
FCalendar.ParentCtl3D := False;
{$ENDIF}
FCalendar.Ctl3D := False;
{determine the proper position}

View File

@ -162,7 +162,9 @@ type
{$ENDIF}
property LabelInfo;
property ParentColor;
{$IFNDEF LCL}
property ParentCtl3D;
{$ENDIF}
property ParentFont;
property ParentShowHint;
property PopupAnchor;
@ -499,7 +501,9 @@ begin
end;
{set 3d to be the same as our own}
{$IFNDEF LCL}
FCalculator.ParentCtl3D := False;
{$ENDIF}
FCalculator.Ctl3D := False;
{determine the proper position}

View File

@ -53,6 +53,9 @@ type
{property variables}
FController : TOvcController;
FLabelInfo : TOvcLabelInfo;
{$IFDEF LCL}
FCtl3D : Boolean;
{$ENDIF}
{property methods}
function GetAbout : string;
function GetAttachedLabel : TOvcAttachedLabel;
@ -81,6 +84,9 @@ type
function ControllerAssigned : Boolean;
property About : string read GetAbout write SetAbout stored False;
property LabelInfo : TOvcLabelInfo read FLabelInfo write FLabelInfo;
{$IFDEF LCL}
property Ctl3D : Boolean read FCtl3D write FCtl3D;
{$ENDIF}
public
constructor Create(AOwner : TComponent); override;
destructor Destroy; override;
@ -127,7 +133,9 @@ type
property OEMConvert;
{$ENDIF}
property ParentColor;
{$IFNDEF LCL}
property ParentCtl3D;
{$ENDIF}
property ParentFont;
property ParentShowHint;
property PasswordChar;

View File

@ -186,7 +186,9 @@ type
{$ENDIF}
{$ENDIF}
property ParentColor;
{$IFNDEF LCL}
property ParentCtl3D;
{$ENDIF}
property ParentFont;
property ParentShowHint;
property PopupMenu;

View File

@ -108,6 +108,9 @@ type
FUserData : TOvcUserData; {field mask and data object}
FZeroDisplay : TZeroDisplay; {true to display an empty field}
FZeroDisplayValue : Double; {value used by ZeroDisplay logic}
{$IFDEF LCL}
FCtl3D : Boolean;
{$ENDIF}
{event variables}
FOnChange : TNotifyEvent;
@ -220,8 +223,10 @@ type
{VCL control methods}
{$IFNDEF LCL}
procedure CMCtl3DChanged(var Msg : TMessage);
message CM_CTL3DCHANGED;
{$ENDIF}
procedure CMDialogChar(var Msg : TCMDialogChar);
message CM_DIALOGCHAR;
procedure CMEnabledChanged(var Msg : TMessage);
@ -613,6 +618,9 @@ type
read FZeroDisplay write SetZeroDisplay default zdShow;
property ZeroDisplayValue : Double
read FZeroDisplayValue write SetZeroDisplayValue;
{$IFDEF LCL}
property Ctl3D : Boolean read FCtl3D write FCtl3D default True;
{$ENDIF}
{events}
property OnChange : TNotifyEvent
@ -692,6 +700,7 @@ begin
Perform(WM_CLEAR, 0, 0);
end;
{$IFNDEF LCL}
procedure TOvcBaseEntryField.CMCtl3DChanged(var Msg : TMessage);
begin
if not HandleAllocated then
@ -711,6 +720,7 @@ begin
inherited;
end;
{$ENDIF}
procedure TOvcBaseEntryField.CMDialogChar(var Msg : TCMDialogChar);
begin
@ -797,6 +807,9 @@ begin
FUninitialized := False;
FZeroDisplay := zdShow;
FZeroDisplayValue := 0;
{$IFDEF LCL}
FCtl3D := True;
{$ENDIF}
efRangeLo := BlankRange;
efRangeHi := BlankRange;

View File

@ -144,7 +144,9 @@ type
property Options;
property PadChar;
property ParentColor;
{$IFNDEF LCL}
property ParentCtl3D;
{$ENDIF}
property ParentFont;
property ParentShowHint;
property PasswordChar;

View File

@ -85,6 +85,9 @@ type
FOptions : TOvcTblOptionSet; {set of table options}
FScrollBars : TScrollStyle; {scroll bar presence}
Filler : byte;
{$IFDEF LCL}
FCtl3D : Boolean;
{$ENDIF}
{property event fields}
FActiveCellChanged : TCellNotifyEvent; {active cell changed event}
@ -368,7 +371,9 @@ type
{Delphi component messages}
procedure CMColorChanged(var Msg : TMessage); message CM_COLORCHANGED;
{$IFNDEF LCL}
procedure CMCtl3DChanged(var Msg : TMessage); message CM_CTL3DCHANGED;
{$ENDIF}
procedure CMDesignHitTest(var Msg : TCMDesignHitTest); message CM_DESIGNHITTEST;
procedure CMFontChanged(var Msg : TMessage); message CM_FONTCHANGED;
@ -490,6 +495,10 @@ type
property TopRow : TRowNum
read FTopRow write SetTopRow;
{$IFDEF LCL}
property Ctl3D : Boolean read FCtl3D write FCtl3D default True;
{$ENDIF}
{New events}
property OnActiveCellChanged : TCellNotifyEvent
read FActiveCellChanged write FActiveCellChanged;
@ -680,7 +689,9 @@ type
property LockedRowsCell;
property Options default [];
property ParentColor default False;
{$IFNDEF LCL}
property ParentCtl3D;
{$ENDIF}
property ParentFont;
property ParentShowHint;
property PopupMenu;
@ -807,6 +818,10 @@ constructor TOvcCustomTable.Create(AOwner : TComponent);
FTopRow := tbDefLockedRows;
FSelAnchorRow := tbDefLockedRows;
{$IFDEF LCL}
FCtl3D := True;
{$ENDIF}
{$IFNDEF LCL}
tbColMoveCursor := LoadBaseCursor('ORCOLUMNMOVECURSOR');
tbRowMoveCursor := LoadBaseCursor('ORROWMOVECURSOR');
@ -5328,6 +5343,7 @@ procedure TOvcCustomTable.CMColorChanged(var Msg : TMessage);
AllowRedraw := true;
end;
{--------}
{$IFNDEF LCL}
procedure TOvcCustomTable.CMCtl3DChanged(var Msg : TMessage);
begin
if (csLoading in ComponentState) or not HandleAllocated then
@ -5342,6 +5358,7 @@ procedure TOvcCustomTable.CMCtl3DChanged(var Msg : TMessage);
inherited;
end;
{$ENDIF}
{--------}
procedure TOvcCustomTable.CMDesignHitTest(var Msg : TCMDesignHitTest);
var

View File

@ -64,6 +64,9 @@ type
PrevEditWndProc : pointer;
NewEditWndProc : pointer;
{.Z-}
{$IFDEF LCL}
FCtl3D : Boolean;
{$ENDIF}
protected
{.Z+}
@ -86,6 +89,9 @@ type
property CellOwner : TOvcBaseTableCell
read FCell write FCell;
{$IFDEF LCL}
property Ctl3D : Boolean read FCtl3D write FCtl3D;
{$ENDIF}
end;
TOvcTCCustomComboBox = class(TOvcTCBaseString)

View File

@ -68,6 +68,9 @@ type
FMaxLength : word;
FAutoAdvanceChar : boolean;
FAutoAdvanceLeftRight : boolean;
{$IFDEF LCL}
FCtl3D : Boolean;
{$ENDIF}
protected
function GetCellEditor : TControl; override;
@ -82,6 +85,9 @@ type
property MaxLength : word
read FMaxLength write FMaxLength;
{$IFDEF LCL}
property Ctl3D : Boolean read FCtl3D write FCtl3D;
{$ENDIF}
public
function CreateEditControl(AOwner : TComponent) : TOvcTCStringEdit; virtual;
@ -165,6 +171,9 @@ type
FMaxLength : word;
FWantReturns : boolean;
FWantTabs : boolean;
{$IFDEF LCL}
FCtl3D : Boolean;
{$ENDIF}
protected
function GetCellEditor : TControl; override;
@ -179,6 +188,9 @@ type
property WantTabs : boolean
read FWantTabs write FWantTabs;
{$IFDEF LCL}
property Ctl3D : Boolean read FCtl3D write FCtl3D;
{$ENDIF}
public
constructor Create(AOwner : TComponent); override;
function CreateEditControl(AOwner : TComponent) : TOvcTCMemoEdit; virtual;

View File

@ -55,6 +55,9 @@ type
FCol : TColNum;
FCellAttr : TOvcCellAttributes;
{.Z-}
{$IFDEF LCL}
FCtl3D : Boolean;
{$ENDIF}
protected
{.Z+}
@ -75,6 +78,9 @@ type
read FCell write FCell;
property Value : integer
read FValue write SetValue;
{$IFDEF LCL}
property Ctl3D : Boolean read FCtl3D write FCtl3D;
{$ENDIF}
end;
TOvcTCCustomGlyph = class(TOvcTCBaseBitMap)

View File

@ -151,6 +151,9 @@ type
FTopIndex : LongInt; {item at top of window}
FUseTabStops : Boolean; {true to use tab stops}
FWheelDelta : Integer;
{$IFDEF LCL}
FCtl3D : Boolean;
{$ENDIF}
{event variables}
FOnCharToItem : TCharToItemEvent;
@ -260,8 +263,10 @@ type
{-scroll vertically}
{VCL control messages}
{$IFNDEF LCL}
procedure CMCtl3DChanged(var Message: TMessage);
message CM_CTL3DCHANGED;
{$ENDIF}
procedure CMFontChanged(var Message: TMessage);
message CM_FONTCHANGED;
@ -419,6 +424,9 @@ type
read FUseTabStops write FUseTabStops default vlDefUseTabStops;
property WheelDelta: Integer
read FWheelDelta write FWheelDelta default 3;
{$IFDEF LCL}
property Ctl3D : Boolean read FCtl3D write FCtl3D default vlDefCtl3D;
{$ENDIF}
{protected events}
property OnCharToItem : TCharToItemEvent
read FOnCharToItem write FOnCharToItem;
@ -536,7 +544,9 @@ type
property Enabled;
property Font;
property ParentColor default vlDefParentColor;
{$IFNDEF LCL}
property ParentCtl3D default vlDefParentCtl3D;
{$ENDIF}
property ParentFont default vlDefParentFont;
property ParentShowHint;
property PopupMenu;
@ -607,6 +617,7 @@ begin
end;
end;
{$IFNDEF LCL}
procedure TOvcCustomVirtualListBox.CMCtl3DChanged(var Message: TMessage);
begin
if (csLoading in ComponentState) or not HandleAllocated then
@ -621,6 +632,7 @@ begin
inherited;
end;
{$ENDIF}
procedure TOvcCustomVirtualListBox.CMFontChanged(var Message: TMessage);
begin
@ -660,7 +672,9 @@ begin
Ctl3D := vlDefCtl3D;
Height := vlDefHeight;
ParentColor := vlDefParentColor;
{$IFNDEF LCL}
ParentCtl3D := vlDefParentCtl3D;
{$ENDIF}
ParentFont := vlDefParentFont;
TabStop := vlDefTabStop;
Width := vlDefWidth;

View File

@ -64,7 +64,11 @@ begin
{$IFNDEF MSWINDOWS}
{TO32FlexEdit OnUserValidation doesn't work, so validate here
so user is notified if error, even though focus will change.}
SendMessage(TO32FlexEdit(Sender).Handle, OM_VALIDATE, 0, 0);
// SendMessage(TO32FlexEdit(Sender).Handle, OM_VALIDATE, 0, 0);
// This workaround no longer works with LCL 0.9.28 -- error message dialog
// just repeats. SendMessage/OM_VALIDATE cancels exit event?
// PostMessage appears to work okay, though.
PostMessage(TO32FlexEdit(Sender).Handle, OM_VALIDATE, 0, 0);
{$ENDIF}
end;