Update VirtualTree component to r320

This commit is contained in:
Ansgar Becker
2011-11-01 09:32:34 +00:00
parent 26b6e06aa9
commit b93106a6fe
18 changed files with 1833 additions and 2005 deletions

View File

@ -7,26 +7,14 @@ interface
{$include Compilers.inc} {$include Compilers.inc}
{$ifdef COMPILER_7_UP}
// For some things to work we need code, which is classified as being unsafe for .NET. // For some things to work we need code, which is classified as being unsafe for .NET.
{$warn UNSAFE_TYPE off} {$warn UNSAFE_TYPE off}
{$warn UNSAFE_CAST off} {$warn UNSAFE_CAST off}
{$warn UNSAFE_CODE off} {$warn UNSAFE_CODE off}
{$endif COMPILER_7_UP}
{$ifdef COMPILER_4}
{$R 'VirtualTreesD.dcr'}
{$endif COMPILER_4}
uses uses
Windows, Classes, Windows, Classes, DesignIntf, DesignEditors, VCLEditors, PropertyCategories,
{$ifdef COMPILER_6_UP} ColnEdit, VirtualTrees, VTHeaderPopup;
DesignIntf, DesignEditors, VCLEditors, PropertyCategories,
{$else}
DsgnIntf,
{$endif}
ColnEdit,
VirtualTrees, VTHeaderPopup;
type type
TVirtualTreeEditor = class (TDefaultEditor) TVirtualTreeEditor = class (TDefaultEditor)
@ -41,18 +29,13 @@ procedure Register;
implementation implementation
uses uses
{$ifdef COMPILER_5_UP} StrEdit, Dialogs, TypInfo, SysUtils, Graphics, CommCtrl, ImgList, Controls;
StrEdit,
{$else}
StrEditD4,
{$endif COMPILER_5_UP}
Dialogs, TypInfo, SysUtils, Graphics, CommCtrl, ImgList, Controls;
type type
// The usual trick to make a protected property accessible in the ShowCollectionEditor call below. // The usual trick to make a protected property accessible in the ShowCollectionEditor call below.
TVirtualTreeCast = class(TBaseVirtualTree); TVirtualTreeCast = class(TBaseVirtualTree);
TClipboardElement = class(TNestedProperty {$ifdef COMPILER_6_UP}, ICustomPropertyDrawing {$endif COMPILER_6_UP}) TClipboardElement = class(TNestedProperty, ICustomPropertyDrawing)
private private
FElement: string; FElement: string;
protected protected
@ -65,79 +48,37 @@ type
procedure GetValues(Proc: TGetStrProc); override; procedure GetValues(Proc: TGetStrProc); override;
procedure SetValue(const Value: string); override; procedure SetValue(const Value: string); override;
{$ifdef COMPILER_5_UP}
{$ifdef COMPILER_6_UP}
procedure PropDrawName(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean); procedure PropDrawName(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
{$endif COMPILER_6_UP}
procedure PropDrawValue(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean); procedure PropDrawValue(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
{$ifndef COMPILER_6_UP} override; {$endif COMPILER_6_UP}
{$endif COMPILER_5_UP}
end; end;
// This is a special property editor to make the strings in the clipboard format string list // This is a special property editor to make the strings in the clipboard format string list
// being shown as subproperties in the object inspector. This way it is shown what formats are actually available // being shown as subproperties in the object inspector. This way it is shown what formats are actually available
// and the user can pick them with a simple yes/no choice. // and the user can pick them with a simple yes/no choice.
{$ifdef COMPILER_6_UP}
TGetPropEditProc = TGetPropProc; TGetPropEditProc = TGetPropProc;
{$endif}
TClipboardFormatsProperty = class(TStringListProperty {$ifdef COMPILER_6_UP}, ICustomPropertyDrawing {$endif COMPILER_6_UP}) TClipboardFormatsProperty = class(TStringListProperty, ICustomPropertyDrawing)
public public
function GetAttributes: TPropertyAttributes; override; function GetAttributes: TPropertyAttributes; override;
procedure GetProperties(Proc: TGetPropEditProc); override; procedure GetProperties(Proc: TGetPropEditProc); override;
{$ifdef COMPILER_5_UP}
procedure PropDrawName(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean); procedure PropDrawName(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
{$ifndef COMPILER_6_UP} override; {$endif}
procedure PropDrawValue(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean); procedure PropDrawValue(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
{$ifndef COMPILER_6_UP} override; {$endif}
{$endif}
end; end;
// Property categories. They are defined this way only for Delphi 5 & BCB 5. TCheckImageKindProperty = class(TEnumProperty, ICustomPropertyDrawing, ICustomPropertyListDrawing)
{$ifdef COMPILER_5}
TVTHeaderCategory = class(TPropertyCategory)
public public
class function Name: string; override;
class function Description: string; override;
end;
TVTPaintingCategory = class(TPropertyCategory)
public
class function Name: string; override;
class function Description: string; override;
end;
TVTIncrementalSearchCategory = class(TPropertyCategory)
public
class function Name: string; override;
class function Description: string; override;
end;
{$endif COMPILER_5}
TCheckImageKindProperty = class(TEnumProperty {$ifdef COMPILER_6_UP}, ICustomPropertyDrawing, ICustomPropertyListDrawing {$endif COMPILER_6_UP})
public
{$ifdef COMPILER_5_UP}
procedure ListMeasureHeight(const Value: string; Canvas: TCanvas; var AHeight: Integer); procedure ListMeasureHeight(const Value: string; Canvas: TCanvas; var AHeight: Integer);
{$ifndef COMPILER_6_UP} override; {$endif}
procedure ListMeasureWidth(const Value: string; ACanvas: TCanvas; var AWidth: Integer); procedure ListMeasureWidth(const Value: string; ACanvas: TCanvas; var AWidth: Integer);
{$ifndef COMPILER_6_UP} override; {$endif}
procedure ListDrawValue(const Value: string; ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean); procedure ListDrawValue(const Value: string; ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
{$ifndef COMPILER_6_UP} override; {$endif}
{$ifdef COMPILER_6_UP}
procedure PropDrawName(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean); procedure PropDrawName(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
{$endif}
procedure PropDrawValue(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean); procedure PropDrawValue(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
{$ifndef COMPILER_6_UP} override; {$endif}
{$endif}
end; end;
{$ifdef COMPILER_6_UP}
resourcestring resourcestring
sVTHeaderCategoryName = 'Header'; sVTHeaderCategoryName = 'Header';
sVTPaintingCategoryName = 'Custom painting'; sVTPaintingCategoryName = 'Custom painting';
sVTIncremenalCategoryName = 'Incremental search'; sVTIncremenalCategoryName = 'Incremental search';
{$endif}
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
@ -251,8 +192,6 @@ end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
{$ifdef COMPILER_5_UP}
procedure DrawBoolean(Checked: Boolean; ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean); procedure DrawBoolean(Checked: Boolean; ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
var var
@ -281,16 +220,12 @@ end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
{$ifdef COMPILER_6_UP}
procedure TClipboardElement.PropDrawName(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean); procedure TClipboardElement.PropDrawName(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
begin begin
DefaultPropertyDrawName(Self, ACanvas, ARect); DefaultPropertyDrawName(Self, ACanvas, ARect);
end; end;
{$endif COMPILER_6_UP}
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
procedure TClipboardElement.PropDrawValue(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean); procedure TClipboardElement.PropDrawValue(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
@ -299,14 +234,12 @@ end;
DrawBoolean(CompareText(GetVisualValue, 'True') = 0, ACanvas, ARect, ASelected); DrawBoolean(CompareText(GetVisualValue, 'True') = 0, ACanvas, ARect, ASelected);
end; end;
{$endif COMPILER_5_UP}
//----------------- TClipboardFormatsProperty -------------------------------------------------------------------------- //----------------- TClipboardFormatsProperty --------------------------------------------------------------------------
function TClipboardFormatsProperty.GetAttributes: TPropertyAttributes; function TClipboardFormatsProperty.GetAttributes: TPropertyAttributes;
begin begin
Result := inherited GetAttributes + [paSubProperties {$ifdef COMPILER_5_UP}, paFullWidthName {$endif COMPILER_5_UP}]; Result := inherited GetAttributes + [paSubProperties, paFullWidthName];
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
@ -328,8 +261,6 @@ end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
{$ifdef COMPILER_5_UP}
procedure TClipboardFormatsProperty.PropDrawName(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean); procedure TClipboardFormatsProperty.PropDrawName(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
var var
@ -366,66 +297,8 @@ end;
// Nothing to do here. // Nothing to do here.
end; end;
{$endif COMPILER_5_UP}
{$ifdef COMPILER_5}
//----------------- TVTPaintingCategory --------------------------------------------------------------------------------
class function TVTPaintingCategory.Name: string;
begin
Result := 'Custom Painting';
end;
//----------------------------------------------------------------------------------------------------------------------
class function TVTPaintingCategory.Description: string;
begin
Result := 'Custom Painting';
end;
//----------------- TVTHeaderCategory ----------------------------------------------------------------------------------
class function TVTHeaderCategory.Name: string;
begin
Result := 'Header';
end;
//----------------------------------------------------------------------------------------------------------------------
class function TVTHeaderCategory.Description: string;
begin
Result := 'Header';
end;
//----------------- TVTIncrementalSearchCategory -----------------------------------------------------------------------
class function TVTIncrementalSearchCategory.Name: string;
begin
Result := 'Incremental Search';
end;
//----------------------------------------------------------------------------------------------------------------------
class function TVTIncrementalSearchCategory.Description: string;
begin
Result := 'Incremental Search';
end;
//----------------------------------------------------------------------------------------------------------------------
{$endif COMPILER_5}
//----------------- TCheckImageKindProperty ---------------------------------------------------------------------------- //----------------- TCheckImageKindProperty ----------------------------------------------------------------------------
{$ifdef COMPILER_5_UP}
const const
cCheckImageKindComboItemBorder = 0; cCheckImageKindComboItemBorder = 0;
cCheckImageKindComboItemSpacing = 2; cCheckImageKindComboItemSpacing = 2;
@ -434,15 +307,12 @@ end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
{$ifdef COMPILER_6_UP}
procedure TCheckImageKindProperty.PropDrawName(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean); procedure TCheckImageKindProperty.PropDrawName(ACanvas: TCanvas; const ARect: TRect; ASelected: Boolean);
begin begin
DefaultPropertyDrawName(Self, ACanvas, ARect); DefaultPropertyDrawName(Self, ACanvas, ARect);
end; end;
{$endif}
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
@ -452,11 +322,7 @@ end;
if GetVisualValue <> '' then if GetVisualValue <> '' then
ListDrawValue(GetVisualValue, ACanvas, ARect, ASelected) ListDrawValue(GetVisualValue, ACanvas, ARect, ASelected)
else else
{$ifdef COMPILER_6_UP}
DefaultPropertyDrawValue(Self, ACanvas, ARect); DefaultPropertyDrawValue(Self, ACanvas, ARect);
{$else}
inherited PropDrawValue(ACanvas, ARect, ASelected);
{$endif}
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
@ -489,11 +355,7 @@ end;
Pen.Color := OldPenColor; Pen.Color := OldPenColor;
finally finally
RemainingRect := Rect(RighPosition, ARect.Top, ARect.Right, ARect.Bottom); RemainingRect := Rect(RighPosition, ARect.Top, ARect.Right, ARect.Bottom);
{$ifdef COMPILER_6_UP}
DefaultPropertyListDrawValue(Value, ACanvas, RemainingRect, ASelected); DefaultPropertyListDrawValue(Value, ACanvas, RemainingRect, ASelected);
{$else}
inherited ListDrawValue(Value, ACanvas, RemainingRect, ASelected);
{$endif}
end; end;
end; end;
@ -513,8 +375,6 @@ end;
AWidth := AWidth + cCheckImageKindComboBitmapWidth; AWidth := AWidth + cCheckImageKindComboBitmapWidth;
end; end;
{$endif COMPILER_5_UP}
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
procedure Register; procedure Register;
@ -527,13 +387,9 @@ begin
RegisterPropertyEditor(TypeInfo(TCheckImageKind), nil, '', TCheckImageKindProperty); RegisterPropertyEditor(TypeInfo(TCheckImageKind), nil, '', TCheckImageKindProperty);
// Categories: // Categories:
{$ifdef COMPILER_5_UP} RegisterPropertiesInCategory(sActionCategoryName, TBaseVirtualTree, ['ChangeDelay', 'EditDelay']);
RegisterPropertiesInCategory({$ifdef COMPILER_5} TActionCategory, {$endif} {$ifdef COMPILER_6_UP} sActionCategoryName, {$endif COMPILER_6_UP}
TBaseVirtualTree,
['ChangeDelay',
'EditDelay']);
RegisterPropertiesInCategory({$ifdef COMPILER_5} TDataCategory, {$endif} {$ifdef COMPILER_6_UP} sDataCategoryName, {$endif COMPILER_6_UP} RegisterPropertiesInCategory(sDataCategoryName,
TBaseVirtualTree, TBaseVirtualTree,
['NodeDataSize', ['NodeDataSize',
'RootNodeCount', 'RootNodeCount',
@ -554,7 +410,7 @@ begin
'OnNewText', 'OnNewText',
'OnShortenString']); 'OnShortenString']);
RegisterPropertiesInCategory({$ifdef COMPILER_5} TLayoutCategory, {$endif} {$ifdef COMPILER_6_UP} slayoutCategoryName, {$endif COMPILER_6_UP} RegisterPropertiesInCategory(slayoutCategoryName,
TBaseVirtualTree, TBaseVirtualTree,
['AnimationDuration', ['AnimationDuration',
'AutoExpandDelay', 'AutoExpandDelay',
@ -573,7 +429,7 @@ begin
'SelectionCurveRadius', 'SelectionCurveRadius',
'TextMargin']); 'TextMargin']);
RegisterPropertiesInCategory({$ifdef COMPILER_5} TVisualCategory, {$endif} {$ifdef COMPILER_6_UP} sVisualCategoryName, {$endif COMPILER_6_UP} RegisterPropertiesInCategory(sVisualCategoryName,
TBaseVirtualTree, TBaseVirtualTree,
['Background*', ['Background*',
'ButtonFillMode', 'ButtonFillMode',
@ -581,11 +437,11 @@ begin
'Colors', 'Colors',
'LineMode']); 'LineMode']);
RegisterPropertiesInCategory({$ifdef COMPILER_5} THelpCategory, {$endif} {$ifdef COMPILER_6_UP} sHelpCategoryName, {$endif COMPILER_6_UP} RegisterPropertiesInCategory(sHelpCategoryName,
TBaseVirtualTree, TBaseVirtualTree,
['AccessibleName', 'Hint*', 'On*Hint*', 'On*Help*']); ['AccessibleName', 'Hint*', 'On*Hint*', 'On*Help*']);
RegisterPropertiesInCategory({$ifdef COMPILER_5} TDragNDropCategory, {$endif} {$ifdef COMPILER_6_UP} sDragNDropCategoryName, {$endif COMPILER_6_UP} RegisterPropertiesInCategory(sDragNDropCategoryName,
TBaseVirtualTree, TBaseVirtualTree,
['ClipboardFormats', ['ClipboardFormats',
'DefaultPasteMode', 'DefaultPasteMode',
@ -596,7 +452,7 @@ begin
'OnDragAllowed', 'OnDragAllowed',
'OnRenderOLEData']); 'OnRenderOLEData']);
RegisterPropertiesInCategory({$ifdef COMPILER_5} TInputCategory, {$endif} {$ifdef COMPILER_6_UP} sInputCategoryName, {$endif COMPILER_6_UP} RegisterPropertiesInCategory(sInputCategoryName,
TBaseVirtualTree, TBaseVirtualTree,
['DefaultText', ['DefaultText',
'DrawSelectionMode', 'DrawSelectionMode',
@ -613,20 +469,19 @@ begin
'OnNodeHeightTracking', 'OnNodeHeightTracking',
'OnHotChange']); 'OnHotChange']);
RegisterPropertiesInCategory({$ifdef COMPILER_5} TVTHeaderCategory, {$endif} {$ifdef COMPILER_6_UP} sVTHeaderCategoryName, {$endif COMPILER_6_UP} RegisterPropertiesInCategory(sVTHeaderCategoryName,
TBaseVirtualTree, TBaseVirtualTree,
['OnHeader*', 'OnGetHeader*']); ['OnHeader*', 'OnGetHeader*']);
RegisterPropertiesInCategory({$ifdef COMPILER_5} TVTPaintingCategory, {$endif} {$ifdef COMPILER_6_UP} sVTPaintingCategoryName, {$endif COMPILER_6_UP} RegisterPropertiesInCategory(sVTPaintingCategoryName,
TBaseVirtualTree, TBaseVirtualTree,
['On*Paint*', ['On*Paint*',
'OnDraw*', 'OnDraw*',
'On*Erase*']); 'On*Erase*']);
RegisterPropertiesInCategory({$ifdef COMPILER_5} TVTIncrementalSearchCategory, {$endif} {$ifdef COMPILER_6_UP} sVTIncremenalCategoryName, {$endif COMPILER_6_UP} RegisterPropertiesInCategory(sVTIncremenalCategoryName,
TBaseVirtualTree, TBaseVirtualTree,
['*Incremental*']); ['*Incremental*']);
{$endif COMPILER_5_UP}
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------

View File

@ -19,6 +19,7 @@ uses
{$ifndef COMPILER_10_UP} {$ifndef COMPILER_10_UP}
MSAAIntf, // MSAA support for Delphi up to 2005 MSAAIntf, // MSAA support for Delphi up to 2005
{$else} {$else}
Types,
oleacc, // MSAA support in Delphi 2006 or higher oleacc, // MSAA support in Delphi 2006 or higher
{$endif COMPILER_10_UP} {$endif COMPILER_10_UP}
VirtualTrees, VTAccessibilityFactory, Controls; VirtualTrees, VTAccessibilityFactory, Controls;
@ -28,6 +29,8 @@ type
private private
FVirtualTree: TVirtualStringTree; FVirtualTree: TVirtualStringTree;
public public
constructor Create(AVirtualTree: TVirtualStringTree);
{ IAccessibility } { IAccessibility }
function Get_accParent(out ppdispParent: IDispatch): HResult; stdcall; function Get_accParent(out ppdispParent: IDispatch): HResult; stdcall;
function Get_accChildCount(out pcountChildren: Integer): HResult; stdcall; function Get_accChildCount(out pcountChildren: Integer): HResult; stdcall;
@ -61,7 +64,6 @@ type
function Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer; function Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
Flags: Word; var Params; VarResult: Pointer; ExcepInfo: Pointer; Flags: Word; var Params; VarResult: Pointer; ExcepInfo: Pointer;
ArgErr: Pointer): HRESULT; stdcall; ArgErr: Pointer): HRESULT; stdcall;
constructor Create(VirtualTree: TVirtualStringTree);
end; end;
TVirtualTreeItemAccessibility = class(TVirtualTreeAccessibility, IAccessible) TVirtualTreeItemAccessibility = class(TVirtualTreeAccessibility, IAccessible)
@ -78,9 +80,6 @@ type
function accLocation(out pxLeft: Integer; function accLocation(out pxLeft: Integer;
out pyTop: Integer; out pcxWidth: Integer; out pyTop: Integer; out pcxWidth: Integer;
out pcyHeight: Integer; varChild: OleVariant): HResult; stdcall; out pcyHeight: Integer; varChild: OleVariant): HResult; stdcall;
constructor Create(VirtualTree: TVirtualStringTree);
function Get_accFocus(out pvarChild: OleVariant): HRESULT; stdcall; function Get_accFocus(out pvarChild: OleVariant): HRESULT; stdcall;
end; end;
@ -94,23 +93,35 @@ type
end; end;
TVTDefaultAccessibleProvider = class(TInterfacedObject, IVTAccessibleProvider) TVTDefaultAccessibleProvider = class(TInterfacedObject, IVTAccessibleProvider)
public
function CreateIAccessible(ATree: TBaseVirtualTree): IAccessible; function CreateIAccessible(ATree: TBaseVirtualTree): IAccessible;
end; end;
TVTDefaultAccessibleItemProvider = class(TInterfacedObject, IVTAccessibleProvider) TVTDefaultAccessibleItemProvider = class(TInterfacedObject, IVTAccessibleProvider)
public
function CreateIAccessible(ATree: TBaseVirtualTree): IAccessible; function CreateIAccessible(ATree: TBaseVirtualTree): IAccessible;
end; end;
TVTMultiColumnAccessibleItemProvider = class(TInterfacedObject, IVTAccessibleProvider) TVTMultiColumnAccessibleItemProvider = class(TInterfacedObject, IVTAccessibleProvider)
public
function CreateIAccessible(ATree: TBaseVirtualTree): IAccessible; function CreateIAccessible(ATree: TBaseVirtualTree): IAccessible;
end; end;
implementation implementation
uses SysUtils, Forms, Variants, Math; uses
SysUtils, Forms, Variants, Math;
{ TVirtualTreeAccessibility } { TVirtualTreeAccessibility }
//----------------------------------------------------------------------------------------------------------------------
constructor TVirtualTreeAccessibility.Create(AVirtualTree: TVirtualStringTree);
// assigns the parent and current fields, and lets the control's IAccessible object know its address.
begin
inherited Create;
FVirtualTree := AVirtualTree;
end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
function TVirtualTreeAccessibility.accDoDefaultAction(varChild: OleVariant): HResult; function TVirtualTreeAccessibility.accDoDefaultAction(varChild: OleVariant): HResult;
@ -176,7 +187,7 @@ begin
// return the location of the focused node // return the location of the focused node
if (FVirtualTree <> nil) and (FVirtualTree.AccessibleItem <> nil) then if (FVirtualTree <> nil) and (FVirtualTree.AccessibleItem <> nil) then
begin begin
RESULT := FVirtualTree.AccessibleItem.accLocation(pxLeft,pyTop,pcxWidth,pcyHeight,CHILDID_SELF); Result := FVirtualTree.AccessibleItem.accLocation(pxLeft, pyTop, pcxWidth, pcyHeight, CHILDID_SELF);
end; end;
end; end;
end; end;
@ -202,13 +213,6 @@ begin
end; end;
end; end;
//----------------------------------------------------------------------------------------------------------------------
constructor TVirtualTreeAccessibility.Create(VirtualTree: TVirtualStringTree);
// assigns the parent and current fields, and lets the control's iAccessible object know its address.
begin
fVirtualTree := VirtualTree;
end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
function TVirtualTreeAccessibility.GetIDsOfNames(const IID: TGUID; function TVirtualTreeAccessibility.GetIDsOfNames(const IID: TGUID;
Names: Pointer; NameCount, LocaleID: Integer; DispIDs: Pointer): HRESULT; Names: Pointer; NameCount, LocaleID: Integer; DispIDs: Pointer): HRESULT;
@ -284,16 +288,12 @@ begin
if fVirtualTree <> nil then if fVirtualTree <> nil then
begin begin
if FVirtualTree.FocusedNode <> nil then if FVirtualTree.FocusedNode <> nil then
begin pvarChild := FVirtualTree.AccessibleItem
pvarChild := fVirtualTree.AccessibleItem; else
result := s_OK;
end
else begin
pvarChild := childid_self; pvarChild := childid_self;
result := S_OK; result := S_OK;
end; end;
end; end;
end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
function TVirtualTreeAccessibility.Get_accHelp(varChild: OleVariant; out pszHelp: WideString): HResult; function TVirtualTreeAccessibility.Get_accHelp(varChild: OleVariant; out pszHelp: WideString): HResult;
@ -354,7 +354,7 @@ begin
// return the name for the inner accessible item // return the name for the inner accessible item
if (FVirtualTree <> nil) and (FVirtualTree.AccessibleItem <> nil) then if (FVirtualTree <> nil) and (FVirtualTree.AccessibleItem <> nil) then
begin begin
RESULT := FVirtualTree.AccessibleItem.Get_accName(CHILDID_SELF,pszName); Result := FVirtualTree.AccessibleItem.Get_accName(CHILDID_SELF, pszName);
end; end;
end; end;
end; end;
@ -392,7 +392,7 @@ begin
if varChild = CHILDID_SELF then if varChild = CHILDID_SELF then
begin begin
if FVirtualTree <> nil then if FVirtualTree <> nil then
pvarRole := ROLE_SYSTEM_OUTLINE pvarRole := ROLE_SYSTEM_OUTLINE;
end end
else if VarType(varChild) = VT_I4 then else if VarType(varChild) = VT_I4 then
begin begin
@ -438,7 +438,7 @@ begin
// return the state of the inner accessible item // return the state of the inner accessible item
if (FVirtualTree <> nil) and (FVirtualTree.AccessibleItem <> nil) then if (FVirtualTree <> nil) and (FVirtualTree.AccessibleItem <> nil) then
begin begin
RESULT := FVirtualTree.AccessibleItem.Get_accState(CHILDID_SELF,pVarState) Result := FVirtualTree.AccessibleItem.Get_accState(CHILDID_SELF, pVarState);
end end
else else
RESULT := E_INVALIDARG; RESULT := E_INVALIDARG;
@ -497,7 +497,7 @@ begin
begin begin
if FVirtualTree.FocusedNode <> nil then if FVirtualTree.FocusedNode <> nil then
begin begin
DisplayRect := FVirtualTree.GetDisplayRect(FVirtualTree.FocusedNode, FVirtualTree.Header.Columns.GetFirstVisibleColumn, TRUE, FALSE);//Use fisrt visible column instead of -1 DisplayRect := FVirtualTree.GetDisplayRect(FVirtualTree.FocusedNode, FVirtualTree.Header.Columns.GetFirstVisibleColumn, True, False);//Use first visible column instead of -1
P := FVirtualTree.ClientToScreen(DisplayRect.TopLeft); P := FVirtualTree.ClientToScreen(DisplayRect.TopLeft);
pxLeft := P.X; pxLeft := P.X;
pyTop := P.Y; pyTop := P.Y;
@ -508,13 +508,6 @@ begin
end; end;
end; end;
//----------------------------------------------------------------------------------------------------------------------
constructor TVirtualTreeItemAccessibility.Create(VirtualTree: TVirtualStringTree);
// sets up the parent/child relationship.
begin
fVirtualTree := VirtualTree;
end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
function TVirtualTreeItemAccessibility.Get_accChild(varChild: OleVariant; out ppdispChild: IDispatch): HResult; function TVirtualTreeItemAccessibility.Get_accChild(varChild: OleVariant; out ppdispChild: IDispatch): HResult;
// the item does not have children. Returning false. // the item does not have children. Returning false.
@ -539,8 +532,7 @@ begin
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
function TVirtualTreeItemAccessibility.Get_accFocus( function TVirtualTreeItemAccessibility.Get_accFocus(out pvarChild: OleVariant): HResult;
out pvarChild: OleVariant): HRESULT;
begin begin
// must override this or we get an infinite loop when using MS narrator // must override this or we get an infinite loop when using MS narrator
// when navigating using the arrow keys. // when navigating using the arrow keys.
@ -556,7 +548,7 @@ function TVirtualTreeItemAccessibility.Get_accName(varChild: OleVariant; out psz
// the name is the node's caption. // the name is the node's caption.
var var
kind: TVTImageKind; kind: TVTImageKind;
sTemp: WideString; ImgText: WideString;
begin begin
pszName := ''; pszName := '';
Result := S_FALSE; Result := S_FALSE;
@ -567,9 +559,9 @@ begin
begin begin
for kind := ikNormal to ikOverlay do for kind := ikNormal to ikOverlay do
begin begin
sTemp := FVirtualTree.ImageText[FVirtualTree.FocusedNode, Kind, FVirtualTree.Header.MainColumn]; ImgText := FVirtualTree.ImageText[FVirtualTree.FocusedNode, Kind, FVirtualTree.Header.MainColumn];
if sTemp <> '' then if ImgText <> '' then
pszName := pszName + sTemp + ' '; pszName := pszName + ImgText + ' ';
end; end;
pszName := pszName + FVirtualTree.Text[FVirtualTree.FocusedNode, FVirtualTree.Header.MainColumn]; pszName := pszName + FVirtualTree.Text[FVirtualTree.FocusedNode, FVirtualTree.Header.MainColumn];
result := S_OK; result := S_OK;
@ -603,7 +595,7 @@ begin
if varChild = childid_self then if varChild = childid_self then
begin begin
if FVirtualTree <> nil then if FVirtualTree <> nil then
pvarRole := ROLE_SYSTEM_OUTLINEITEM pvarRole := ROLE_SYSTEM_OUTLINEITEM;
end; end;
end; end;
@ -663,7 +655,7 @@ function TVTMultiColumnItemAccessibility.GetItemDescription(
IncludeMainColumn: boolean): HResult; IncludeMainColumn: boolean): HResult;
var var
I: Integer; I: Integer;
sTemp, sTemp2: WideString; ImgText: WideString;
kind: TVTImageKind; kind: TVTImageKind;
begin begin
pszDescription := ''; pszDescription := '';
@ -677,28 +669,27 @@ begin
begin begin
for kind := ikNormal to ikOverlay do for kind := ikNormal to ikOverlay do
begin begin
sTemp2 := FVirtualTree.ImageText[FVirtualTree.FocusedNode, Kind, FVirtualTree.Header.MainColumn]; ImgText := FVirtualTree.ImageText[FVirtualTree.FocusedNode, Kind, FVirtualTree.Header.MainColumn];
if sTemp2 <> '' then if ImgText <> '' then
sTemp2 := sTemp2 + ' '; ImgText := ImgText + ' ';
end; end;
pszDescription := sTemp2 + FVirtualTree.Text[FVirtualTree.FocusedNode, FVirtualTree.Header.MainColumn] pszDescription := ImgText + FVirtualTree.Text[FVirtualTree.FocusedNode, FVirtualTree.Header.MainColumn] + '; ';
+'; ';
end; end;
for I := 0 to FVirtualTree.Header.Columns.Count - 1 do for I := 0 to FVirtualTree.Header.Columns.Count - 1 do
if (FVirtualTree.Header.MainColumn <> I) and (coVisible in FVirtualTree.Header.Columns[I].Options) then if (FVirtualTree.Header.MainColumn <> I) and (coVisible in FVirtualTree.Header.Columns[I].Options) then
begin begin
for kind := ikNormal to ikOverlay do for kind := ikNormal to ikOverlay do
begin begin
sTemp2 := FVirtualTree.ImageText[FVirtualTree.FocusedNode, Kind, I]; ImgText := FVirtualTree.ImageText[FVirtualTree.FocusedNode, Kind, I];
if sTemp2 <> '' then if ImgText <> '' then
sTemp := sTemp2 + ' '; ImgText := ImgText + ' ';
end; end;
sTemp := sTemp + FVirtualTree.Text[FVirtualTree.FocusedNode, I]; ImgText := ImgText + FVirtualTree.Text[FVirtualTree.FocusedNode, I];
if sTemp <> '' then if ImgText <> '' then
pszDescription := pszDescription pszDescription := pszDescription
+FVirtualTree.Header.Columns[I].Text +FVirtualTree.Header.Columns[I].Text
+': ' +': '
+sTemp + ImgText
+'; '; +'; ';
end; end;
if pszDescription <> '' then if pszDescription <> '' then
@ -727,24 +718,21 @@ end;
{ TVTDefaultAccessibleProvider } { TVTDefaultAccessibleProvider }
function TVTDefaultAccessibleProvider.CreateIAccessible( function TVTDefaultAccessibleProvider.CreateIAccessible(ATree: TBaseVirtualTree): IAccessible;
ATree: TBaseVirtualTree): IAccessible;
begin begin
result := TVirtualTreeAccessibility.Create(TVirtualStringTree(ATree)); result := TVirtualTreeAccessibility.Create(TVirtualStringTree(ATree));
end; end;
{ TVTDefaultAccessibleItemProvider } { TVTDefaultAccessibleItemProvider }
function TVTDefaultAccessibleItemProvider.CreateIAccessible( function TVTDefaultAccessibleItemProvider.CreateIAccessible(ATree: TBaseVirtualTree): IAccessible;
ATree: TBaseVirtualTree): IAccessible;
begin begin
result := TVirtualTreeItemAccessibility.Create(TVirtualStringTree(ATree)); result := TVirtualTreeItemAccessibility.Create(TVirtualStringTree(ATree));
end; end;
{ TVTMultiColumnAccessibleItemProvider } { TVTMultiColumnAccessibleItemProvider }
function TVTMultiColumnAccessibleItemProvider.CreateIAccessible( function TVTMultiColumnAccessibleItemProvider.CreateIAccessible(ATree: TBaseVirtualTree): IAccessible;
ATree: TBaseVirtualTree): IAccessible;
begin begin
result := nil; result := nil;
if TVirtualStringTree(ATree).Header.UseColumns then if TVirtualStringTree(ATree).Header.UseColumns then
@ -752,33 +740,34 @@ begin
end; end;
var var
IDefaultAccessibleProvider: TVTDefaultAccessibleProvider; DefaultAccessibleProvider: TVTDefaultAccessibleProvider;
IDefaultAccessibleItemProvider: TVTDefaultAccessibleItemProvider; DefaultAccessibleItemProvider: TVTDefaultAccessibleItemProvider;
IMultiColumnAccessibleProvider: TVTMultiColumnAccessibleItemProvider; MultiColumnAccessibleProvider: TVTMultiColumnAccessibleItemProvider;
initialization initialization
if IDefaultAccessibleProvider = nil then if DefaultAccessibleProvider = nil then
begin begin
IDefaultAccessibleProvider := TVTDefaultAccessibleProvider.Create; DefaultAccessibleProvider := TVTDefaultAccessibleProvider.Create;
GetAccessibilityFactory.RegisterAccessibleProvider(IDefaultAccessibleProvider); GetAccessibilityFactory.RegisterAccessibleProvider(DefaultAccessibleProvider);
end; end;
if IDefaultAccessibleItemProvider = nil then if DefaultAccessibleItemProvider = nil then
begin begin
IDefaultAccessibleItemProvider := TVTDefaultAccessibleItemProvider.Create; DefaultAccessibleItemProvider := TVTDefaultAccessibleItemProvider.Create;
GetAccessibilityFactory.RegisterAccessibleProvider(IDefaultAccessibleItemProvider); GetAccessibilityFactory.RegisterAccessibleProvider(DefaultAccessibleItemProvider);
end; end;
if IMultiColumnAccessibleProvider = nil then if MultiColumnAccessibleProvider = nil then
begin begin
IMultiColumnAccessibleProvider := TVTMultiColumnAccessibleItemProvider.Create; MultiColumnAccessibleProvider := TVTMultiColumnAccessibleItemProvider.Create;
GetAccessibilityFactory.RegisterAccessibleProvider(IMultiColumnAccessibleProvider); GetAccessibilityFactory.RegisterAccessibleProvider(MultiColumnAccessibleProvider);
end; end;
finalization finalization
GetAccessibilityFactory.UnRegisterAccessibleProvider(IMultiColumnAccessibleProvider); GetAccessibilityFactory.UnRegisterAccessibleProvider(MultiColumnAccessibleProvider);
IMultiColumnAccessibleProvider := nil; MultiColumnAccessibleProvider := nil;
GetAccessibilityFactory.UnRegisterAccessibleProvider(IDefaultAccessibleItemProvider); GetAccessibilityFactory.UnRegisterAccessibleProvider(DefaultAccessibleItemProvider);
IDefaultAccessibleItemProvider := nil; DefaultAccessibleItemProvider := nil;
GetAccessibilityFactory.UnRegisterAccessibleProvider(IDefaultAccessibleProvider); GetAccessibilityFactory.UnRegisterAccessibleProvider(DefaultAccessibleProvider);
IDefaultAccessibleProvider := nil; DefaultAccessibleProvider := nil;
end. end.

View File

@ -50,14 +50,13 @@ implementation
var var
VTAccessibleFactory: TVTAccessibilityFactory = nil; VTAccessibleFactory: TVTAccessibilityFactory = nil;
AccessibilityAvailable: boolean = false; AccessibilityAvailable: Boolean = False;
{ TVTAccessibilityFactory } { TVTAccessibilityFactory }
constructor TVTAccessibilityFactory.Create; constructor TVTAccessibilityFactory.Create;
begin begin
inherited; inherited Create;
FAccessibleProviders := TInterfaceList.Create; FAccessibleProviders := TInterfaceList.Create;
FAccessibleProviders.Clear; FAccessibleProviders.Clear;
end; end;
@ -77,15 +76,15 @@ var
// We'll work top to bottom, from the most complicated to the most simple. // We'll work top to bottom, from the most complicated to the most simple.
// The index for these should all be greater than 0, e g the IAccessible for the tree itself should always be registered first, then any IAccessible items. // The index for these should all be greater than 0, e g the IAccessible for the tree itself should always be registered first, then any IAccessible items.
begin begin
result := nil; Result := nil;
if ATree <> nil then if ATree <> nil then
begin begin
if ATree.Accessible = nil then if ATree.Accessible = nil then
begin begin
if FAccessibleProviders.Count > 0 then if FAccessibleProviders.Count > 0 then
begin begin
result := IVTAccessibleProvider(FAccessibleProviders.Items[0]).CreateIAccessible(ATree); Result := IVTAccessibleProvider(FAccessibleProviders.Items[0]).CreateIAccessible(ATree);
exit; Exit;
end; end;
end; end;
if ATree.AccessibleItem = nil then if ATree.AccessibleItem = nil then
@ -97,21 +96,20 @@ begin
TmpIAccessible := IVTAccessibleProvider(FAccessibleProviders.Items[I]).CreateIAccessible(ATree); TmpIAccessible := IVTAccessibleProvider(FAccessibleProviders.Items[I]).CreateIAccessible(ATree);
if TmpIAccessible <> nil then if TmpIAccessible <> nil then
begin begin
result := TmpIAccessible; Result := TmpIAccessible;
break; Break;
end; end;
end; end;
if TmpIAccessible = nil then if TmpIAccessible = nil then
begin begin
result := IVTAccessibleProvider(FAccessibleProviders.Items[0]).CreateIAccessible(ATree); Result := IVTAccessibleProvider(FAccessibleProviders.Items[0]).CreateIAccessible(ATree);
end; end;
end; end;
end end
else begin else
Result := ATree.AccessibleItem; Result := ATree.AccessibleItem;
end; end;
end; end;
end;
destructor TVTAccessibilityFactory.Destroy; destructor TVTAccessibilityFactory.Destroy;
begin begin
@ -120,7 +118,7 @@ begin
{$ifndef COMPILER_10_UP} {$ifndef COMPILER_10_UP}
FreeAccLibrary; FreeAccLibrary;
{$endif COMPILER_10_UP} {$endif COMPILER_10_UP}
inherited; inherited Destroy;
end; end;
procedure TVTAccessibilityFactory.RegisterAccessibleProvider( procedure TVTAccessibilityFactory.RegisterAccessibleProvider(
@ -157,15 +155,15 @@ begin
// Check to see if the class has already been created. // Check to see if the class has already been created.
if VTAccessibleFactory = nil then if VTAccessibleFactory = nil then
VTAccessibleFactory := TVTAccessibilityFactory.Create; VTAccessibleFactory := TVTAccessibilityFactory.Create;
result := VTAccessibleFactory; Result := VTAccessibleFactory;
end end
else else
result := nil; Result := nil;
end; end;
initialization initialization
finalization finalization
VTAccessibleFactory.free; VTAccessibleFactory.Free;
end. end.

View File

@ -68,7 +68,7 @@ unit VTHeaderPopup;
{$ifdef COMPILER_12_UP} {$ifdef COMPILER_12_UP}
{$WARN IMPLICIT_STRING_CAST OFF} {$WARN IMPLICIT_STRING_CAST OFF}
{$WARN IMPLICIT_STRING_CAST_LOSS OFF} {$WARN IMPLICIT_STRING_CAST_LOSS OFF}
{$endif COMPILER_7_UP} {$endif COMPILER_12_UP}
interface interface

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,35 @@
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
// Include file to determine which compiler is currently being used to build the project/component. // Include file to determine which compiler is currently being used to build the project/component.
// This file uses ideas from Brad Stowers DFS.inc file (www.delphifreestuff.com). // This file uses ideas from Brad Stowers DFS.inc file.
//
// Portions created by Mike Lischke are
// Copyright (C) 1999, 2008 Mike Lischke. All Rights Reserved.
// Portions created by Jim Kueneman are
// Copyright (C) 2005, 2008 Jim Kueneman. All Rights Reserved.
// //
// Portions created by Mike Lischke are Copyright
// (C) 1999-2003 Dipl. Ing. Mike Lischke. All Rights Reserved.
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
//
// This unit is released under the MIT license:
// Copyright (c) 1999, 2008 Mike Lischke (support@soft-gems.net, www.soft-gems.net).
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
// documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
// Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
// OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// You are asked to give the author(s) the due credit. This means that you acknowledge the work of the author(s)
// in the product documentation, about box, help or wherever a prominent place is.
//
//----------------------------------------------------------------------------------------------------------------------
//
// The following symbols are defined: // The following symbols are defined:
// //
// - COMPILER_1 : Kylix/Delphi/BCB 1.x is the compiler. // - COMPILER_1 : Kylix/Delphi/BCB 1.x is the compiler.
@ -15,8 +40,8 @@
// - COMPILER_3_UP : Kylix/Delphi/BCB 3.x or higher is the compiler. // - COMPILER_3_UP : Kylix/Delphi/BCB 3.x or higher is the compiler.
// - COMPILER_4 : Kylix/Delphi/BCB 4.x is the compiler. // - COMPILER_4 : Kylix/Delphi/BCB 4.x is the compiler.
// - COMPILER_4_UP : Kylix/Delphi/BCB 4.x or higher is the compiler. // - COMPILER_4_UP : Kylix/Delphi/BCB 4.x or higher is the compiler.
// - COMPILER_5 : Kylix/Delphi/BCB 5.x/FreePascal is the compiler. // - COMPILER_5 : Kylix/Delphi/BCB 5.x is the compiler.
// - COMPILER_5_UP : Kylix/Delphi/BCB 5.x/FreePascal or higher is the compiler. // - COMPILER_5_UP : Kylix/Delphi/BCB 5.x or higher is the compiler.
// - COMPILER_6 : Kylix/Delphi/BCB 6.x is the compiler. // - COMPILER_6 : Kylix/Delphi/BCB 6.x is the compiler.
// - COMPILER_6_UP : Kylix/Delphi/BCB 6.x or higher is the compiler. // - COMPILER_6_UP : Kylix/Delphi/BCB 6.x or higher is the compiler.
// - COMPILER_7 : Kylix/Delphi/BCB 7.x is the compiler. // - COMPILER_7 : Kylix/Delphi/BCB 7.x is the compiler.
@ -29,6 +54,12 @@
// - COMPILER_10_UP : Kylix/Delphi/BCB 10.x or higher is the compiler. // - COMPILER_10_UP : Kylix/Delphi/BCB 10.x or higher is the compiler.
// - COMPILER_11 : Kylix/Delphi/BCB 11.x is the compiler. // - COMPILER_11 : Kylix/Delphi/BCB 11.x is the compiler.
// - COMPILER_11_UP : Kylix/Delphi/BCB 11.x or higher is the compiler. // - COMPILER_11_UP : Kylix/Delphi/BCB 11.x or higher is the compiler.
// - COMPILER_12 : Kylix/Delphi/BCB 12.x is the compiler.
// - COMPILER_12_UP : Kylix/Delphi/BCB 12.x or higher is the compiler.
// - COMPILER_14 : Kylix/Delphi/BCB 14.x is the compiler.
// - COMPILER_14_UP : Kylix/Delphi/BCB 14.x or higher is the compiler.
// - COMPILER_15 : Kylix/Delphi/BCB 15.x is the compiler.
// - COMPILER_15_UP : Kylix/Delphi/BCB 15.x or higher is the compiler.
// //
// Only defined if Windows is the target: // Only defined if Windows is the target:
// - CPPB : Any version of BCB is being used. // - CPPB : Any version of BCB is being used.
@ -41,6 +72,7 @@
// - CPPB_5_UP : BCB v5.x or higher is being used. // - CPPB_5_UP : BCB v5.x or higher is being used.
// - CPPB_6 : BCB v6.x is being used. // - CPPB_6 : BCB v6.x is being used.
// - CPPB_6_UP : BCB v6.x or higher is being used. // - CPPB_6_UP : BCB v6.x or higher is being used.
// - CPPB_XXX is not used any more, use the COMPILER_XXX defines
// //
// Only defined if Windows is the target: // Only defined if Windows is the target:
// - DELPHI : Any version of Delphi is being used. // - DELPHI : Any version of Delphi is being used.
@ -61,10 +93,7 @@
// - DELPHI_8_UP : Delphi v8.x or higher is being used. // - DELPHI_8_UP : Delphi v8.x or higher is being used.
// - DELPHI_9 : Delphi v9.x is being used. // - DELPHI_9 : Delphi v9.x is being used.
// - DELPHI_9_UP : Delphi v9.x or higher is being used. // - DELPHI_9_UP : Delphi v9.x or higher is being used.
// - DELPHI_10 : Delphi v10.x is being used. // - DELPHI_XXX is not used any more, use the COMPILER_XXX defines
// - DELPHI_10_UP: Delphi v10.x or higher is being used.
// - DELPHI_11 : Delphi v11.x is being used.
// - DELPHI_11_UP: Delphi v11.x or higher is being used.
// //
// Only defined if Linux is the target: // Only defined if Linux is the target:
// - KYLIX : Any version of Kylix is being used. // - KYLIX : Any version of Kylix is being used.
@ -96,39 +125,34 @@
{$endif DELPHI.NET_1} {$endif DELPHI.NET_1}
{$endif CLR} {$endif CLR}
// Consider FreePascal compiler to be roughly equivalent to version 5.
{$ifdef FPC}
{$define COMPILER_5}
{$endif}
{$ifdef Win32} {$ifdef Win32}
// Compiler defines not specific to a particlular platform.
// RAD Studio XE (BDS 8.0) DELPHI and BCB are no longer defined, only COMPILER
{$ifdef VER220} {$ifdef VER220}
{$define COMPILER_15} {$define COMPILER_15}
{$endif VER220} {$endif VER220}
// RAD Studio 2010 (BDS 7.0) DELPHI and BCB are no longer defined, only COMPILER
{$ifdef VER210} {$ifdef VER210}
{$define COMPILER_14} {$define COMPILER_14}
{$define DELPHI} {$endif VER210}
{$define DELPHI_14}
{$endif}
// RAD Studio 2009 (BDS 6.0) DELPHI and BCB are no longer defined, only COMPILER
{$ifdef VER200} {$ifdef VER200}
{$define COMPILER_12} {$define COMPILER_12}
{$define DELPHI} {$endif VER200}
{$define DELPHI_12}
{$endif}
// RAD Studio 2007 (BDS 5.0) DELPHI and BCB are no longer defined, only COMPILER
{$ifdef VER190} {$ifdef VER190}
{$define COMPILER_11} {$define COMPILER_11}
{$define DELPHI} {$endif VER190}
{$define DELPHI_11}
{$endif}
// DELPHI and BCB are no longer defined, only COMPILER
{$ifdef VER180} {$ifdef VER180}
{$define COMPILER_10} {$define COMPILER_10}
{$define DELPHI} {$endif VER180}
{$define DELPHI_10}
{$endif}
{$ifdef VER170} {$ifdef VER170}
{$define COMPILER_9} {$define COMPILER_9}
@ -272,60 +296,6 @@
{$define DELPHI_9_UP} {$define DELPHI_9_UP}
{$endif} {$endif}
{$ifdef DELPHI_10}
{$define DELPHI_2_UP}
{$define DELPHI_3_UP}
{$define DELPHI_4_UP}
{$define DELPHI_5_UP}
{$define DELPHI_6_UP}
{$define DELPHI_7_UP}
{$define DELPHI_8_UP}
{$define DELPHI_9_UP}
{$define DELPHI_10_UP}
{$endif}
{$ifdef DELPHI_11}
{$define DELPHI_2_UP}
{$define DELPHI_3_UP}
{$define DELPHI_4_UP}
{$define DELPHI_5_UP}
{$define DELPHI_6_UP}
{$define DELPHI_7_UP}
{$define DELPHI_8_UP}
{$define DELPHI_9_UP}
{$define DELPHI_10_UP}
{$define DELPHI_11_UP}
{$endif}
{$ifdef DELPHI_12}
{$define DELPHI_2_UP}
{$define DELPHI_3_UP}
{$define DELPHI_4_UP}
{$define DELPHI_5_UP}
{$define DELPHI_6_UP}
{$define DELPHI_7_UP}
{$define DELPHI_8_UP}
{$define DELPHI_9_UP}
{$define DELPHI_10_UP}
{$define DELPHI_11_UP}
{$define DELPHI_12_UP}
{$endif}
{$ifdef DELPHI_14}
{$define DELPHI_2_UP}
{$define DELPHI_3_UP}
{$define DELPHI_4_UP}
{$define DELPHI_5_UP}
{$define DELPHI_6_UP}
{$define DELPHI_7_UP}
{$define DELPHI_8_UP}
{$define DELPHI_9_UP}
{$define DELPHI_10_UP}
{$define DELPHI_11_UP}
{$define DELPHI_12_UP}
{$define DELPHI_14_UP}
{$endif}
{$ifdef CPPB_3} {$ifdef CPPB_3}
{$define CPPB_3_UP} {$define CPPB_3_UP}
{$endif} {$endif}
@ -353,9 +323,8 @@
{$ObjExportAll On} {$ObjExportAll On}
{$endif} {$endif}
{$else} {$else (not Windows)}
// not Windows, eg. Linux is the target // Linux is the target
// Other things to check: 'if LINUX' and 'if FREEBSD'.
{$define QT_CLX} {$define QT_CLX}
{$define KYLIX} {$define KYLIX}
@ -392,19 +361,17 @@
{$endif} {$endif}
{$ifdef KYLIX_2} {$ifdef KYLIX_2}
{$define KYLIX_1_UP}
{$define KYLIX_2_UP} {$define KYLIX_2_UP}
{$endif} {$endif}
{$ifdef KYLIX_3} {$ifdef KYLIX_3}
{$define KYLIX_1_UP}
{$define KYLIX_2_UP} {$define KYLIX_2_UP}
{$define KYLIX_3_UP} {$define KYLIX_3_UP}
{$endif} {$endif}
{$endif} {$endif Win32}
// Compiler defines not specific to a particular platform.
{$ifdef COMPILER_1} {$ifdef COMPILER_1}
{$define COMPILER_1_UP} {$define COMPILER_1_UP}
{$endif} {$endif}
@ -488,6 +455,26 @@
{$define COMPILER_8_UP} {$define COMPILER_8_UP}
{$define COMPILER_9_UP} {$define COMPILER_9_UP}
{$define COMPILER_10_UP} {$define COMPILER_10_UP}
// Backwards compatibility
{$define DELPHI_2_UP}
{$define DELPHI_3_UP}
{$define DELPHI_4_UP}
{$define DELPHI_5_UP}
{$define DELPHI_6_UP}
{$define DELPHI_7_UP}
{$define DELPHI_8_UP}
{$define DELPHI_9_UP}
{$define CPPB_3_UP}
{$define CPPB_4_UP}
{$define CPPB_5_UP}
{$define CPPB_6_UP}
{$ifdef BCB}
{$define CPPB}
{$else}
{$define DELPHI}
{$endif}
{$endif} {$endif}
{$ifdef COMPILER_11} {$ifdef COMPILER_11}
@ -502,8 +489,29 @@
{$define COMPILER_9_UP} {$define COMPILER_9_UP}
{$define COMPILER_10_UP} {$define COMPILER_10_UP}
{$define COMPILER_11_UP} {$define COMPILER_11_UP}
// Backwards compatibility
{$define DELPHI_2_UP}
{$define DELPHI_3_UP}
{$define DELPHI_4_UP}
{$define DELPHI_5_UP}
{$define DELPHI_6_UP}
{$define DELPHI_7_UP}
{$define DELPHI_8_UP}
{$define DELPHI_9_UP}
{$define CPPB_3_UP}
{$define CPPB_4_UP}
{$define CPPB_5_UP}
{$define CPPB_6_UP}
{$ifdef BCB}
{$define CPPB}
{$else}
{$define DELPHI}
{$endif} {$endif}
{$endif}
{$ifdef COMPILER_12} {$ifdef COMPILER_12}
{$define COMPILER_1_UP} {$define COMPILER_1_UP}
{$define COMPILER_2_UP} {$define COMPILER_2_UP}
@ -517,6 +525,63 @@
{$define COMPILER_10_UP} {$define COMPILER_10_UP}
{$define COMPILER_11_UP} {$define COMPILER_11_UP}
{$define COMPILER_12_UP} {$define COMPILER_12_UP}
// Backwards compatibility
{$define DELPHI_2_UP}
{$define DELPHI_3_UP}
{$define DELPHI_4_UP}
{$define DELPHI_5_UP}
{$define DELPHI_6_UP}
{$define DELPHI_7_UP}
{$define DELPHI_8_UP}
{$define DELPHI_9_UP}
{$define CPPB_3_UP}
{$define CPPB_4_UP}
{$define CPPB_5_UP}
{$define CPPB_6_UP}
{$ifdef BCB}
{$define CPPB}
{$else}
{$define DELPHI}
{$endif}
{$endif}
{$ifdef COMPILER_13}
{$define COMPILER_1_UP}
{$define COMPILER_2_UP}
{$define COMPILER_3_UP}
{$define COMPILER_4_UP}
{$define COMPILER_5_UP}
{$define COMPILER_6_UP}
{$define COMPILER_7_UP}
{$define COMPILER_8_UP}
{$define COMPILER_9_UP}
{$define COMPILER_10_UP}
{$define COMPILER_11_UP}
{$define COMPILER_12_UP}
{$define COMPILER_13_UP}
// Backwards compatibility
{$define DELPHI_2_UP}
{$define DELPHI_3_UP}
{$define DELPHI_4_UP}
{$define DELPHI_5_UP}
{$define DELPHI_6_UP}
{$define DELPHI_7_UP}
{$define DELPHI_8_UP}
{$define DELPHI_9_UP}
{$define CPPB_3_UP}
{$define CPPB_4_UP}
{$define CPPB_5_UP}
{$define CPPB_6_UP}
{$ifdef BCB}
{$define CPPB}
{$else}
{$define DELPHI}
{$endif}
{$endif} {$endif}
{$ifdef COMPILER_14} {$ifdef COMPILER_14}
@ -532,10 +597,34 @@
{$define COMPILER_10_UP} {$define COMPILER_10_UP}
{$define COMPILER_11_UP} {$define COMPILER_11_UP}
{$define COMPILER_12_UP} {$define COMPILER_12_UP}
{$define COMPILER_13_UP}
{$define COMPILER_14_UP} {$define COMPILER_14_UP}
// Backwards compatibility
{$define DELPHI_2_UP}
{$define DELPHI_3_UP}
{$define DELPHI_4_UP}
{$define DELPHI_5_UP}
{$define DELPHI_6_UP}
{$define DELPHI_7_UP}
{$define DELPHI_8_UP}
{$define DELPHI_9_UP}
{$define CPPB_3_UP}
{$define CPPB_4_UP}
{$define CPPB_5_UP}
{$define CPPB_6_UP}
{$ifdef BCB}
{$define CPPB}
{$else}
{$define DELPHI}
{$endif} {$endif}
{$ifdef COMPILER_15} {$endif}
// RAD Studio XE
{$ifdef conditionalexpressions}
{$if CompilerVersion >= 22}
{$define COMPILER_1_UP} {$define COMPILER_1_UP}
{$define COMPILER_2_UP} {$define COMPILER_2_UP}
{$define COMPILER_3_UP} {$define COMPILER_3_UP}
@ -548,15 +637,29 @@
{$define COMPILER_10_UP} {$define COMPILER_10_UP}
{$define COMPILER_11_UP} {$define COMPILER_11_UP}
{$define COMPILER_12_UP} {$define COMPILER_12_UP}
{$define COMPILER_13_UP}
{$define COMPILER_14_UP} {$define COMPILER_14_UP}
{$define COMPILER_15_UP} {$define COMPILER_15_UP}
{$endif} // Backwards compatibility
{$define DELPHI_2_UP}
{$define DELPHI_3_UP}
{$define DELPHI_4_UP}
{$define DELPHI_5_UP}
{$define DELPHI_6_UP}
{$define DELPHI_7_UP}
{$define DELPHI_8_UP}
{$define DELPHI_9_UP}
{$define CPPB_3_UP}
{$define CPPB_4_UP}
{$define CPPB_5_UP}
{$define CPPB_6_UP}
{$ifndef COMPILER_1_UP} {$ifdef BCB}
// Die on unknown compiler. {$define CPPB}
ERROR: Unknown compiler - please update detection logic. {$else}
{$define DELPHI}
{$endif}
{$ifend}
{$endif} {$endif}
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------

View File

@ -82,7 +82,6 @@ object connform: Tconnform
Anchors = [akLeft, akTop, akBottom] Anchors = [akLeft, akTop, akBottom]
EditDelay = 250 EditDelay = 250
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Font.Charset = DEFAULT_CHARSET Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText Header.Font.Color = clWindowText
Header.Font.Height = -11 Header.Font.Height = -11

View File

@ -92,7 +92,6 @@ object CopyTableForm: TCopyTableForm
Height = 88 Height = 88
Anchors = [akLeft, akTop, akRight, akBottom] Anchors = [akLeft, akTop, akRight, akBottom]
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Font.Charset = DEFAULT_CHARSET Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText Header.Font.Color = clWindowText
Header.Font.Height = -11 Header.Font.Height = -11

View File

@ -102,7 +102,6 @@ object frmInsertFiles: TfrmInsertFiles
Anchors = [akLeft, akTop, akRight] Anchors = [akLeft, akTop, akRight]
EditDelay = 0 EditDelay = 0
Header.AutoSizeIndex = 2 Header.AutoSizeIndex = 2
Header.DefaultHeight = 17
Header.Font.Charset = DEFAULT_CHARSET Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText Header.Font.Color = clWindowText
Header.Font.Height = -11 Header.Font.Height = -11
@ -180,7 +179,6 @@ object frmInsertFiles: TfrmInsertFiles
Height = 128 Height = 128
Anchors = [akLeft, akTop, akRight, akBottom] Anchors = [akLeft, akTop, akRight, akBottom]
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Font.Charset = DEFAULT_CHARSET Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText Header.Font.Color = clWindowText
Header.Font.Height = -11 Header.Font.Height = -11

View File

@ -407,7 +407,6 @@ object MainForm: TMainForm
DragMode = dmAutomatic DragMode = dmAutomatic
DragType = dtVCL DragType = dtVCL
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Font.Charset = DEFAULT_CHARSET Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText Header.Font.Color = clWindowText
Header.Font.Height = -11 Header.Font.Height = -11
@ -621,7 +620,6 @@ object MainForm: TMainForm
Height = 273 Height = 273
Align = alClient Align = alClient
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Options = [hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible] Header.Options = [hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible]
Header.ParentFont = True Header.ParentFont = True
Header.PopupMenu = popupListHeader Header.PopupMenu = popupListHeader
@ -705,7 +703,6 @@ object MainForm: TMainForm
Align = alClient Align = alClient
DragOperations = [] DragOperations = []
Header.AutoSizeIndex = 1 Header.AutoSizeIndex = 1
Header.DefaultHeight = 17
Header.Height = 20 Header.Height = 20
Header.Options = [hoAutoResize, hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible] Header.Options = [hoAutoResize, hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible]
Header.ParentFont = True Header.ParentFont = True
@ -757,7 +754,6 @@ object MainForm: TMainForm
Align = alClient Align = alClient
DragOperations = [] DragOperations = []
Header.AutoSizeIndex = 1 Header.AutoSizeIndex = 1
Header.DefaultHeight = 17
Header.Height = 20 Header.Height = 20
Header.Options = [hoAutoResize, hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible] Header.Options = [hoAutoResize, hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible]
Header.ParentFont = True Header.ParentFont = True
@ -829,7 +825,6 @@ object MainForm: TMainForm
Height = 200 Height = 200
Align = alClient Align = alClient
Header.AutoSizeIndex = 7 Header.AutoSizeIndex = 7
Header.DefaultHeight = 17
Header.Height = 20 Header.Height = 20
Header.Options = [hoAutoResize, hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible] Header.Options = [hoAutoResize, hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible]
Header.ParentFont = True Header.ParentFont = True
@ -976,7 +971,6 @@ object MainForm: TMainForm
Height = 273 Height = 273
Align = alClient Align = alClient
Header.AutoSizeIndex = 4 Header.AutoSizeIndex = 4
Header.DefaultHeight = 17
Header.Height = 20 Header.Height = 20
Header.Options = [hoAutoResize, hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible] Header.Options = [hoAutoResize, hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible]
Header.ParentFont = True Header.ParentFont = True
@ -1049,7 +1043,6 @@ object MainForm: TMainForm
Align = alClient Align = alClient
EditDelay = 500 EditDelay = 500
Header.AutoSizeIndex = -1 Header.AutoSizeIndex = -1
Header.DefaultHeight = 17
Header.Height = 20 Header.Height = 20
Header.Options = [hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible] Header.Options = [hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible]
Header.ParentFont = True Header.ParentFont = True
@ -1418,7 +1411,6 @@ object MainForm: TMainForm
AutoScrollDelay = 50 AutoScrollDelay = 50
EditDelay = 0 EditDelay = 0
Header.AutoSizeIndex = -1 Header.AutoSizeIndex = -1
Header.DefaultHeight = 17
Header.Height = 20 Header.Height = 20
Header.Images = ImageListMain Header.Images = ImageListMain
Header.MainColumn = -1 Header.MainColumn = -1
@ -1550,7 +1542,6 @@ object MainForm: TMainForm
DragMode = dmAutomatic DragMode = dmAutomatic
DragType = dtVCL DragType = dtVCL
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Font.Charset = DEFAULT_CHARSET Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText Header.Font.Color = clWindowText
Header.Font.Height = -11 Header.Font.Height = -11
@ -1600,7 +1591,6 @@ object MainForm: TMainForm
AutoScrollDelay = 50 AutoScrollDelay = 50
EditDelay = 0 EditDelay = 0
Header.AutoSizeIndex = -1 Header.AutoSizeIndex = -1
Header.DefaultHeight = 17
Header.Height = 20 Header.Height = 20
Header.Images = ImageListMain Header.Images = ImageListMain
Header.MainColumn = -1 Header.MainColumn = -1

View File

@ -887,7 +887,6 @@ object optionsform: Toptionsform
Height = 353 Height = 353
Align = alLeft Align = alLeft
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Font.Charset = DEFAULT_CHARSET Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText Header.Font.Color = clWindowText
Header.Font.Height = -11 Header.Font.Height = -11

View File

@ -258,7 +258,6 @@ object frmRoutineEditor: TfrmRoutineEditor
DragType = dtVCL DragType = dtVCL
EditDelay = 0 EditDelay = 0
Header.AutoSizeIndex = 1 Header.AutoSizeIndex = 1
Header.DefaultHeight = 17
Header.MainColumn = 1 Header.MainColumn = 1
Header.Options = [hoAutoResize, hoColumnResize, hoDblClickResize, hoDrag, hoVisible] Header.Options = [hoAutoResize, hoColumnResize, hoDblClickResize, hoDrag, hoVisible]
Header.ParentFont = True Header.ParentFont = True

View File

@ -44,7 +44,6 @@ object frmSelectDBObject: TfrmSelectDBObject
Height = 206 Height = 206
Anchors = [akLeft, akTop, akRight, akBottom] Anchors = [akLeft, akTop, akRight, akBottom]
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Font.Charset = DEFAULT_CHARSET Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText Header.Font.Color = clWindowText
Header.Font.Height = -11 Header.Font.Height = -11

View File

@ -102,7 +102,6 @@ object frmSQLhelp: TfrmSQLhelp
Margins.Bottom = 0 Margins.Bottom = 0
Align = alClient Align = alClient
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Font.Charset = DEFAULT_CHARSET Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText Header.Font.Color = clWindowText
Header.Font.Height = -11 Header.Font.Height = -11

View File

@ -43,7 +43,6 @@ object frmSyncDB: TfrmSyncDB
AccessibleName = 'tree' AccessibleName = 'tree'
Anchors = [akLeft, akTop, akBottom] Anchors = [akLeft, akTop, akBottom]
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Font.Charset = DEFAULT_CHARSET Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText Header.Font.Color = clWindowText
Header.Font.Height = -11 Header.Font.Height = -11
@ -206,7 +205,6 @@ object frmSyncDB: TfrmSyncDB
Height = 115 Height = 115
Anchors = [akLeft, akTop, akRight, akBottom] Anchors = [akLeft, akTop, akRight, akBottom]
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Font.Charset = DEFAULT_CHARSET Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText Header.Font.Color = clWindowText
Header.Font.Height = -11 Header.Font.Height = -11

View File

@ -61,7 +61,6 @@ object frmTableEditor: TfrmTableEditor
DragMode = dmAutomatic DragMode = dmAutomatic
EditDelay = 0 EditDelay = 0
Header.AutoSizeIndex = -1 Header.AutoSizeIndex = -1
Header.DefaultHeight = 17
Header.Options = [hoColumnResize, hoDblClickResize, hoDrag, hoVisible] Header.Options = [hoColumnResize, hoDblClickResize, hoDrag, hoVisible]
Header.ParentFont = True Header.ParentFont = True
Header.PopupMenu = MainForm.popupListHeader Header.PopupMenu = MainForm.popupListHeader
@ -398,7 +397,6 @@ object frmTableEditor: TfrmTableEditor
DragMode = dmAutomatic DragMode = dmAutomatic
EditDelay = 0 EditDelay = 0
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoShowSortGlyphs, hoVisible] Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoShowSortGlyphs, hoVisible]
Header.ParentFont = True Header.ParentFont = True
Images = MainForm.ImageListMain Images = MainForm.ImageListMain
@ -561,7 +559,6 @@ object frmTableEditor: TfrmTableEditor
Align = alClient Align = alClient
EditDelay = 0 EditDelay = 0
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoShowSortGlyphs, hoVisible] Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoShowSortGlyphs, hoVisible]
Header.ParentFont = True Header.ParentFont = True
Images = MainForm.ImageListMain Images = MainForm.ImageListMain

View File

@ -70,7 +70,6 @@ object frmTableTools: TfrmTableTools
Height = 336 Height = 336
Align = alLeft Align = alLeft
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Font.Charset = DEFAULT_CHARSET Header.Font.Charset = DEFAULT_CHARSET
Header.Font.Color = clWindowText Header.Font.Color = clWindowText
Header.Font.Height = -11 Header.Font.Height = -11
@ -119,7 +118,6 @@ object frmTableTools: TfrmTableTools
Height = 191 Height = 191
Align = alClient Align = alClient
Header.AutoSizeIndex = -1 Header.AutoSizeIndex = -1
Header.DefaultHeight = 17
Header.Images = MainForm.ImageListMain Header.Images = MainForm.ImageListMain
Header.MainColumn = -1 Header.MainColumn = -1
Header.Options = [hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible] Header.Options = [hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible]

View File

@ -104,7 +104,6 @@ object UserManagerForm: TUserManagerForm
Height = 275 Height = 275
Align = alClient Align = alClient
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.Options = [hoAutoResize, hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible] Header.Options = [hoAutoResize, hoColumnResize, hoDblClickResize, hoDrag, hoHotTrack, hoShowSortGlyphs, hoVisible]
Header.ParentFont = True Header.ParentFont = True
Header.SortColumn = 0 Header.SortColumn = 0
@ -224,7 +223,6 @@ object UserManagerForm: TUserManagerForm
Height = 149 Height = 149
Align = alClient Align = alClient
Header.AutoSizeIndex = 0 Header.AutoSizeIndex = 0
Header.DefaultHeight = 17
Header.MainColumn = -1 Header.MainColumn = -1
Header.ParentFont = True Header.ParentFont = True
Images = MainForm.ImageListMain Images = MainForm.ImageListMain