+ missed dpks (D2010, DXE's)

+ KOL: TVSortChildrenCB for TreeView
* mckCtrlDraw: fix types for XE7

git-svn-id: https://svn.code.sf.net/p/kolmck/code@150 91bb2d04-0c0c-4d2d-88a5-bbb6f4c1fa07
This commit is contained in:
dkolmck 2014-12-21 16:31:42 +00:00
parent 09a575c01b
commit d0d9975aab
7 changed files with 331 additions and 8 deletions

55
KOL.pas
View File

@ -8230,15 +8230,15 @@ type
TVHT_ABOVE Above the client area
TVHT_BELOW Below the client area
TVHT_NOWHERE In the client area, but below the last item
TVHT_ONITEM On the bitmap or label associated with an item
TVHT_ONITEM On the bitmap or label associated with an item
TVHT_ONITEMBUTTON On the button associated with an item
TVHT_ONITEMICON On the bitmap associated with an item
TVHT_ONITEMICON On the bitmap associated with an item
TVHT_ONITEMINDENT In the indentation associated with an item
TVHT_ONITEMLABEL On the label (string) associated with an item
TVHT_ONITEMRIGHT In the area to the right of an item
TVHT_ONITEMLABEL On the label (string) associated with an item
TVHT_ONITEMRIGHT In the area to the right of an item
TVHT_ONITEMSTATEICON On the state icon for a tree-view item that is in a user-defined state
TVHT_TOLEFT To the right of the client area
TVHT_TORIGHT To the left of the client area
TVHT_TOLEFT To the right of the client area
TVHT_TORIGHT To the left of the client area
|</pre> }
property TVRightClickSelect: Boolean read DF.fTVRightClickSelect write SetTVRightClickSelect;
@ -8287,6 +8287,11 @@ type
By Alex Mokrov. Sorts treeview. If N = 0, entire treeview is sorted.
Otherwise, children of the given node only.
}
function TVSortChildrenCB(hParent: THandle; const aSort: TCompareEvent; recurse: Integer): BOOL;
{* |<#treeview>
Sorts tree-view items using an application-defined callback function that compares the items
dufa.
}
property TVItemImage[ Item: THandle ]: Integer index TVIF_IMAGE read TVGetItemImage write TVSetItemImage;
{* |<#treeview>
@ -56996,6 +57001,44 @@ begin
Perform(TVM_SORTCHILDREN, 0, 0); //+ by YS
end;
//dufa
type
PFNTVCOMPARE = function(lParam1, lParam2, lParamSort: LPARAM): Integer; stdcall;
TTVCompare = PFNTVCOMPARE;
tagTVSORTCB = packed record
hParent: THandle;//HTreeItem;
lpfnCompare: TTVCompare;
lParam: LPARAM;
end;
_TV_SORTCB = tagTVSORTCB;
TTVSortCB = tagTVSORTCB;
TV_SORTCB = tagTVSORTCB;
function TVCOMPARE(lParam1, lParam2, lParamSort: LPARAM): Integer; stdcall;
var
m: PMethod;
begin
m := PMethod(lParamSort);
if Assigned(m) and Assigned(m.Code) then
Result := TCompareEvent(m.Code)(m.Data, lParam1, lParam2)
else
Result := 0;
end;
function TControl.TVSortChildrenCB(hParent: THandle; const aSort: TCompareEvent; recurse: Integer): BOOL;
var
a: TTVSortCB;
m: TMethod;
begin
m.Code := @aSort;
m.Data := @Self;
a.hParent := hParent;
a.lpfnCompare := TVCOMPARE;
a.lParam := LPARAM(@m);
Result := BOOL(Perform(TVM_SORTCHILDRENCB, recurse, LPARAM(@a)));
end;
procedure TControl.TVDelete(Item: THandle);
begin
Perform( TVM_DELETEITEM, 0, LParam(Item) );

53
KOLMCK2010.dpk Normal file
View File

@ -0,0 +1,53 @@
package KOLMCK2010;
{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $13400000}
{$DESCRIPTION 'KOLMCK2010'}
{$DESIGNONLY}
{$IMPLICITBUILD OFF}
{$DEFINE INPACKAGE}
requires
rtl,
vcl,
designide,
xmlrtl,
vclactnband,
vclx;
contains
KOL in 'KOL.pas',
KOLadd in 'KOLadd.pas',
mirror in 'mirror.pas',
mckObjs in 'mckObjs.pas',
mckCtrls in 'mckCtrls.pas',
mckCtrlDraw in 'mckCtrlDraw.pas',
mckMenuEditor in 'mckMenuEditor.pas',
mckToolbarEditor in 'mckToolbarEditor.pas',
mckAccEditor in 'mckAccEditor.pas',
mckActionListEditor in 'mckActionListEditor.pas',
mckFileFilterEditor in 'mckFileFilterEditor.pas',
mckLVColumnsEditor in 'mckLVColumnsEditor.pas',
MCKAppExpert200x in 'MCKAppExpert200x.pas';
end.

56
KOLMCKXE2.dpk Normal file
View File

@ -0,0 +1,56 @@
package KOLMCKXE2;
{$R *.res}
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
{$ALIGN 4}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $25800000}
{$DEFINE DEBUG}
{$DEFINE INPACKAGE}
{$ENDIF IMPLICITBUILDING}
{$DESCRIPTION 'KOLMCKXE2'}
{$DESIGNONLY}
{$IMPLICITBUILD OFF}
requires
rtl,
vcl,
designide,
xmlrtl,
vclactnband,
vclx;
contains
KOL in 'KOL.pas',
KOLadd in 'KOLadd.pas',
mirror in 'mirror.pas',
mckObjs in 'mckObjs.pas',
mckCtrls in 'mckCtrls.pas',
mckCtrlDraw in 'mckCtrlDraw.pas',
mckMenuEditor in 'mckMenuEditor.pas',
mckToolbarEditor in 'mckToolbarEditor.pas',
mckAccEditor in 'mckAccEditor.pas',
mckActionListEditor in 'mckActionListEditor.pas',
mckFileFilterEditor in 'mckFileFilterEditor.pas',
mckLVColumnsEditor in 'mckLVColumnsEditor.pas',
MCKAppExpert200x in 'MCKAppExpert200x.pas';
end.

57
KOLMCKXE4.dpk Normal file
View File

@ -0,0 +1,57 @@
package KOLMCKXE4;
{$R *.res}
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION OFF}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DEFINE DEBUG}
{$DEFINE UNICODE_CTRLS}
{$DEFINE pas_only}
{$DEFINE pas_version}
{$ENDIF IMPLICITBUILDING}
{$DESCRIPTION 'MCK for XE4'}
{$DESIGNONLY}
{$IMPLICITBUILD ON}
requires
rtl,
designide,
vcl,
vclx,
xmlrtl;
contains
mckCtrlDraw in 'mckCtrlDraw.pas',
mckCtrls in 'mckCtrls.pas',
mckFileFilterEditor in 'mckFileFilterEditor.pas',
mckLVColumnsEditor in 'mckLVColumnsEditor.pas',
mckMenuEditor in 'mckMenuEditor.pas',
mckObjs in 'mckObjs.pas',
mckToolbarEditor in 'mckToolbarEditor.pas',
KOL in '..\KOL.pas',
KOLadd in '..\KOLadd.pas',
MCKAppExpert200x in 'MCKAppExpert200x.pas',
mirror in 'mirror.pas',
mckAccEditor in 'mckAccEditor.pas',
mckActionListEditor in 'mckActionListEditor.pas';
end.

57
KOLMCKXE5.dpk Normal file
View File

@ -0,0 +1,57 @@
package KOLMCKXE5;
{$R *.res}
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION OFF}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DEFINE DEBUG}
{$DEFINE UNICODE_CTRLS}
{$DEFINE pas_only}
{$DEFINE pas_version}
{$ENDIF IMPLICITBUILDING}
{$DESCRIPTION 'MCK for XE5'}
{$DESIGNONLY}
{$IMPLICITBUILD ON}
requires
rtl,
designide,
vcl,
vclx,
xmlrtl;
contains
mckCtrlDraw in 'mckCtrlDraw.pas',
mckCtrls in 'mckCtrls.pas',
mckFileFilterEditor in 'mckFileFilterEditor.pas',
mckLVColumnsEditor in 'mckLVColumnsEditor.pas',
mckMenuEditor in 'mckMenuEditor.pas',
mckObjs in 'mckObjs.pas',
mckToolbarEditor in 'mckToolbarEditor.pas',
KOL in '..\KOL.pas',
KOLadd in '..\KOLadd.pas',
MCKAppExpert200x in 'MCKAppExpert200x.pas',
mirror in 'mirror.pas',
mckAccEditor in 'mckAccEditor.pas',
mckActionListEditor in 'mckActionListEditor.pas';
end.

57
KOLMCKXE7.dpk Normal file
View File

@ -0,0 +1,57 @@
package KOLMCKXE7;
{$R *.res}
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $13400000}
{$DESCRIPTION 'KOLMCKXE7'}
{$DEFINE UNICODE_CTRLS}
{$DEFINE PAS_ONLY}
{$DEFINE PAS_VERSION}
{$ENDIF IMPLICITBUILDING}
{$DESIGNONLY}
{$IMPLICITBUILD OFF}
{$DEFINE INPACKAGE}
requires
rtl,
vcl,
designide,
xmlrtl,
vclx;
contains
KOL in 'KOL.pas',
KOLadd in 'KOLadd.pas',
mirror in 'mirror.pas',
mckObjs in 'mckObjs.pas',
mckCtrls in 'mckCtrls.pas',
mckCtrlDraw in 'mckCtrlDraw.pas',
mckMenuEditor in 'mckMenuEditor.pas',
mckToolbarEditor in 'mckToolbarEditor.pas',
mckAccEditor in 'mckAccEditor.pas',
mckActionListEditor in 'mckActionListEditor.pas',
mckFileFilterEditor in 'mckFileFilterEditor.pas',
mckLVColumnsEditor in 'mckLVColumnsEditor.pas',
MCKAppExpert200x in 'MCKAppExpert200x.pas';
end.

View File

@ -21,7 +21,7 @@ procedure DrawCheckbox(DC: HDC; R: TRect; aEnabled, aChecked, aHasBorder: Boolea
procedure DrawRadiobox(aUX: Boolean; DC: HDC; R: TRect; aEnabled, aChecked, aHasBorder: Boolean; aText: WideString);
procedure DrawListBox(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aText: WideString);
procedure DrawTreeView(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aText: WideString);
procedure DrawListView(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aColumns: WideString);
procedure DrawListView(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aColumns: KOLWideString);
procedure DrawProgressBar(DC: HDC; R: TRect; aVertical: Boolean; aProgress, aMaxProgress: Integer);
procedure DrawTrackBar(DC: HDC; R: TRect; aVertical: Boolean; aProgress, aMaxProgress: Integer);
procedure DrawGroupBox(aUX: Boolean; DC: HDC; R: TRect; aText: WideString);
@ -291,7 +291,7 @@ begin
DrawListBox(aUX, DC, R, aEnabled, aText);
end;
procedure DrawListView(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aColumns: WideString);
procedure DrawListView(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aColumns: KOLWideString);
var
w: WideString;
d: TThemedElementDetails;