* MCK: ux visual style mode updated
- MCK: remove pcode / collapse - MCK: remove FormCompact - MCK: source formatting: mckObjs.pas, mckCtrls.pas (by cnpack) - KOL: remove codegeneration for MCK FormCompact * KOL: move some defines from KOL.pas to KOLDEF.inc * KOL: some refactoring\cleaning * KOL: remove unused defines (SAFE_CODE, USE_CMOV, COMMANDACTIONS_OBJ, USE_AUTOFREE4CONTROLS, USE_AUTOFREE4CHILDREN, NEW_ALIGN, PROVIDE_EXITCODE - always on; OLD_REFCOUNT, SMALLEST_CODE*, SPEED_FASTER, USE_PROP, UMERIC_APPICON, CUSTOM_APPICON, TEST_INDEXOFCHARS_COMPAT, _FPC, REDEFINE_ABS, OLD_*, NOT_FIX_MODAL, NOT_UNLOAD_RICHEDITLIB, ANCHORS_WM_SIZE, COMMANDACTIONS_RECORD - always off; OLD_FREE and etc..) * KOL: fix WStrRScan - affected: ExtractFileNeme, ExtractFileExt, ExtractFilePath and "Create new mck project" in XE 10.2 and maybe other high versions (by Hubert Bannwarth) * KOL: fix "Create new mck project" in XE 10.2/3 and maybe other versions * KOL: remove some old\commented\broken\asm code and defines like "*ASM_NO_VERSION*" * KOLadd: remove some old\commented\broken\asm code and defines like "*ASM_NO_VERSION*" * and some else.. Tested on: Delphi 2006 x32(ansi\unicode) Delphi XE 10.3 x32(unicode), x64(unicode) git-svn-id: https://svn.code.sf.net/p/kolmck/code@166 91bb2d04-0c0c-4d2d-88a5-bbb6f4c1fa07
This commit is contained in:
508
KOLDEF.inc
508
KOLDEF.inc
@ -3,19 +3,20 @@
|
|||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF VER140} // Delphi 6
|
{$IFDEF VER140} // Delphi 6
|
||||||
{$DEFINE _D6}
|
|
||||||
{$DEFINE _D6orHigher}
|
{$DEFINE _D6orHigher}
|
||||||
|
{$DEFINE _D6}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF VER150} // Delphi 7
|
{$IFDEF VER150} // Delphi 7
|
||||||
{$DEFINE _D6orHigher}
|
{$DEFINE _D6orHigher}
|
||||||
{$DEFINE _D7}
|
|
||||||
{$DEFINE _D7orHigher}
|
{$DEFINE _D7orHigher}
|
||||||
|
{$DEFINE _D7}
|
||||||
|
|
||||||
{$WARN UNIT_DEPRECATED OFF}
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
{$WARN SYMBOL_PLATFORM OFF}
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
{$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}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF VER160} // Delphi 8
|
{$IFDEF VER160} // Delphi 8
|
||||||
@ -25,61 +26,59 @@
|
|||||||
{$IFDEF VER170} // Delphi 2005
|
{$IFDEF VER170} // Delphi 2005
|
||||||
{$DEFINE _D6orHigher}
|
{$DEFINE _D6orHigher}
|
||||||
{$DEFINE _D7orHigher}
|
{$DEFINE _D7orHigher}
|
||||||
{$DEFINE _D8}
|
|
||||||
{$DEFINE _D8orHigher}
|
|
||||||
{$DEFINE _D2005}
|
|
||||||
{$DEFINE _D2005orHigher}
|
{$DEFINE _D2005orHigher}
|
||||||
|
{$DEFINE _D2005}
|
||||||
|
|
||||||
{$WARN UNIT_DEPRECATED OFF}
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
{$WARN SYMBOL_PLATFORM OFF}
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
{$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}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF VER180} // Delphi 2006
|
{$IFDEF VER180} // Delphi 2006 or Turbo
|
||||||
{$DEFINE _D6orHigher}
|
|
||||||
{$DEFINE _D7orHigher}
|
|
||||||
{$DEFINE _D8orHigher}
|
|
||||||
{$DEFINE _D2005}
|
|
||||||
{$DEFINE _D2005orHigher}
|
|
||||||
{$DEFINE _D2006orHigher}
|
|
||||||
{$WARN UNIT_DEPRECATED OFF}
|
|
||||||
{$WARN SYMBOL_PLATFORM OFF}
|
|
||||||
{$WARN UNSAFE_TYPE OFF}
|
|
||||||
{$WARN UNSAFE_CAST OFF}
|
|
||||||
{$WARN UNSAFE_CODE OFF}
|
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
{$IFDEF _D2005orHigher} // by Thaddy de Koning:
|
|
||||||
{$IFDEF VER185} // Delphi 2007 ( and Highlander )
|
|
||||||
{$DEFINE _D6orHigher}
|
{$DEFINE _D6orHigher}
|
||||||
{$DEFINE _D7orHigher}
|
{$DEFINE _D7orHigher}
|
||||||
{$DEFINE _D2005orHigher}
|
{$DEFINE _D2005orHigher}
|
||||||
{$DEFINE _D2006orHigher}
|
{$DEFINE _D2006orHigher}
|
||||||
|
{$DEFINE _D2006}
|
||||||
|
|
||||||
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
|
// {$WARN UNSAFE_TYPE OFF}
|
||||||
|
// {$WARN UNSAFE_CAST OFF}
|
||||||
|
// {$WARN UNSAFE_CODE OFF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER185} // Delphi 2007
|
||||||
|
{$DEFINE _D6orHigher}
|
||||||
|
{$DEFINE _D7orHigher}
|
||||||
|
{$DEFINE _D2005orHigher}
|
||||||
|
{$DEFINE _D2006orHigher}
|
||||||
|
{$DEFINE _D2007orHigher}
|
||||||
{$DEFINE _D2007}
|
{$DEFINE _D2007}
|
||||||
{$DEFINE _D2007orHigher}
|
|
||||||
{$WARN UNIT_DEPRECATED OFF}
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
{$WARN SYMBOL_PLATFORM OFF}
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
{$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}
|
|
||||||
{$INLINE OFF}
|
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF VER200} // Delphi 2009
|
{$IFDEF VER200} // Delphi 2009 (first unicode version)
|
||||||
{$DEFINE _D6orHigher}
|
{$DEFINE _D6orHigher}
|
||||||
{$DEFINE _D7orHigher}
|
{$DEFINE _D7orHigher}
|
||||||
{$DEFINE _D2005orHigher}
|
{$DEFINE _D2005orHigher}
|
||||||
{$DEFINE _D2006orHigher}
|
{$DEFINE _D2006orHigher}
|
||||||
{$DEFINE _D2007orHigher}
|
{$DEFINE _D2007orHigher}
|
||||||
{$DEFINE _D2009}
|
|
||||||
{$DEFINE _D2009orHigher}
|
{$DEFINE _D2009orHigher}
|
||||||
|
{$DEFINE _D2009}
|
||||||
|
|
||||||
{$WARN UNIT_DEPRECATED OFF}
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
{$WARN SYMBOL_PLATFORM OFF}
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
{$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}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF VER210} // Delphi 2010
|
{$IFDEF VER210} // Delphi 2010
|
||||||
@ -89,13 +88,14 @@
|
|||||||
{$DEFINE _D2006orHigher}
|
{$DEFINE _D2006orHigher}
|
||||||
{$DEFINE _D2007orHigher}
|
{$DEFINE _D2007orHigher}
|
||||||
{$DEFINE _D2009orHigher}
|
{$DEFINE _D2009orHigher}
|
||||||
{$DEFINE _D2010}
|
|
||||||
{$DEFINE _D2010orHigher}
|
{$DEFINE _D2010orHigher}
|
||||||
|
{$DEFINE _D2010}
|
||||||
|
|
||||||
{$WARN UNIT_DEPRECATED OFF}
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
{$WARN SYMBOL_PLATFORM OFF}
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
{$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}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF VER220} // Delphi XE
|
{$IFDEF VER220} // Delphi XE
|
||||||
@ -106,13 +106,14 @@
|
|||||||
{$DEFINE _D2007orHigher}
|
{$DEFINE _D2007orHigher}
|
||||||
{$DEFINE _D2009orHigher}
|
{$DEFINE _D2009orHigher}
|
||||||
{$DEFINE _D2010orHigher}
|
{$DEFINE _D2010orHigher}
|
||||||
{$DEFINE _DXE}
|
|
||||||
{$DEFINE _DXEorHigher}
|
{$DEFINE _DXEorHigher}
|
||||||
{$WARN UNIT_DEPRECATED OFF}
|
{$DEFINE _DXE}
|
||||||
|
|
||||||
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
{$WARN SYMBOL_PLATFORM OFF}
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
{$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}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF VER230} // Delphi XE2
|
{$IFDEF VER230} // Delphi XE2
|
||||||
@ -124,18 +125,18 @@
|
|||||||
{$DEFINE _D2009orHigher}
|
{$DEFINE _D2009orHigher}
|
||||||
{$DEFINE _D2010orHigher}
|
{$DEFINE _D2010orHigher}
|
||||||
{$DEFINE _DXEorHigher}
|
{$DEFINE _DXEorHigher}
|
||||||
|
{$DEFINE _DXE2orHigher}
|
||||||
{$DEFINE _DXE2}
|
{$DEFINE _DXE2}
|
||||||
{$DEFINE _DXE2orHigher}
|
|
||||||
{$IFDEF WIN64}
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
{$DEFINE PAS_VERSION}
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
{$DEFINE PAS_ONLY}
|
// {$WARN UNSAFE_TYPE OFF}
|
||||||
{.$DEFINE UNICODE_CTRLS}
|
// {$WARN UNSAFE_CAST OFF}
|
||||||
{$ENDIF}
|
// {$WARN UNSAFE_CODE OFF}
|
||||||
{$WARN UNIT_DEPRECATED OFF}
|
|
||||||
{.$WARN SYMBOL_PLATFORM OFF}
|
// {$IFDEF WIN64}
|
||||||
{.$WARN UNSAFE_TYPE OFF}
|
// {$DEFINE UNICODE_CTRLS}
|
||||||
{.$WARN UNSAFE_CAST OFF}
|
// {$ENDIF}
|
||||||
{.$WARN UNSAFE_CODE OFF}
|
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF VER240} // Delphi XE3
|
{$IFDEF VER240} // Delphi XE3
|
||||||
@ -147,19 +148,19 @@
|
|||||||
{$DEFINE _D2009orHigher}
|
{$DEFINE _D2009orHigher}
|
||||||
{$DEFINE _D2010orHigher}
|
{$DEFINE _D2010orHigher}
|
||||||
{$DEFINE _DXEorHigher}
|
{$DEFINE _DXEorHigher}
|
||||||
{$DEFINE _DXE2orHigher}
|
{$DEFINE _DXE2orHigher}
|
||||||
|
{$DEFINE _DXE3orHigher}
|
||||||
{$DEFINE _DXE3}
|
{$DEFINE _DXE3}
|
||||||
{$DEFINE _DXE3orHigher}
|
|
||||||
{$IFDEF WIN64}
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
{$DEFINE PAS_VERSION}
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
{$DEFINE PAS_ONLY}
|
// {$WARN UNSAFE_TYPE OFF}
|
||||||
{.$DEFINE UNICODE_CTRLS}
|
// {$WARN UNSAFE_CAST OFF}
|
||||||
{$ENDIF}
|
// {$WARN UNSAFE_CODE OFF}
|
||||||
{$WARN UNIT_DEPRECATED OFF}
|
|
||||||
{.$WARN SYMBOL_PLATFORM OFF}
|
// {$IFDEF WIN64}
|
||||||
{.$WARN UNSAFE_TYPE OFF}
|
// {$DEFINE UNICODE_CTRLS}
|
||||||
{.$WARN UNSAFE_CAST OFF}
|
// {$ENDIF}
|
||||||
{.$WARN UNSAFE_CODE OFF}
|
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF VER250} // Delphi XE4
|
{$IFDEF VER250} // Delphi XE4
|
||||||
@ -171,21 +172,22 @@
|
|||||||
{$DEFINE _D2009orHigher}
|
{$DEFINE _D2009orHigher}
|
||||||
{$DEFINE _D2010orHigher}
|
{$DEFINE _D2010orHigher}
|
||||||
{$DEFINE _DXEorHigher}
|
{$DEFINE _DXEorHigher}
|
||||||
{$DEFINE _DXE2orHigher}
|
{$DEFINE _DXE2orHigher}
|
||||||
{$DEFINE _DXE3orHigher}
|
{$DEFINE _DXE3orHigher}
|
||||||
|
{$DEFINE _DXE4orHigher}
|
||||||
{$DEFINE _DXE4}
|
{$DEFINE _DXE4}
|
||||||
{$DEFINE _DXE4orHigher}
|
|
||||||
{$IFDEF WIN64}
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
{$DEFINE PAS_VERSION}
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
{$DEFINE PAS_ONLY}
|
// {$WARN UNSAFE_TYPE OFF}
|
||||||
{.$DEFINE UNICODE_CTRLS}
|
// {$WARN UNSAFE_CAST OFF}
|
||||||
{$ENDIF}
|
// {$WARN UNSAFE_CODE OFF}
|
||||||
{$WARN UNIT_DEPRECATED OFF}
|
|
||||||
{.$WARN SYMBOL_PLATFORM OFF}
|
// {$IFDEF WIN64}
|
||||||
{.$WARN UNSAFE_TYPE OFF}
|
// {$DEFINE UNICODE_CTRLS}
|
||||||
{.$WARN UNSAFE_CAST OFF}
|
// {$ENDIF}
|
||||||
{.$WARN UNSAFE_CODE OFF}
|
|
||||||
{$DEFINE TMSG_WINDOWS}
|
{$DEFINE TMSG_WINDOWS}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF VER260} // Delphi XE5
|
{$IFDEF VER260} // Delphi XE5
|
||||||
@ -197,22 +199,23 @@
|
|||||||
{$DEFINE _D2009orHigher}
|
{$DEFINE _D2009orHigher}
|
||||||
{$DEFINE _D2010orHigher}
|
{$DEFINE _D2010orHigher}
|
||||||
{$DEFINE _DXEorHigher}
|
{$DEFINE _DXEorHigher}
|
||||||
{$DEFINE _DXE2orHigher}
|
{$DEFINE _DXE2orHigher}
|
||||||
{$DEFINE _DXE3orHigher}
|
{$DEFINE _DXE3orHigher}
|
||||||
{$DEFINE _DXE4orHigher}
|
{$DEFINE _DXE4orHigher}
|
||||||
|
{$DEFINE _DXE5orHigher}
|
||||||
{$DEFINE _DXE5}
|
{$DEFINE _DXE5}
|
||||||
{$DEFINE _DXE5orHigher}
|
|
||||||
{$IFDEF WIN64}
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
{$DEFINE PAS_VERSION}
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
{$DEFINE PAS_ONLY}
|
// {$WARN UNSAFE_TYPE OFF}
|
||||||
{.$DEFINE UNICODE_CTRLS}
|
// {$WARN UNSAFE_CAST OFF}
|
||||||
{$ENDIF}
|
// {$WARN UNSAFE_CODE OFF}
|
||||||
{$WARN UNIT_DEPRECATED OFF}
|
|
||||||
{.$WARN SYMBOL_PLATFORM OFF}
|
// {$IFDEF WIN64}
|
||||||
{.$WARN UNSAFE_TYPE OFF}
|
// {$DEFINE UNICODE_CTRLS}
|
||||||
{.$WARN UNSAFE_CAST OFF}
|
// {$ENDIF}
|
||||||
{.$WARN UNSAFE_CODE OFF}
|
|
||||||
{$DEFINE TMSG_WINDOWS}
|
{$DEFINE TMSG_WINDOWS}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF VER270} // Delphi XE6
|
{$IFDEF VER270} // Delphi XE6
|
||||||
@ -224,23 +227,24 @@
|
|||||||
{$DEFINE _D2009orHigher}
|
{$DEFINE _D2009orHigher}
|
||||||
{$DEFINE _D2010orHigher}
|
{$DEFINE _D2010orHigher}
|
||||||
{$DEFINE _DXEorHigher}
|
{$DEFINE _DXEorHigher}
|
||||||
{$DEFINE _DXE2orHigher}
|
{$DEFINE _DXE2orHigher}
|
||||||
{$DEFINE _DXE3orHigher}
|
{$DEFINE _DXE3orHigher}
|
||||||
{$DEFINE _DXE4orHigher}
|
{$DEFINE _DXE4orHigher}
|
||||||
{$DEFINE _DXE5orHigher}
|
{$DEFINE _DXE5orHigher}
|
||||||
{$DEFINE _DXE6}
|
{$DEFINE _DXE6orHigher}
|
||||||
{$DEFINE _DXE6orHigher}
|
{$DEFINE _DXE6}
|
||||||
{$IFDEF WIN64}
|
|
||||||
{$DEFINE PAS_VERSION}
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
{$DEFINE PAS_ONLY}
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
{.$DEFINE UNICODE_CTRLS}
|
// {$WARN UNSAFE_TYPE OFF}
|
||||||
{$ENDIF}
|
// {$WARN UNSAFE_CAST OFF}
|
||||||
{$WARN UNIT_DEPRECATED OFF}
|
// {$WARN UNSAFE_CODE OFF}
|
||||||
{.$WARN SYMBOL_PLATFORM OFF}
|
|
||||||
{.$WARN UNSAFE_TYPE OFF}
|
// {$IFDEF WIN64}
|
||||||
{.$WARN UNSAFE_CAST OFF}
|
// {$DEFINE UNICODE_CTRLS}
|
||||||
{.$WARN UNSAFE_CODE OFF}
|
// {$ENDIF}
|
||||||
{$DEFINE TMSG_WINDOWS}
|
|
||||||
|
{$DEFINE TMSG_WINDOWS}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF VER280} // Delphi XE7
|
{$IFDEF VER280} // Delphi XE7
|
||||||
@ -252,23 +256,120 @@
|
|||||||
{$DEFINE _D2009orHigher}
|
{$DEFINE _D2009orHigher}
|
||||||
{$DEFINE _D2010orHigher}
|
{$DEFINE _D2010orHigher}
|
||||||
{$DEFINE _DXEorHigher}
|
{$DEFINE _DXEorHigher}
|
||||||
{$DEFINE _DXE2orHigher}
|
{$DEFINE _DXE2orHigher}
|
||||||
{$DEFINE _DXE3orHigher}
|
{$DEFINE _DXE3orHigher}
|
||||||
{$DEFINE _DXE4orHigher}
|
{$DEFINE _DXE4orHigher}
|
||||||
{$DEFINE _DXE5orHigher}
|
{$DEFINE _DXE5orHigher}
|
||||||
{$DEFINE _DXE6orHigher}
|
{$DEFINE _DXE6orHigher}
|
||||||
{$DEFINE _DXE7}
|
{$DEFINE _DXE7orHigher}
|
||||||
{$DEFINE _DXE7orHigher}
|
{$DEFINE _DXE7}
|
||||||
{$IFDEF WIN64}
|
|
||||||
{$DEFINE PAS_VERSION}
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
{$DEFINE PAS_ONLY}
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
{.$DEFINE UNICODE_CTRLS}
|
// {$WARN UNSAFE_TYPE OFF}
|
||||||
{$ENDIF}
|
// {$WARN UNSAFE_CAST OFF}
|
||||||
{$WARN UNIT_DEPRECATED OFF}
|
// {$WARN UNSAFE_CODE OFF}
|
||||||
{.$WARN SYMBOL_PLATFORM OFF}
|
|
||||||
{.$WARN UNSAFE_TYPE OFF}
|
// {$IFDEF WIN64}
|
||||||
{.$WARN UNSAFE_CAST OFF}
|
// {$DEFINE UNICODE_CTRLS}
|
||||||
{.$WARN UNSAFE_CODE OFF}
|
// {$ENDIF}
|
||||||
|
|
||||||
|
{$DEFINE TMSG_WINDOWS}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER290} // Delphi XE8
|
||||||
|
{$DEFINE _D6orHigher}
|
||||||
|
{$DEFINE _D7orHigher}
|
||||||
|
{$DEFINE _D2005orHigher}
|
||||||
|
{$DEFINE _D2006orHigher}
|
||||||
|
{$DEFINE _D2007orHigher}
|
||||||
|
{$DEFINE _D2009orHigher}
|
||||||
|
{$DEFINE _D2010orHigher}
|
||||||
|
{$DEFINE _DXEorHigher}
|
||||||
|
{$DEFINE _DXE2orHigher}
|
||||||
|
{$DEFINE _DXE3orHigher}
|
||||||
|
{$DEFINE _DXE4orHigher}
|
||||||
|
{$DEFINE _DXE5orHigher}
|
||||||
|
{$DEFINE _DXE6orHigher}
|
||||||
|
{$DEFINE _DXE7orHigher}
|
||||||
|
{$DEFINE _DXE8orHigher}
|
||||||
|
{$DEFINE _DXE8}
|
||||||
|
|
||||||
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
|
// {$WARN UNSAFE_TYPE OFF}
|
||||||
|
// {$WARN UNSAFE_CAST OFF}
|
||||||
|
// {$WARN UNSAFE_CODE OFF}
|
||||||
|
|
||||||
|
// {$IFDEF WIN64}
|
||||||
|
// {$DEFINE UNICODE_CTRLS}
|
||||||
|
// {$ENDIF}
|
||||||
|
|
||||||
|
{$DEFINE TMSG_WINDOWS}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER300} // Delphi 10 Seattle
|
||||||
|
{$DEFINE _D6orHigher}
|
||||||
|
{$DEFINE _D7orHigher}
|
||||||
|
{$DEFINE _D2005orHigher}
|
||||||
|
{$DEFINE _D2006orHigher}
|
||||||
|
{$DEFINE _D2007orHigher}
|
||||||
|
{$DEFINE _D2009orHigher}
|
||||||
|
{$DEFINE _D2010orHigher}
|
||||||
|
{$DEFINE _DXEorHigher}
|
||||||
|
{$DEFINE _DXE2orHigher}
|
||||||
|
{$DEFINE _DXE3orHigher}
|
||||||
|
{$DEFINE _DXE4orHigher}
|
||||||
|
{$DEFINE _DXE5orHigher}
|
||||||
|
{$DEFINE _DXE6orHigher}
|
||||||
|
{$DEFINE _DXE7orHigher}
|
||||||
|
{$DEFINE _DXE8orHigher}
|
||||||
|
{$DEFINE _D10orHigher}
|
||||||
|
{$DEFINE _D10}
|
||||||
|
|
||||||
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
|
// {$WARN UNSAFE_TYPE OFF}
|
||||||
|
// {$WARN UNSAFE_CAST OFF}
|
||||||
|
// {$WARN UNSAFE_CODE OFF}
|
||||||
|
|
||||||
|
// {$IFDEF WIN64}
|
||||||
|
// {$DEFINE UNICODE_CTRLS}
|
||||||
|
// {$ENDIF}
|
||||||
|
|
||||||
|
{$DEFINE TMSG_WINDOWS}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER310} // Delphi 10.1 Berlin
|
||||||
|
{$DEFINE _D6orHigher}
|
||||||
|
{$DEFINE _D7orHigher}
|
||||||
|
{$DEFINE _D2005orHigher}
|
||||||
|
{$DEFINE _D2006orHigher}
|
||||||
|
{$DEFINE _D2007orHigher}
|
||||||
|
{$DEFINE _D2009orHigher}
|
||||||
|
{$DEFINE _D2010orHigher}
|
||||||
|
{$DEFINE _DXEorHigher}
|
||||||
|
{$DEFINE _DXE2orHigher}
|
||||||
|
{$DEFINE _DXE3orHigher}
|
||||||
|
{$DEFINE _DXE4orHigher}
|
||||||
|
{$DEFINE _DXE5orHigher}
|
||||||
|
{$DEFINE _DXE6orHigher}
|
||||||
|
{$DEFINE _DXE7orHigher}
|
||||||
|
{$DEFINE _DXE8orHigher}
|
||||||
|
{$DEFINE _D10orHigher}
|
||||||
|
{$DEFINE _D10_1orHigher}
|
||||||
|
{$DEFINE _D10_1}
|
||||||
|
|
||||||
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
|
// {$WARN UNSAFE_TYPE OFF}
|
||||||
|
// {$WARN UNSAFE_CAST OFF}
|
||||||
|
// {$WARN UNSAFE_CODE OFF}
|
||||||
|
|
||||||
|
// {$IFDEF WIN64}
|
||||||
|
// {$DEFINE UNICODE_CTRLS}
|
||||||
|
// {$ENDIF}
|
||||||
|
|
||||||
{$DEFINE TMSG_WINDOWS}
|
{$DEFINE TMSG_WINDOWS}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
@ -286,31 +387,59 @@
|
|||||||
{$DEFINE _DXE4orHigher}
|
{$DEFINE _DXE4orHigher}
|
||||||
{$DEFINE _DXE5orHigher}
|
{$DEFINE _DXE5orHigher}
|
||||||
{$DEFINE _DXE6orHigher}
|
{$DEFINE _DXE6orHigher}
|
||||||
{$DEFINE _DXE7}
|
|
||||||
{$DEFINE _DXE7orHigher}
|
{$DEFINE _DXE7orHigher}
|
||||||
{$DEFINE _D10_2}
|
{$DEFINE _DXE8orHigher}
|
||||||
|
{$DEFINE _D10orHigher}
|
||||||
|
{$DEFINE _D10_1orHigher}
|
||||||
{$DEFINE _D10_2orHigher}
|
{$DEFINE _D10_2orHigher}
|
||||||
{$IFDEF WIN64}
|
{$DEFINE _D10_2}
|
||||||
{$DEFINE PAS_VERSION}
|
|
||||||
{$DEFINE PAS_ONLY}
|
|
||||||
{.$DEFINE UNICODE_CTRLS}
|
|
||||||
{$ENDIF}
|
|
||||||
{$WARN UNIT_DEPRECATED OFF}
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
{.$WARN SYMBOL_PLATFORM OFF}
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
{.$WARN UNSAFE_TYPE OFF}
|
// {$WARN UNSAFE_TYPE OFF}
|
||||||
{.$WARN UNSAFE_CAST OFF}
|
// {$WARN UNSAFE_CAST OFF}
|
||||||
{.$WARN UNSAFE_CODE OFF}
|
// {$WARN UNSAFE_CODE OFF}
|
||||||
|
|
||||||
|
// {$IFDEF WIN64}
|
||||||
|
// {$DEFINE UNICODE_CTRLS}
|
||||||
|
// {$ENDIF}
|
||||||
|
|
||||||
{$DEFINE TMSG_WINDOWS}
|
{$DEFINE TMSG_WINDOWS}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
// TODO: check DLL project
|
{$IFDEF VER330} // Delphi 10.3 Rio
|
||||||
{$IFNDEF NO_STRIP_RELOC}
|
{$DEFINE _D6orHigher}
|
||||||
// by Thaddy de Koning:
|
{$DEFINE _D7orHigher}
|
||||||
{$IFDEF _D2006orHigher}
|
{$DEFINE _D2005orHigher}
|
||||||
// strips relocs, like stripreloc.exe does
|
{$DEFINE _D2006orHigher}
|
||||||
{$SetPEFlags 1}
|
{$DEFINE _D2007orHigher}
|
||||||
//{$SETPEFlAGS IMAGE_FILE_RELOCS_STRIPPED or IMAGE_FILE_DEBUG_STRIPPED or IMAGE_FILE_LINE_NUMS_STRIPPED or IMAGE_FILE_LOCAL_SYMS_STRIPPED or IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}
|
{$DEFINE _D2009orHigher}
|
||||||
{$ENDIF}
|
{$DEFINE _D2010orHigher}
|
||||||
|
{$DEFINE _DXEorHigher}
|
||||||
|
{$DEFINE _DXE2orHigher}
|
||||||
|
{$DEFINE _DXE3orHigher}
|
||||||
|
{$DEFINE _DXE4orHigher}
|
||||||
|
{$DEFINE _DXE5orHigher}
|
||||||
|
{$DEFINE _DXE6orHigher}
|
||||||
|
{$DEFINE _DXE7orHigher}
|
||||||
|
{$DEFINE _DXE8orHigher}
|
||||||
|
{$DEFINE _D10orHigher}
|
||||||
|
{$DEFINE _D10_1orHigher}
|
||||||
|
{$DEFINE _D10_2orHigher}
|
||||||
|
{$DEFINE _D10_3orHigher}
|
||||||
|
{$DEFINE _D10_3}
|
||||||
|
|
||||||
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
|
// {$WARN UNSAFE_TYPE OFF}
|
||||||
|
// {$WARN UNSAFE_CAST OFF}
|
||||||
|
// {$WARN UNSAFE_CODE OFF}
|
||||||
|
|
||||||
|
// {$IFDEF WIN64}
|
||||||
|
// {$DEFINE UNICODE_CTRLS}
|
||||||
|
// {$ENDIF}
|
||||||
|
|
||||||
|
{$DEFINE TMSG_WINDOWS}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFDEF FPC}
|
{$IFDEF FPC}
|
||||||
@ -327,14 +456,14 @@
|
|||||||
------------------------------------}
|
------------------------------------}
|
||||||
{$DEFINE PAS_VERSION}
|
{$DEFINE PAS_VERSION}
|
||||||
{$IFDEF VER2}
|
{$IFDEF VER2}
|
||||||
{$DEFINE _D6orHigher}
|
{$DEFINE _D6orHigher}
|
||||||
{$DEFINE _D7}
|
{$DEFINE _D7}
|
||||||
{$DEFINE _D7orHigher}
|
{$DEFINE _D7orHigher}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IFDEF VER3}
|
{$IFDEF VER3}
|
||||||
// I should clean this up later.
|
// I should clean this up later.
|
||||||
{$DEFINE VER2}
|
{$DEFINE VER2}
|
||||||
{$DEFINE _D6orHigher}
|
{$DEFINE _D6orHigher}
|
||||||
{$DEFINE _D7}
|
{$DEFINE _D7}
|
||||||
{$DEFINE _D7orHigher}
|
{$DEFINE _D7orHigher}
|
||||||
{$DEFINE _D2005orHigher}
|
{$DEFINE _D2005orHigher}
|
||||||
@ -347,21 +476,13 @@
|
|||||||
{$DEFINE _KOLCtrlWrapper_}
|
{$DEFINE _KOLCtrlWrapper_}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFNDEF _NOT_KOLCtrlWrapper_}
|
|
||||||
{$DEFINE _KOLCtrlWrapper_}
|
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
//// from delphidef.inc ////
|
//// from delphidef.inc ////
|
||||||
|
|
||||||
//{$DEFINE _FPC}
|
{$DEFINE ASM_VERSION} // Comment this line to produce Pascal code. Or, just add PAS_VERSION to conditionals of your project (must be rebuilt).
|
||||||
{$DEFINE ASM_VERSION} // Comment this line to produce Pascal code.
|
|
||||||
// Or, just add PAS_VERSION to conditionals of your project (must be rebuilt).
|
|
||||||
|
|
||||||
{$IFDEF ASM_VERSION}
|
{$IFDEF ASM_VERSION}
|
||||||
{$IFDEF PAS_VERSION}
|
{$IFDEF PAS_VERSION}
|
||||||
{$UNDEF ASM_VERSION}
|
{$UNDEF ASM_VERSION}
|
||||||
// To compile a project with ASM_VERSION option turned off,
|
// To compile a project with ASM_VERSION option turned off, define a symbol PAS_VERSION in project options.
|
||||||
// define a symbol PAS_VERSION in project options.
|
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
@ -374,13 +495,6 @@
|
|||||||
// directive there. (Search the word: USE_CUSTOMEXTENSIONS).
|
// directive there. (Search the word: USE_CUSTOMEXTENSIONS).
|
||||||
// Please note, that this option is not fully supported now.
|
// Please note, that this option is not fully supported now.
|
||||||
|
|
||||||
//{$IFNDEF NOT_UNLOAD_RICHEDITLIB}
|
|
||||||
// {$DEFINE UNLOAD_RICHEDITLIB}
|
|
||||||
//{$ENDIF}
|
|
||||||
// You can freely comment this directive. 1st, if the application does not
|
|
||||||
// use richedit control. 2nd, even if it does, freeing the library handle actually is not needed.
|
|
||||||
// Another way to turn this option off is to define symbol NOT_UNLOAD_RICHEDITLIB in your project options.
|
|
||||||
|
|
||||||
{$IFNDEF USE_OLD_FLAGS}
|
{$IFNDEF USE_OLD_FLAGS}
|
||||||
{$DEFINE USE_FLAGS}
|
{$DEFINE USE_FLAGS}
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
@ -391,11 +505,49 @@
|
|||||||
{$DEFINE EVENTS_DYNAMIC}
|
{$DEFINE EVENTS_DYNAMIC}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
{$IFnDEF CMDACTIONS_RECORD}
|
{$DEFINE PACK_COMMANDACTIONS}
|
||||||
{$DEFINE COMMANDACTIONS_OBJ}
|
{$IFDEF NOT_PACK_COMMANDACTIONS}
|
||||||
{$DEFINE PACK_COMMANDACTIONS}
|
{$UNDEF PACK_COMMANDACTIONS}
|
||||||
{$IFDEF NOT_PACK_COMMANDACTIONS}
|
{$ENDIF}
|
||||||
{$UNDEF PACK_COMMANDACTIONS}
|
|
||||||
|
{$IFDEF WIN64}
|
||||||
|
{$DEFINE PAS_VERSION}
|
||||||
|
{$DEFINE PAS_ONLY}
|
||||||
|
{$ALIGN ON}
|
||||||
|
{$Z1} // MinEnumSize
|
||||||
|
{$ELSE}
|
||||||
|
{$A-} // align off, otherwise code is not good
|
||||||
|
{$Q-} // no overflow check: this option makes code wrong
|
||||||
|
{$R-} // no range checking: this option makes code wrong
|
||||||
|
{$Z-}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$T-} // not typed @-operator
|
||||||
|
|
||||||
|
{$IFDEF PAS_ONLY}
|
||||||
|
{$DEFINE PAS_VERSION}
|
||||||
|
{$ENDIF PAS_ONLY}
|
||||||
|
|
||||||
|
{$IFDEF PUREPASCAL}
|
||||||
|
{$DEFINE PAS_VERSION}
|
||||||
|
{$DEFINE PAS_ONLY}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF INPACKAGE} // use this symbol in packages requiring kol.pas
|
||||||
|
{$WARNINGS OFF}
|
||||||
|
{$DEFINE PAS_VERSION}
|
||||||
|
{$UNDEF ASM_VERSION}
|
||||||
|
{$UNDEF ASM_UNICODE}
|
||||||
|
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF _D2009orHigher}
|
||||||
|
{$DEFINE UNICODE_CTRLS}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF UNICODE_CTRLS}
|
||||||
|
{$IFDEF _D2009orHigher}
|
||||||
|
{$DEFINE UStr_} // use functions @UStrXXXX instead of @WStrXXXX
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
|
@ -98,9 +98,8 @@ type
|
|||||||
procedure DoCancel( Sender: PObj );
|
procedure DoCancel( Sender: PObj );
|
||||||
procedure DoNotClose( Sender: PObj; var Accept: Boolean );
|
procedure DoNotClose( Sender: PObj; var Accept: Boolean );
|
||||||
procedure DoShow( Sender: PObj );
|
procedure DoShow( Sender: PObj );
|
||||||
function DoMsg( var Msg: TMsg; var Rslt: Integer ): Boolean;
|
function DoMsg( var Msg: TMsg; var Rslt: LRESULT ): Boolean;
|
||||||
function DoExpanding( Sender: PControl; Item: THandle; Expand: Boolean )
|
function DoExpanding( Sender: PControl; Item: THandle; Expand: Boolean ): Boolean;
|
||||||
: Boolean;
|
|
||||||
function DoFilterAttrs( Attrs: DWORD; const APath: KOLString ): Boolean;
|
function DoFilterAttrs( Attrs: DWORD; const APath: KOLString ): Boolean;
|
||||||
procedure Rescantree;
|
procedure Rescantree;
|
||||||
procedure RescanNode( node: Integer );
|
procedure RescanNode( node: Integer );
|
||||||
@ -687,7 +686,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TOpenDirDialogEx.DoMsg(var Msg: TMsg; var Rslt: Integer): Boolean;
|
function TOpenDirDialogEx.DoMsg(var Msg: TMsg; var Rslt: LRESULT): Boolean;
|
||||||
var NMHdr: PNMHdr;
|
var NMHdr: PNMHdr;
|
||||||
NMCustomDraw: PNMCustomDraw;
|
NMCustomDraw: PNMCustomDraw;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
@ -1073,7 +1072,7 @@ begin
|
|||||||
SL.Add( Find32W.cFileName );
|
SL.Add( Find32W.cFileName );
|
||||||
if not FFindNextFileW( F, @Find32W ) then break;
|
if not FFindNextFileW( F, @Find32W ) then break;
|
||||||
end;
|
end;
|
||||||
SL.Sort( FALSE );
|
SL.Sort( [] );
|
||||||
//LogFileOutput( 'C:\sort_test.txt', '--------------------------'#13#10#13#10 +
|
//LogFileOutput( 'C:\sort_test.txt', '--------------------------'#13#10#13#10 +
|
||||||
// SL.Text );
|
// SL.Text );
|
||||||
FINALLY
|
FINALLY
|
||||||
|
BIN
KOLMCK2006.res
Normal file
BIN
KOLMCK2006.res
Normal file
Binary file not shown.
BIN
KOLMCK2007.res
Normal file
BIN
KOLMCK2007.res
Normal file
Binary file not shown.
BIN
KOLMCK2009.res
Normal file
BIN
KOLMCK2009.res
Normal file
Binary file not shown.
BIN
KOLMCK2010.res
Normal file
BIN
KOLMCK2010.res
Normal file
Binary file not shown.
47
KOLMCK3.dpk
47
KOLMCK3.dpk
@ -1,47 +0,0 @@
|
|||||||
package KOLMCK3;
|
|
||||||
|
|
||||||
{$R *.res}
|
|
||||||
{$ALIGN ON}
|
|
||||||
{$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 ON}
|
|
||||||
{$MINENUMSIZE 1}
|
|
||||||
{$IMAGEBASE $00400000}
|
|
||||||
{$DESCRIPTION '_KOL_ mirror controls for Delphi 3'}
|
|
||||||
{$DESIGNONLY}
|
|
||||||
{$IMPLICITBUILD ON}
|
|
||||||
|
|
||||||
requires
|
|
||||||
vcl30,
|
|
||||||
vclx30;
|
|
||||||
|
|
||||||
contains
|
|
||||||
mirror,
|
|
||||||
KOL,
|
|
||||||
mckCtrls,
|
|
||||||
mckObjs,
|
|
||||||
mckCtrlDraw,
|
|
||||||
mckActionListEditor,
|
|
||||||
mckLVColumnsEditor,
|
|
||||||
mckToolbarEditor,
|
|
||||||
mckAccEditor,
|
|
||||||
mckMenuEditor,
|
|
||||||
mckFileFilterEditor,
|
|
||||||
KOLadd in 'KOLadd.pas';
|
|
||||||
|
|
||||||
end.
|
|
49
KOLMCK5.dpk
49
KOLMCK5.dpk
@ -1,49 +0,0 @@
|
|||||||
package KOLMCK5;
|
|
||||||
|
|
||||||
{$R *.res}
|
|
||||||
{$ALIGN ON}
|
|
||||||
{$ASSERTIONS OFF}
|
|
||||||
{$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 ON}
|
|
||||||
{$MINENUMSIZE 1}
|
|
||||||
{$IMAGEBASE $400000}
|
|
||||||
{$DESCRIPTION '_KOL_ mirror controls for Delphi 5'}
|
|
||||||
{$DESIGNONLY}
|
|
||||||
{$IMPLICITBUILD ON}
|
|
||||||
{$DEFINE INPACKAGE}
|
|
||||||
{$DEFINE _NOT_KOLCtrlWrapper}
|
|
||||||
|
|
||||||
requires
|
|
||||||
vcl50,
|
|
||||||
Vclx50;
|
|
||||||
|
|
||||||
contains
|
|
||||||
mirror in 'mirror.pas',
|
|
||||||
KOL in 'KOL.pas',
|
|
||||||
mckCtrls in 'mckCtrls.pas',
|
|
||||||
mckObjs in 'mckObjs.pas',
|
|
||||||
mckAccEditor in 'mckAccEditor.pas' {KOLAccEdit},
|
|
||||||
mckMenuEditor in 'mckMenuEditor.pas',
|
|
||||||
mckFileFilterEditor in 'mckFileFilterEditor.pas' {fmFileFilterEditor},
|
|
||||||
mckToolbarEditor in 'mckToolbarEditor.pas' {fmToolbarEditor},
|
|
||||||
mckLVColumnsEditor in 'mckLVColumnsEditor.pas' {fmLVColumnsEditor},
|
|
||||||
mckCtrlDraw in 'mckCtrlDraw.pas',
|
|
||||||
mckActionListEditor in 'mckActionListEditor.pas',
|
|
||||||
KOLadd in 'KOLadd.pas';
|
|
||||||
|
|
||||||
end.
|
|
52
KOLMCK6.dpk
52
KOLMCK6.dpk
@ -1,52 +0,0 @@
|
|||||||
package KOLMCK6;
|
|
||||||
|
|
||||||
{$R *.res}
|
|
||||||
{$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 ON}
|
|
||||||
{$MINENUMSIZE 1}
|
|
||||||
{$IMAGEBASE $400000}
|
|
||||||
{$DESCRIPTION '_KOL_ mirror controls for Delphi 6'}
|
|
||||||
{$DESIGNONLY}
|
|
||||||
{$IMPLICITBUILD ON}
|
|
||||||
{$DEFINE INPACKAGE}
|
|
||||||
{$DEFINE PAS_VERSION}
|
|
||||||
{$DEFINE noMCKLOG}
|
|
||||||
{$DEFINE noNOT_USE_KOLCtrlWrapper}
|
|
||||||
|
|
||||||
requires
|
|
||||||
vcl,
|
|
||||||
vclx,
|
|
||||||
designide;
|
|
||||||
|
|
||||||
contains
|
|
||||||
KOL in 'KOL.pas',
|
|
||||||
KOLadd in 'KOLadd.pas',
|
|
||||||
mirror in 'mirror.pas',
|
|
||||||
mckCtrls in 'mckCtrls.pas',
|
|
||||||
mckObjs in 'mckObjs.pas',
|
|
||||||
mckAccEditor in 'mckAccEditor.pas' {KOLAccEdit},
|
|
||||||
mckMenuEditor in 'mckMenuEditor.pas',
|
|
||||||
mckFileFilterEditor in 'mckFileFilterEditor.pas' {fmFileFilterEditor},
|
|
||||||
mckToolbarEditor in 'mckToolbarEditor.pas' {fmToolbarEditor},
|
|
||||||
mckLVColumnsEditor in 'mckLVColumnsEditor.pas',
|
|
||||||
mckCtrlDraw in 'mckCtrlDraw.pas',
|
|
||||||
mckActionListEditor in 'mckActionListEditor.pas';
|
|
||||||
|
|
||||||
end.
|
|
BIN
KOLMCK7.res
Normal file
BIN
KOLMCK7.res
Normal file
Binary file not shown.
@ -1,7 +1,8 @@
|
|||||||
package KOLMCK4;
|
package KOLMCKXE10_2;
|
||||||
|
|
||||||
{$R *.res}
|
{$R *.res}
|
||||||
{$ALIGN ON}
|
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
|
||||||
|
{$ALIGN 8}
|
||||||
{$ASSERTIONS ON}
|
{$ASSERTIONS ON}
|
||||||
{$BOOLEVAL OFF}
|
{$BOOLEVAL OFF}
|
||||||
{$DEBUGINFO ON}
|
{$DEBUGINFO ON}
|
||||||
@ -11,40 +12,46 @@ package KOLMCK4;
|
|||||||
{$LOCALSYMBOLS ON}
|
{$LOCALSYMBOLS ON}
|
||||||
{$LONGSTRINGS ON}
|
{$LONGSTRINGS ON}
|
||||||
{$OPENSTRINGS ON}
|
{$OPENSTRINGS ON}
|
||||||
{$OPTIMIZATION OFF}
|
{$OPTIMIZATION ON}
|
||||||
{$OVERFLOWCHECKS OFF}
|
{$OVERFLOWCHECKS OFF}
|
||||||
{$RANGECHECKS OFF}
|
{$RANGECHECKS OFF}
|
||||||
{$REFERENCEINFO ON}
|
{$REFERENCEINFO ON}
|
||||||
{$SAFEDIVIDE OFF}
|
{$SAFEDIVIDE OFF}
|
||||||
{$STACKFRAMES ON}
|
{$STACKFRAMES OFF}
|
||||||
{$TYPEDADDRESS OFF}
|
{$TYPEDADDRESS OFF}
|
||||||
{$VARSTRINGCHECKS ON}
|
{$VARSTRINGCHECKS ON}
|
||||||
{$WRITEABLECONST ON}
|
{$WRITEABLECONST OFF}
|
||||||
{$MINENUMSIZE 1}
|
{$MINENUMSIZE 1}
|
||||||
{$IMAGEBASE $00400000}
|
{$IMAGEBASE $13400000}
|
||||||
{$DESCRIPTION '_KOL_ mirror controls for Delphi 4'}
|
{$DESCRIPTION 'KOLMCKXE10_2'}
|
||||||
|
{$DEFINE UNICODE_CTRLS}
|
||||||
|
{$DEFINE PAS_ONLY}
|
||||||
|
{$DEFINE PAS_VERSION}
|
||||||
|
{$ENDIF IMPLICITBUILDING}
|
||||||
{$DESIGNONLY}
|
{$DESIGNONLY}
|
||||||
{$IMPLICITBUILD ON}
|
{$IMPLICITBUILD OFF}
|
||||||
{$DEFINE INPACKAGE}
|
{$DEFINE INPACKAGE}
|
||||||
{$DEFINE _NOT_Use_KOLCtrlWrapper}
|
|
||||||
|
|
||||||
requires
|
requires
|
||||||
vcl40,
|
rtl,
|
||||||
Vclx40;
|
vcl,
|
||||||
|
designide,
|
||||||
|
xmlrtl,
|
||||||
|
vclx;
|
||||||
|
|
||||||
contains
|
contains
|
||||||
|
KOL in 'KOL.pas',
|
||||||
|
KOLadd in 'KOLadd.pas',
|
||||||
mirror in 'mirror.pas',
|
mirror in 'mirror.pas',
|
||||||
mckObjs in 'mckObjs.pas',
|
mckObjs in 'mckObjs.pas',
|
||||||
mckCtrls in 'mckCtrls.pas',
|
mckCtrls in 'mckCtrls.pas',
|
||||||
KOL in 'KOL.pas',
|
|
||||||
mckAccEditorD4 in 'mckAccEditorD4.pas',
|
|
||||||
mckCtrlDraw in 'mckCtrlDraw.pas',
|
mckCtrlDraw in 'mckCtrlDraw.pas',
|
||||||
mckActionListEditor in 'mckActionListEditor.pas',
|
|
||||||
mckMenuEditor in 'mckMenuEditor.pas',
|
mckMenuEditor in 'mckMenuEditor.pas',
|
||||||
mckAccEditor in 'mckAccEditor.pas',
|
|
||||||
mckToolbarEditor in 'mckToolbarEditor.pas',
|
mckToolbarEditor in 'mckToolbarEditor.pas',
|
||||||
mckLVColumnsEditor in 'mckLVColumnsEditor.pas',
|
mckAccEditor in 'mckAccEditor.pas',
|
||||||
|
mckActionListEditor in 'mckActionListEditor.pas',
|
||||||
mckFileFilterEditor in 'mckFileFilterEditor.pas',
|
mckFileFilterEditor in 'mckFileFilterEditor.pas',
|
||||||
KOLadd in 'KOLadd.pas';
|
mckLVColumnsEditor in 'mckLVColumnsEditor.pas',
|
||||||
|
MCKAppExpert200x in 'MCKAppExpert200x.pas';
|
||||||
|
|
||||||
end.
|
end.
|
BIN
KOLMCKXE10_2.res
Normal file
BIN
KOLMCKXE10_2.res
Normal file
Binary file not shown.
BIN
KOLMCKXE7.res
Normal file
BIN
KOLMCKXE7.res
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -22,11 +22,9 @@ asm
|
|||||||
PUSH EAX
|
PUSH EAX
|
||||||
CALL GetProcAddress
|
CALL GetProcAddress
|
||||||
XCHG ECX, EAX
|
XCHG ECX, EAX
|
||||||
{$IFDEF SAFE_CODE}
|
|
||||||
POP EDX
|
POP EDX
|
||||||
JECXZ @@fin
|
JECXZ @@fin
|
||||||
PUSH EDX
|
PUSH EDX
|
||||||
{$ENDIF}
|
|
||||||
PUSH 8 // dwSize
|
PUSH 8 // dwSize
|
||||||
PUSH ESP // @ ICC
|
PUSH ESP // @ ICC
|
||||||
CALL ECX // Proc( @ ICC )
|
CALL ECX // Proc( @ ICC )
|
||||||
@ -40,9 +38,7 @@ asm
|
|||||||
push edx // Flags
|
push edx // Flags
|
||||||
mov ecx, [Applet]
|
mov ecx, [Applet]
|
||||||
{$IFDEF SNAPMOUSE2DFLTBTN}
|
{$IFDEF SNAPMOUSE2DFLTBTN}
|
||||||
{$IFDEF SAFE_CODE}
|
|
||||||
jecxz @@0
|
jecxz @@0
|
||||||
{$ENDIF}
|
|
||||||
pushad
|
pushad
|
||||||
xchg eax, ecx
|
xchg eax, ecx
|
||||||
mov edx, offset[WndProcSnapMouse2DfltBtn]
|
mov edx, offset[WndProcSnapMouse2DfltBtn]
|
||||||
@ -51,9 +47,7 @@ asm
|
|||||||
@@0:
|
@@0:
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
mov edx, 0
|
mov edx, 0
|
||||||
{$IFDEF SAFE_CODE}
|
|
||||||
jecxz @@1
|
jecxz @@1
|
||||||
{$ENDIF}
|
|
||||||
mov edx, [ecx].TControl.fHandle
|
mov edx, [ecx].TControl.fHandle
|
||||||
mov ecx, [ecx].TControl.fCaption
|
mov ecx, [ecx].TControl.fCaption
|
||||||
@@1: push ecx // Title
|
@@1: push ecx // Title
|
||||||
@ -62,9 +56,7 @@ asm
|
|||||||
call MessageBox
|
call MessageBox
|
||||||
{$IFDEF SNAPMOUSE2DFLTBTN}
|
{$IFDEF SNAPMOUSE2DFLTBTN}
|
||||||
mov ecx, [Applet]
|
mov ecx, [Applet]
|
||||||
{$IFDEF SAFE_CODE}
|
|
||||||
jecxz @@2
|
jecxz @@2
|
||||||
{$ENDIF}
|
|
||||||
pushad
|
pushad
|
||||||
xchg eax, ecx
|
xchg eax, ecx
|
||||||
mov edx, offset[WndProcSnapMouse2DfltBtn]
|
mov edx, offset[WndProcSnapMouse2DfltBtn]
|
||||||
@ -109,10 +101,8 @@ asm
|
|||||||
PUSH EAX // prepare Length(Text)
|
PUSH EAX // prepare Length(Text)
|
||||||
CALL EDX2PChar
|
CALL EDX2PChar
|
||||||
PUSH EDX // prepare PChar(Text)
|
PUSH EDX // prepare PChar(Text)
|
||||||
{$IFDEF SAFE_CODE}
|
|
||||||
MOV EAX, EBX
|
MOV EAX, EBX
|
||||||
CALL RefInc
|
CALL RefInc
|
||||||
{$ENDIF}
|
|
||||||
PUSH HandleValid or FontValid
|
PUSH HandleValid or FontValid
|
||||||
PUSH EBX
|
PUSH EBX
|
||||||
CALL RequiredState
|
CALL RequiredState
|
||||||
@ -152,12 +142,10 @@ asm
|
|||||||
XCHG EAX, EBX
|
XCHG EAX, EBX
|
||||||
CALL SetHandle
|
CALL SetHandle
|
||||||
@@exit:
|
@@exit:
|
||||||
{$IFDEF SAFE_CODE}
|
|
||||||
PUSH EAX
|
PUSH EAX
|
||||||
XCHG EAX, EBX
|
XCHG EAX, EBX
|
||||||
CALL RefDec
|
CALL RefDec
|
||||||
POP EAX
|
POP EAX
|
||||||
{$ENDIF}
|
|
||||||
POP ESI
|
POP ESI
|
||||||
POP EBX
|
POP EBX
|
||||||
end;
|
end;
|
||||||
@ -229,10 +217,7 @@ asm // EAX = Value
|
|||||||
PUSH EDI
|
PUSH EDI
|
||||||
PUSH ECX
|
PUSH ECX
|
||||||
LEA EDI, [ESP+8+0Fh] // EBX := @Buf[ 15 ]
|
LEA EDI, [ESP+8+0Fh] // EBX := @Buf[ 15 ]
|
||||||
{$IFDEF SMALLEST_CODE}
|
|
||||||
{$ELSE}
|
|
||||||
AND EDX, $F
|
AND EDX, $F
|
||||||
{$ENDIF}
|
|
||||||
@@loop: DEC EDI
|
@@loop: DEC EDI
|
||||||
DEC EDX
|
DEC EDX
|
||||||
PUSH EAX
|
PUSH EAX
|
||||||
@ -634,16 +619,11 @@ function CopyTail( const S : AnsiString; Len : Integer ) : AnsiString;
|
|||||||
asm
|
asm
|
||||||
PUSH ECX
|
PUSH ECX
|
||||||
PUSH EAX
|
PUSH EAX
|
||||||
PUSH EDX
|
PUSH EDX
|
||||||
CALL System.@LStrLen
|
CALL System.@LStrLen
|
||||||
POP ECX
|
POP ECX
|
||||||
CMP ECX, EAX
|
CMP ECX, EAX
|
||||||
{$IFDEF USE_CMOV}
|
CMOVG ECX, EAX
|
||||||
CMOVG ECX, EAX
|
|
||||||
{$ELSE}
|
|
||||||
JLE @@1
|
|
||||||
MOV ECX, EAX
|
|
||||||
@@1: {$ENDIF}
|
|
||||||
|
|
||||||
MOV EDX, EAX
|
MOV EDX, EAX
|
||||||
SUB EDX, ECX
|
SUB EDX, ECX
|
||||||
@ -660,12 +640,7 @@ asm
|
|||||||
CALL System.@LStrLen
|
CALL System.@LStrLen
|
||||||
POP ECX
|
POP ECX
|
||||||
CMP ECX, EAX
|
CMP ECX, EAX
|
||||||
{$IFDEF USE_CMOV}
|
|
||||||
CMOVG ECX, EAX
|
CMOVG ECX, EAX
|
||||||
{$ELSE}
|
|
||||||
JLE @@1
|
|
||||||
MOV ECX, EAX
|
|
||||||
@@1: {$ENDIF}
|
|
||||||
|
|
||||||
MOV EDX, EAX
|
MOV EDX, EAX
|
||||||
SUB EDX, ECX
|
SUB EDX, ECX
|
||||||
@ -674,7 +649,6 @@ asm
|
|||||||
CALL System.@LStrDelete
|
CALL System.@LStrDelete
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$IFnDEF TEST_INDEXOFCHARS_COMPAT}
|
|
||||||
function IndexOfChar( const S : KOLString; Chr : KOLChar ) : Integer;
|
function IndexOfChar( const S : KOLString; Chr : KOLChar ) : Integer;
|
||||||
asm
|
asm
|
||||||
CALL EAX2PChar
|
CALL EAX2PChar
|
||||||
@ -686,7 +660,6 @@ asm
|
|||||||
LEA EDX, [EAX+1]
|
LEA EDX, [EAX+1]
|
||||||
@@1: SUB EAX, EDX
|
@@1: SUB EAX, EDX
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
function IndexOfCharsMin( const S, Chars : AnsiString ) : Integer;
|
function IndexOfCharsMin( const S, Chars : AnsiString ) : Integer;
|
||||||
asm PUSH ESI
|
asm PUSH ESI
|
||||||
@ -873,6 +846,12 @@ asm
|
|||||||
CALL RemoveStr
|
CALL RemoveStr
|
||||||
XCHG EAX, ESI
|
XCHG EAX, ESI
|
||||||
|
|
||||||
|
//dufa: if true -> AL=42 (this is char "*"), fix AL -> 1
|
||||||
|
@@fix_true_result:
|
||||||
|
TEST AL, AL
|
||||||
|
JZ @@exit
|
||||||
|
MOV AL, 1
|
||||||
|
//dufa.
|
||||||
@@exit:
|
@@exit:
|
||||||
POP ESI
|
POP ESI
|
||||||
end;
|
end;
|
||||||
@ -1550,105 +1529,6 @@ asm
|
|||||||
JMP _FillStrList
|
JMP _FillStrList
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TIniFile.SectionData(Names: PStrList);
|
|
||||||
asm
|
|
||||||
PUSH ESI
|
|
||||||
PUSH EDI
|
|
||||||
PUSH EBX
|
|
||||||
PUSH ECX
|
|
||||||
|
|
||||||
MOV EBX,EAX
|
|
||||||
MOV EAX, IniBufferStrSize
|
|
||||||
MOV EDI,EDX
|
|
||||||
|
|
||||||
CALL System.@GetMem
|
|
||||||
MOV ESI,EAX
|
|
||||||
PUSH EAX
|
|
||||||
|
|
||||||
OR [EBX].fMode,0
|
|
||||||
JNE @@DOWrite
|
|
||||||
|
|
||||||
PUSH [EBX].fFileName
|
|
||||||
MOV EAX,IniBufferSize
|
|
||||||
PUSH EAX
|
|
||||||
|
|
||||||
LEA EAX,[ESI+4]
|
|
||||||
PUSH EAX
|
|
||||||
PUSH [EBX].fSection
|
|
||||||
|
|
||||||
CALL GetPrivateProfileSection
|
|
||||||
JMP _FillStrList
|
|
||||||
|
|
||||||
@@DOWrite:
|
|
||||||
|
|
||||||
PUSH EBX
|
|
||||||
PUSH ESI
|
|
||||||
PUSH EDX
|
|
||||||
PUSH EBP
|
|
||||||
|
|
||||||
MOV EDX,0
|
|
||||||
MOV EBP,[EDI].TStrList.fCount
|
|
||||||
MOV EBX,IniBufferSize-2 // ������� ����� ��� #0#0
|
|
||||||
|
|
||||||
{ECM+++>} OR EBP,EBP // otherwise GetPChars when StrList.Count = 0 crashed
|
|
||||||
|
|
||||||
@@LOOP:
|
|
||||||
JE @@ENDLOOP
|
|
||||||
|
|
||||||
OR EBX,EBX
|
|
||||||
JE @@ENDLOOP
|
|
||||||
|
|
||||||
PUSH EDX
|
|
||||||
MOV EAX,EDI
|
|
||||||
CALL TStrList.GetPChars
|
|
||||||
|
|
||||||
PUSH EAX
|
|
||||||
CALL StrLen
|
|
||||||
POP EAX
|
|
||||||
|
|
||||||
XOR ECX,-1
|
|
||||||
MOV EDX,ESI
|
|
||||||
|
|
||||||
SUB EBX,ECX
|
|
||||||
JA @@L1
|
|
||||||
ADD ECX,EBX
|
|
||||||
XOR EBX,EBX
|
|
||||||
@@L1:
|
|
||||||
|
|
||||||
ADD ESI,ECX
|
|
||||||
|
|
||||||
CALL MOVE
|
|
||||||
@@L2:
|
|
||||||
POP EDX
|
|
||||||
INC EDX
|
|
||||||
DEC EBP
|
|
||||||
JMP @@LOOP
|
|
||||||
@@ENDLOOP:
|
|
||||||
MOV WORD PTR [ESI],0
|
|
||||||
|
|
||||||
POP EBP
|
|
||||||
POP EDX
|
|
||||||
POP ESI
|
|
||||||
POP EBX
|
|
||||||
MOV EAX,EBX
|
|
||||||
CALL ClearSection
|
|
||||||
|
|
||||||
PUSH [EBX].fFileName
|
|
||||||
PUSH ESI
|
|
||||||
PUSH [EBX].fSection
|
|
||||||
|
|
||||||
CALL WritePrivateProfileSection
|
|
||||||
|
|
||||||
POP EAX
|
|
||||||
CALL System.@FreeMem
|
|
||||||
|
|
||||||
POP ECX
|
|
||||||
POP EBX
|
|
||||||
POP EDI
|
|
||||||
POP ESI
|
|
||||||
|
|
||||||
end;
|
|
||||||
|
|
||||||
function _NewControl( AParent: PControl; ControlClassName: PKOLChar;
|
function _NewControl( AParent: PControl; ControlClassName: PKOLChar;
|
||||||
Style: DWORD; Ctl3D: Boolean;
|
Style: DWORD; Ctl3D: Boolean;
|
||||||
Actions: TCommandActionsParam ): PControl;
|
Actions: TCommandActionsParam ): PControl;
|
||||||
@ -1695,29 +1575,21 @@ asm
|
|||||||
LEA EDI, [EBX].TControl.fBoundsRect
|
LEA EDI, [EBX].TControl.fBoundsRect
|
||||||
LODSB
|
LODSB
|
||||||
MOVSX EAX, AL
|
MOVSX EAX, AL
|
||||||
{$IFNDEF SMALLEST_CODE}
|
|
||||||
PUSH EAX
|
PUSH EAX
|
||||||
MOVSX ECX, byte ptr [ESI+2]
|
MOVSX ECX, byte ptr [ESI+2]
|
||||||
ADD EAX, ECX // AParent.fClientLeft
|
ADD EAX, ECX // AParent.fClientLeft
|
||||||
{$ENDIF}
|
|
||||||
STOSD // fBoundsRect.Left
|
STOSD // fBoundsRect.Left
|
||||||
{$IFNDEF SMALLEST_CODE}
|
|
||||||
POP EAX
|
POP EAX
|
||||||
PUSH EAX
|
PUSH EAX
|
||||||
MOVSX ECX, byte ptr [ESI+0]
|
MOVSX ECX, byte ptr [ESI+0]
|
||||||
ADD EAX, ECX // AParent.fClientTop
|
ADD EAX, ECX // AParent.fClientTop
|
||||||
{$ENDIF}
|
|
||||||
STOSD // fBoundsRect.Top
|
STOSD // fBoundsRect.Top
|
||||||
{$IFNDEF SMALLEST_CODE}
|
|
||||||
XCHG EDX, EAX
|
XCHG EDX, EAX
|
||||||
POP EAX
|
POP EAX
|
||||||
{$ENDIF}
|
|
||||||
ADD EAX, 64
|
ADD EAX, 64
|
||||||
STOSD // fBoundsRect.Right
|
STOSD // fBoundsRect.Right
|
||||||
{$IFNDEF SMALLEST_CODE}
|
|
||||||
XCHG EAX, EDX
|
XCHG EAX, EDX
|
||||||
ADD EAX, 64
|
ADD EAX, 64
|
||||||
{$ENDIF}
|
|
||||||
STOSD // fBoundsRect.Bottom}
|
STOSD // fBoundsRect.Bottom}
|
||||||
POP ECX
|
POP ECX
|
||||||
MOV EAX, [ECX].TControl.fCursor
|
MOV EAX, [ECX].TControl.fCursor
|
||||||
@ -2503,11 +2375,7 @@ asm //cmd //opd
|
|||||||
CALL MakeFlags
|
CALL MakeFlags
|
||||||
POP EDX
|
POP EDX
|
||||||
|
|
||||||
{$IFDEF COMMANDACTIONS_OBJ}
|
|
||||||
PUSH TOOLBAR_ACTIONS
|
PUSH TOOLBAR_ACTIONS
|
||||||
{$ELSE}
|
|
||||||
PUSH 0 //: actions : = nil
|
|
||||||
{$ENDIF}
|
|
||||||
XCHG ECX, EAX // ECX = MakeFlags(...)
|
XCHG ECX, EAX // ECX = MakeFlags(...)
|
||||||
MOV EDI, ECX
|
MOV EDI, ECX
|
||||||
MOV EAX, [ESP+8] // EAX = AParent
|
MOV EAX, [ESP+8] // EAX = AParent
|
||||||
@ -2516,14 +2384,9 @@ asm //cmd //opd
|
|||||||
OR ECX, WS_CHILD or WS_VISIBLE or TBSTYLE_TOOLTIPS
|
OR ECX, WS_CHILD or WS_VISIBLE or TBSTYLE_TOOLTIPS
|
||||||
MOV EDX, offset[ TOOLBARCLASSNAME ]
|
MOV EDX, offset[ TOOLBARCLASSNAME ]
|
||||||
CALL _NewCommonControl
|
CALL _NewCommonControl
|
||||||
{$IFDEF COMMANDACTIONS_OBJ}
|
|
||||||
MOV EDX, [EAX].TControl.fCommandActions
|
MOV EDX, [EAX].TControl.fCommandActions
|
||||||
MOV [EDX].TCommandActionsObj.aClear, offset[ClearToolbar]
|
MOV [EDX].TCommandActionsObj.aClear, offset[ClearToolbar]
|
||||||
MOV [EDX].TCommandActionsObj.aGetCount, TB_BUTTONCOUNT
|
MOV [EDX].TCommandActionsObj.aGetCount, TB_BUTTONCOUNT
|
||||||
{$ELSE}
|
|
||||||
MOV [EAX].TControl.fCommandActions.aClear, offset[ClearToolbar]
|
|
||||||
MOV [EAX].TControl.fCommandActions.aGetCount, TB_BUTTONCOUNT
|
|
||||||
{$ENDIF}
|
|
||||||
{$IFDEF USE_FLAGS}
|
{$IFDEF USE_FLAGS}
|
||||||
OR [EAX].TControl.fFlagsG5, 1 shl G5_IsButton
|
OR [EAX].TControl.fFlagsG5, 1 shl G5_IsButton
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
@ -2838,11 +2701,7 @@ asm
|
|||||||
PUSH [hInstance]// Params.WindowClass.hInstance := hInstance
|
PUSH [hInstance]// Params.WindowClass.hInstance := hInstance
|
||||||
PUSH ECX // Params.WindowClass.cbWndExtra := 0
|
PUSH ECX // Params.WindowClass.cbWndExtra := 0
|
||||||
PUSH ECX // Params.WindowClass.cbClsExtra := 0
|
PUSH ECX // Params.WindowClass.cbClsExtra := 0
|
||||||
{$IFDEF SAFE_CODE}
|
|
||||||
PUSH [EBX].fDefWndProc // Params.WindowClass.lpfnWndProc := fDefWndProc
|
PUSH [EBX].fDefWndProc // Params.WindowClass.lpfnWndProc := fDefWndProc
|
||||||
{$ELSE}
|
|
||||||
PUSH 0
|
|
||||||
{$ENDIF}
|
|
||||||
PUSH [EBX].fClsStyle // Params.WindowClass.style := fStyle
|
PUSH [EBX].fClsStyle // Params.WindowClass.style := fStyle
|
||||||
ADD ESP, -64
|
ADD ESP, -64
|
||||||
PUSH ECX
|
PUSH ECX
|
||||||
@ -2872,12 +2731,7 @@ asm
|
|||||||
@@1: PUSH EAX // Params.Height := Height | CW_UseDefault
|
@@1: PUSH EAX // Params.Height := Height | CW_UseDefault
|
||||||
MOV EAX, [EBX].fBoundsRect.Right
|
MOV EAX, [EBX].fBoundsRect.Right
|
||||||
SUB EAX, [EBX].fBoundsRect.Left
|
SUB EAX, [EBX].fBoundsRect.Left
|
||||||
{$IFDEF USE_CMOV}
|
|
||||||
CMOVZ EAX, ECX
|
CMOVZ EAX, ECX
|
||||||
{$ELSE}
|
|
||||||
JNZ @@2
|
|
||||||
MOV EAX, ECX
|
|
||||||
@@2: {$ENDIF}
|
|
||||||
|
|
||||||
PUSH EAX // Params.Width := Width | CW_UseDefault
|
PUSH EAX // Params.Width := Width | CW_UseDefault
|
||||||
MOV EAX, [EBX].fBoundsRect.Left
|
MOV EAX, [EBX].fBoundsRect.Left
|
||||||
@ -2956,11 +2810,7 @@ asm
|
|||||||
TEST EAX, EAX
|
TEST EAX, EAX
|
||||||
JZ @@fin
|
JZ @@fin
|
||||||
PUSH EAX
|
PUSH EAX
|
||||||
{$IFDEF USE_PROP}
|
|
||||||
PUSH offset ID_SELF
|
|
||||||
{$ELSE}
|
|
||||||
PUSH GWL_USERDATA
|
PUSH GWL_USERDATA
|
||||||
{$ENDIF}
|
|
||||||
PUSH EAX
|
PUSH EAX
|
||||||
|
|
||||||
PUSH 0
|
PUSH 0
|
||||||
@ -2969,29 +2819,17 @@ asm
|
|||||||
PUSH EAX
|
PUSH EAX
|
||||||
CALL SendMessage
|
CALL SendMessage
|
||||||
|
|
||||||
{$IFDEF USE_PROP}
|
|
||||||
CALL GetProp
|
|
||||||
{$ELSE}
|
|
||||||
CALL GetWindowLong
|
CALL GetWindowLong
|
||||||
{$ENDIF}
|
|
||||||
XCHG ECX, EAX
|
XCHG ECX, EAX
|
||||||
POP EAX
|
POP EAX
|
||||||
INC ECX
|
INC ECX
|
||||||
LOOP @@propSet
|
LOOP @@propSet
|
||||||
MOV [CreatingWindow], ECX
|
MOV [CreatingWindow], ECX
|
||||||
PUSH EBX
|
PUSH EBX
|
||||||
{$IFDEF USE_PROP}
|
|
||||||
PUSH offset ID_SELF
|
|
||||||
PUSH EAX
|
|
||||||
CALL SetProp
|
|
||||||
{$ELSE}
|
|
||||||
PUSH GWL_USERDATA
|
PUSH GWL_USERDATA
|
||||||
PUSH EAX
|
PUSH EAX
|
||||||
CALL SetWindowLong
|
CALL SetWindowLong
|
||||||
{$ENDIF}
|
|
||||||
@@propSet:
|
@@propSet:
|
||||||
{$IFDEF SMALLEST_CODE}
|
|
||||||
{$ELSE}
|
|
||||||
{$IFDEF USE_FLAGS}
|
{$IFDEF USE_FLAGS}
|
||||||
TEST [EBX].fFlagsG3, 1 shl G3_IsControl
|
TEST [EBX].fFlagsG3, 1 shl G3_IsControl
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
@ -3006,7 +2844,6 @@ asm
|
|||||||
PUSH EBX
|
PUSH EBX
|
||||||
CALL Perform
|
CALL Perform
|
||||||
@@iconSet:
|
@@iconSet:
|
||||||
{$ENDIF}
|
|
||||||
MOV ECX, [EBX].PP.fCreateWndExt
|
MOV ECX, [EBX].PP.fCreateWndExt
|
||||||
{$IFDEF NIL_EVENTS}
|
{$IFDEF NIL_EVENTS}
|
||||||
JECXZ @@dblbufcreate
|
JECXZ @@dblbufcreate
|
||||||
@ -3191,12 +3028,8 @@ asm
|
|||||||
XCHG ESI, EAX // ESI = Idx'
|
XCHG ESI, EAX // ESI = Idx'
|
||||||
|
|
||||||
XOR EAX, EAX
|
XOR EAX, EAX
|
||||||
{$IFDEF COMMANDACTIONS_OBJ}
|
|
||||||
MOV ECX, [EBX].fCommandActions
|
MOV ECX, [EBX].fCommandActions
|
||||||
MOVZX ECX, [ECX].TCommandActionsObj.aGetItemLength
|
MOVZX ECX, [ECX].TCommandActionsObj.aGetItemLength
|
||||||
{$ELSE}
|
|
||||||
MOVZX ECX, [EBX].fCommandActions.aGetItemLength
|
|
||||||
{$ENDIF}
|
|
||||||
JECXZ @@ret_empty
|
JECXZ @@ret_empty
|
||||||
|
|
||||||
PUSH ECX // push aGetItemLength
|
PUSH ECX // push aGetItemLength
|
||||||
@ -3214,12 +3047,8 @@ asm
|
|||||||
POP EDX // restore L
|
POP EDX // restore L
|
||||||
LEA ECX, [EDX+1]
|
LEA ECX, [EDX+1]
|
||||||
MOV dword ptr [EAX], ECX
|
MOV dword ptr [EAX], ECX
|
||||||
{$IFDEF COMMANDACTIONS_OBJ}
|
|
||||||
MOV ECX, [EBX].fCommandActions
|
MOV ECX, [EBX].fCommandActions
|
||||||
MOVZX ECX, [ECX].TCommandActionsObj.aGetItemText
|
MOVZX ECX, [ECX].TCommandActionsObj.aGetItemText
|
||||||
{$ELSE}
|
|
||||||
MOVZX ECX, [EBX].fCommandActions.aGetItemText
|
|
||||||
{$ENDIF}
|
|
||||||
JECXZ @@ret_buf
|
JECXZ @@ret_buf
|
||||||
|
|
||||||
PUSH EDX // save L
|
PUSH EDX // save L
|
||||||
@ -3266,12 +3095,8 @@ asm
|
|||||||
CALL ECX2PChar
|
CALL ECX2PChar
|
||||||
PUSH ECX // @Value[1]
|
PUSH ECX // @Value[1]
|
||||||
|
|
||||||
{$IFDEF COMMANDACTIONS_OBJ}
|
|
||||||
MOV ECX, [EBX].fCommandActions
|
MOV ECX, [EBX].fCommandActions
|
||||||
MOVZX ECX, [ECX].TCommandActionsObj.aSetItemText
|
MOVZX ECX, [ECX].TCommandActionsObj.aSetItemText
|
||||||
{$ELSE}
|
|
||||||
MOVZX ECX, [EBX].fCommandActions.aSetItemText
|
|
||||||
{$ENDIF}
|
|
||||||
JECXZ @@1
|
JECXZ @@1
|
||||||
|
|
||||||
PUSH 0
|
PUSH 0
|
||||||
@ -3309,12 +3134,8 @@ asm
|
|||||||
|
|
||||||
@@1: // @Value[1] in stack already
|
@@1: // @Value[1] in stack already
|
||||||
POP EDX
|
POP EDX
|
||||||
{$IFDEF COMMANDACTIONS_OBJ}
|
|
||||||
MOV ECX, [EBX].fCommandActions
|
MOV ECX, [EBX].fCommandActions
|
||||||
MOVZX ECX, [ECX].TCommandActionsObj.aDeleteItem
|
MOVZX ECX, [ECX].TCommandActionsObj.aDeleteItem
|
||||||
{$ELSE}
|
|
||||||
MOVZX ECX, [EBX].fCommandActions.aDeleteItem
|
|
||||||
{$ENDIF}
|
|
||||||
JECXZ @@exit
|
JECXZ @@exit
|
||||||
|
|
||||||
PUSH ESI
|
PUSH ESI
|
||||||
@ -3362,12 +3183,8 @@ asm
|
|||||||
PUSH EBX
|
PUSH EBX
|
||||||
MOV EBX, EAX // EBX = @Self
|
MOV EBX, EAX // EBX = @Self
|
||||||
|
|
||||||
{$IFDEF COMMANDACTIONS_OBJ}
|
|
||||||
MOV ECX, [EBX].fCommandActions
|
MOV ECX, [EBX].fCommandActions
|
||||||
MOVZX ECX, [ECX].TCommandActionsObj.aAddItem
|
MOVZX ECX, [ECX].TCommandActionsObj.aAddItem
|
||||||
{$ELSE}
|
|
||||||
MOVZX ECX, [EBX].fCommandActions.aAddItem // ECX = aAddItem
|
|
||||||
{$ENDIF}
|
|
||||||
JECXZ @@chk_addtext
|
JECXZ @@chk_addtext
|
||||||
|
|
||||||
CALL EDX2PChar
|
CALL EDX2PChar
|
||||||
@ -3392,12 +3209,8 @@ asm
|
|||||||
JMP @@exit
|
JMP @@exit
|
||||||
|
|
||||||
@@chk_addtext:
|
@@chk_addtext:
|
||||||
{$IFDEF COMMANDACTIONS_OBJ}
|
|
||||||
MOV ECX, [EBX].fCommandActions
|
MOV ECX, [EBX].fCommandActions
|
||||||
MOV ECX, [ECX].TCommandActionsObj.aAddText
|
MOV ECX, [ECX].TCommandActionsObj.aAddText
|
||||||
{$ELSE}
|
|
||||||
MOV ECX, [EBX].fCommandActions.aAddText
|
|
||||||
{$ENDIF}
|
|
||||||
JECXZ @@add_text_simple
|
JECXZ @@add_text_simple
|
||||||
|
|
||||||
CALL ECX
|
CALL ECX
|
||||||
@ -3420,12 +3233,8 @@ function TControl.Insert(Idx: Integer; const S: AnsiString): Integer;
|
|||||||
asm
|
asm
|
||||||
CALL ECX2PChar
|
CALL ECX2PChar
|
||||||
PUSH ECX
|
PUSH ECX
|
||||||
{$IFDEF COMMANDACTIONS_OBJ}
|
|
||||||
MOV ECX, [EAX].fCommandActions
|
MOV ECX, [EAX].fCommandActions
|
||||||
MOVZX ECX, [ECX].TCommandActionsObj.aInsertItem
|
MOVZX ECX, [ECX].TCommandActionsObj.aInsertItem
|
||||||
{$ELSE}
|
|
||||||
MOVZX ECX, [EAX].fCommandActions.aInsertItem
|
|
||||||
{$ENDIF}
|
|
||||||
JECXZ @@exit_1
|
JECXZ @@exit_1
|
||||||
|
|
||||||
PUSH EDX
|
PUSH EDX
|
||||||
@ -4142,12 +3951,7 @@ asm { [EBP+$8] = @Self
|
|||||||
STOSD
|
STOSD
|
||||||
MOV EAX, [ToolbarsIDcmd]
|
MOV EAX, [ToolbarsIDcmd]
|
||||||
TEST EBX, EBX
|
TEST EBX, EBX
|
||||||
{$IFDEF USE_CMOV}
|
|
||||||
CMOVL EBX, EAX
|
CMOVL EBX, EAX
|
||||||
{$ELSE}
|
|
||||||
JGE @@b0
|
|
||||||
MOV EBX, EAX
|
|
||||||
@@b0: {$ENDIF}
|
|
||||||
STOSD
|
STOSD
|
||||||
XOR EAX, EAX
|
XOR EAX, EAX
|
||||||
INC AH // TBSTYLE_SEP = 1
|
INC AH // TBSTYLE_SEP = 1
|
||||||
@ -4179,12 +3983,7 @@ asm { [EBP+$8] = @Self
|
|||||||
MOV EAX, [ToolbarsIDcmd]
|
MOV EAX, [ToolbarsIDcmd]
|
||||||
STOSD
|
STOSD
|
||||||
TEST EBX, EBX
|
TEST EBX, EBX
|
||||||
{$IFDEF USE_CMOV}
|
|
||||||
CMOVL EBX, EAX
|
CMOVL EBX, EAX
|
||||||
{$ELSE}
|
|
||||||
JGE @@210
|
|
||||||
MOV EBX, EAX
|
|
||||||
@@210: {$ENDIF}
|
|
||||||
MOV ECX, [EBP+8]
|
MOV ECX, [EBP+8]
|
||||||
MOV AH, BYTE PTR [ECX].TControl.DF.fDefaultTBBtnStyle
|
MOV AH, BYTE PTR [ECX].TControl.DF.fDefaultTBBtnStyle
|
||||||
POP ECX
|
POP ECX
|
||||||
|
171
KOLadd.pas
171
KOLadd.pas
@ -1178,47 +1178,8 @@ begin
|
|||||||
Result := ( PBitsList( fList ).fCount + 3) div 4;
|
Result := ( PBitsList( fList ).fCount + 3) div 4;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$IFDEF ASM_noVERSION}
|
|
||||||
//[function TBits.IndexOf]
|
//[function TBits.IndexOf]
|
||||||
function TBits.IndexOf(Value: Boolean): Integer;
|
function TBits.IndexOf(Value: Boolean): Integer;
|
||||||
asm //cmd //opd
|
|
||||||
PUSH EDI
|
|
||||||
MOV EDI, [EAX].fList
|
|
||||||
MOV ECX, [EDI].TList.fCount
|
|
||||||
@@ret_1:
|
|
||||||
OR EAX, -1
|
|
||||||
JECXZ @@ret_EAX
|
|
||||||
MOV EDI, [EDI].TList.fItems
|
|
||||||
TEST DL, DL
|
|
||||||
MOV EDX, EDI
|
|
||||||
JE @@of_false
|
|
||||||
INC EAX
|
|
||||||
REPZ SCASD
|
|
||||||
JE @@ret_1
|
|
||||||
MOV EAX, [EDI-4]
|
|
||||||
NOT EAX
|
|
||||||
JMP @@calc_offset
|
|
||||||
BSF EAX, EAX
|
|
||||||
SUB EDI, EDX
|
|
||||||
SHR EDI, 2
|
|
||||||
ADD EAX, EDI
|
|
||||||
JMP @@ret_EAX
|
|
||||||
@@of_false:
|
|
||||||
REPE SCASD
|
|
||||||
JE @@ret_1
|
|
||||||
MOV EAX, [EDI-4]
|
|
||||||
@@calc_offset:
|
|
||||||
BSF EAX, EAX
|
|
||||||
DEC EAX
|
|
||||||
SUB EDI, 4
|
|
||||||
SUB EDI, EDX
|
|
||||||
SHL EDI, 3
|
|
||||||
ADD EAX, EDI
|
|
||||||
@@ret_EAX:
|
|
||||||
POP EDI
|
|
||||||
end;
|
|
||||||
{$ELSE ASM_VERSION} //Pascal
|
|
||||||
function TBits.IndexOf(Value: Boolean): Integer;
|
|
||||||
var I: Integer;
|
var I: Integer;
|
||||||
D: DWORD;
|
D: DWORD;
|
||||||
begin
|
begin
|
||||||
@ -1262,7 +1223,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{$ENDIF ASM_VERSION}
|
|
||||||
|
|
||||||
//[function TBits.LoadFromStream]
|
//[function TBits.LoadFromStream]
|
||||||
procedure TBits.InstallBits(FromIdx, N: Integer; Value: Boolean);
|
procedure TBits.InstallBits(FromIdx, N: Integer; Value: Boolean);
|
||||||
@ -1324,51 +1284,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
//[procedure TBits.SetBit]
|
//[procedure TBits.SetBit]
|
||||||
{$IFDEF ASM_noVERSION}
|
|
||||||
procedure TBits.SetBit(Idx: Integer; const Value: Boolean);
|
|
||||||
asm
|
|
||||||
PUSH EBX
|
|
||||||
XCHG EBX, EAX
|
|
||||||
CMP EDX, [EBX].fCount
|
|
||||||
JL @@2
|
|
||||||
|
|
||||||
LEA EAX, [EDX+32]
|
|
||||||
SHR EAX, 5
|
|
||||||
|
|
||||||
PUSH ECX
|
|
||||||
MOV ECX, [EBX].fList
|
|
||||||
CMP [ECX].TBitsList.fCount, EAX
|
|
||||||
JGE @@1
|
|
||||||
|
|
||||||
MOV [ECX].TBitsList.fCount, EAX
|
|
||||||
MOV ECX, [ECX].TBitsList.fCapacity
|
|
||||||
SHL ECX, 5
|
|
||||||
CMP EDX, ECX
|
|
||||||
JLE @@1
|
|
||||||
|
|
||||||
PUSH EDX
|
|
||||||
INC EDX
|
|
||||||
PUSH EAX
|
|
||||||
MOV EAX, EBX
|
|
||||||
CALL SetCapacity
|
|
||||||
POP EAX
|
|
||||||
POP EDX
|
|
||||||
|
|
||||||
@@1:
|
|
||||||
POP ECX
|
|
||||||
@@2:
|
|
||||||
MOV EAX, [EBX].fList
|
|
||||||
MOV EAX, [EAX].TBitsList.fItems
|
|
||||||
SHR ECX, 1
|
|
||||||
JC @@2set
|
|
||||||
BTR [EAX], EDX
|
|
||||||
JMP @@exit
|
|
||||||
@@2set:
|
|
||||||
BTS [EAX], EDX
|
|
||||||
@@exit:
|
|
||||||
POP EBX
|
|
||||||
end;
|
|
||||||
{$ELSE}
|
|
||||||
procedure TBits.SetBit(Idx: Integer; const Value: Boolean);
|
procedure TBits.SetBit(Idx: Integer; const Value: Boolean);
|
||||||
var Msk: DWORD;
|
var Msk: DWORD;
|
||||||
MinListCount: Integer;
|
MinListCount: Integer;
|
||||||
@ -1392,7 +1307,6 @@ begin
|
|||||||
if Idx >= fCount then
|
if Idx >= fCount then
|
||||||
fCount := Idx + 1;
|
fCount := Idx + 1;
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
//[procedure TBits.SetCapacity]
|
//[procedure TBits.SetCapacity]
|
||||||
procedure TBits.SetCapacity(const Value: Integer);
|
procedure TBits.SetCapacity(const Value: Integer);
|
||||||
@ -2272,6 +2186,7 @@ function _NewDirChgNotifier: PDirChange;
|
|||||||
begin
|
begin
|
||||||
New( Result, Create );
|
New( Result, Create );
|
||||||
end;
|
end;
|
||||||
|
|
||||||
//[function NewDirChangeNotifier]
|
//[function NewDirChangeNotifier]
|
||||||
function NewDirChangeNotifier( const Path: KOLString; Filter: TFileChangeFilter;
|
function NewDirChangeNotifier( const Path: KOLString; Filter: TFileChangeFilter;
|
||||||
WatchSubtree: Boolean; ChangeProc: TOnDirChange )
|
WatchSubtree: Boolean; ChangeProc: TOnDirChange )
|
||||||
@ -2371,31 +2286,8 @@ begin
|
|||||||
{$ENDIF ASM_VERSION}
|
{$ENDIF ASM_VERSION}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$IFDEF noASM_VERSION}
|
|
||||||
//[destructor TDirChange.Destroy]
|
//[destructor TDirChange.Destroy]
|
||||||
destructor TDirChange.Destroy;
|
destructor TDirChange.Destroy;
|
||||||
asm
|
|
||||||
PUSH EBX
|
|
||||||
XCHG EBX, EAX
|
|
||||||
MOV [EBX].FDestroying, 1
|
|
||||||
MOV ECX, [EBX].FMonitor
|
|
||||||
JECXZ @@no_monitor
|
|
||||||
XCHG EAX, ECX
|
|
||||||
CALL TObj.Destroy // TObj.Free //
|
|
||||||
@@no_monitor:
|
|
||||||
MOV ECX, [EBX].FHandle
|
|
||||||
JECXZ @@exit
|
|
||||||
PUSH ECX
|
|
||||||
CALL FindCloseChangeNotification
|
|
||||||
@@exit:
|
|
||||||
LEA EAX, [EBX].FPath
|
|
||||||
CALL System.@LStrClr
|
|
||||||
XCHG EAX, EBX
|
|
||||||
CALL TObj.Destroy
|
|
||||||
POP EBX
|
|
||||||
end;
|
|
||||||
{$ELSE ASM_VERSION} //Pascal
|
|
||||||
destructor TDirChange.Destroy;
|
|
||||||
begin
|
begin
|
||||||
FDestroying := TRUE;
|
FDestroying := TRUE;
|
||||||
if FHandle > 0 then // FHandle <> INVALID_HANDLE_VALUE AND FHandle <> 0
|
if FHandle > 0 then // FHandle <> INVALID_HANDLE_VALUE AND FHandle <> 0
|
||||||
@ -2415,45 +2307,8 @@ begin
|
|||||||
FPath := '';
|
FPath := '';
|
||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
{$ENDIF ASM_VERSION}
|
|
||||||
|
|
||||||
{$IFDEF ASM_noVERSION}
|
|
||||||
//[function TDirChange.Execute]
|
//[function TDirChange.Execute]
|
||||||
function TDirChange.Execute(Sender: PThread): Integer;
|
|
||||||
asm
|
|
||||||
PUSH EBX
|
|
||||||
PUSH ESI
|
|
||||||
XCHG EBX, EAX
|
|
||||||
MOV ESI, EDX
|
|
||||||
@@loo:
|
|
||||||
MOVZX ECX, [ESI].TThread.FTerminated
|
|
||||||
INC ECX
|
|
||||||
LOOP @@e_loop
|
|
||||||
|
|
||||||
MOV ECX, [EBX].FHandle
|
|
||||||
INC ECX
|
|
||||||
JZ @@e_loop
|
|
||||||
|
|
||||||
PUSH INFINITE
|
|
||||||
PUSH ECX
|
|
||||||
CALL WaitForSingleObject
|
|
||||||
OR EAX, EAX
|
|
||||||
JNZ @@loo
|
|
||||||
|
|
||||||
PUSH [EBX].FHandle
|
|
||||||
MOV EAX, [EBX].FMonitor
|
|
||||||
PUSH EBX
|
|
||||||
PUSH offset[TDirChange.Changed]
|
|
||||||
CALL TThread.Synchronize
|
|
||||||
CALL FindNextChangeNotification
|
|
||||||
JMP @@loo
|
|
||||||
@@e_loop:
|
|
||||||
|
|
||||||
POP ESI
|
|
||||||
POP EBX
|
|
||||||
XOR EAX, EAX
|
|
||||||
end;
|
|
||||||
{$ELSE ASM_VERSION} //Pascal
|
|
||||||
function TDirChange.Execute(Sender: PThread): PtrInt;
|
function TDirChange.Execute(Sender: PThread): PtrInt;
|
||||||
var Handles: array[ 0..1 ] of THandle;
|
var Handles: array[ 0..1 ] of THandle;
|
||||||
//i: Integer;
|
//i: Integer;
|
||||||
@ -2477,20 +2332,15 @@ begin
|
|||||||
end;
|
end;
|
||||||
else break;
|
else break;
|
||||||
end;
|
end;
|
||||||
{$IFDEF SAFE_CODE}
|
|
||||||
TRY
|
TRY
|
||||||
{$ENDIF}
|
|
||||||
FindCloseChangeNotification( Handles[ 0 ] );
|
FindCloseChangeNotification( Handles[ 0 ] );
|
||||||
FHandle := 0;
|
FHandle := 0;
|
||||||
CloseHandle( FinEvent );
|
CloseHandle( FinEvent );
|
||||||
FinEvent := 0;
|
FinEvent := 0;
|
||||||
{$IFDEF SAFE_CODE}
|
|
||||||
EXCEPT
|
EXCEPT
|
||||||
END;
|
END;
|
||||||
{$ENDIF}
|
|
||||||
Result := 0;
|
Result := 0;
|
||||||
end;
|
end;
|
||||||
{$ENDIF ASM_VERSION}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
@ -2736,36 +2586,17 @@ end;
|
|||||||
|
|
||||||
//[procedure TAction.LinkMenuItem]
|
//[procedure TAction.LinkMenuItem]
|
||||||
procedure TAction.LinkMenuItem(Menu: PMenu; MenuItemIdx: integer);
|
procedure TAction.LinkMenuItem(Menu: PMenu; MenuItemIdx: integer);
|
||||||
{$IFDEF _FPC}
|
|
||||||
var
|
|
||||||
arr1_DoOnMenuItem: array[ 0..0 ] of TOnMenuItem;
|
|
||||||
{$ENDIF _FPC}
|
|
||||||
begin
|
begin
|
||||||
//LinkCtrl(Menu, ckMenu, MenuItemIdx, UpdateMenu); -- replaced by mdw to:
|
//LinkCtrl(Menu, ckMenu, MenuItemIdx, UpdateMenu); -- replaced by mdw to:
|
||||||
LinkCtrl(Menu, ckMenu, Menu.Items[MenuItemIdx].MenuId, UpdateMenu);
|
LinkCtrl(Menu, ckMenu, Menu.Items[MenuItemIdx].MenuId, UpdateMenu);
|
||||||
|
|
||||||
{$IFDEF _FPC}
|
|
||||||
arr1_DoOnMenuItem[ 0 ] := DoOnMenuItem;
|
|
||||||
Menu.AssignEvents(MenuItemIdx, arr1_DoOnMenuItem);
|
|
||||||
{$ELSE}
|
|
||||||
Menu.AssignEvents(MenuItemIdx, [ DoOnMenuItem ]);
|
Menu.AssignEvents(MenuItemIdx, [ DoOnMenuItem ]);
|
||||||
{$ENDIF}
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
//[procedure TAction.LinkToolbarButton]
|
//[procedure TAction.LinkToolbarButton]
|
||||||
procedure TAction.LinkToolbarButton(Toolbar: PControl; ButtonIdx: integer);
|
procedure TAction.LinkToolbarButton(Toolbar: PControl; ButtonIdx: integer);
|
||||||
{$IFDEF _FPC}
|
|
||||||
var
|
|
||||||
arr1_DoOnToolbarButtonClick: array[ 0..0 ] of TOnToolbarButtonClick;
|
|
||||||
{$ENDIF _FPC}
|
|
||||||
begin
|
begin
|
||||||
LinkCtrl(Toolbar, ckToolbar, ButtonIdx, UpdateToolbar);
|
LinkCtrl(Toolbar, ckToolbar, ButtonIdx, UpdateToolbar);
|
||||||
{$IFDEF _FPC}
|
|
||||||
arr1_DoOnToolbarButtonClick[ 0 ] := DoOnToolbarButtonClick;
|
|
||||||
Toolbar.TBAssignEvents(ButtonIdx, arr1_DoOnToolbarButtonClick);
|
|
||||||
{$ELSE}
|
|
||||||
Toolbar.TBAssignEvents(ButtonIdx, [DoOnToolbarButtonClick]);
|
Toolbar.TBAssignEvents(ButtonIdx, [DoOnToolbarButtonClick]);
|
||||||
{$ENDIF}
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
//[destructor TAction.Destroy]
|
//[destructor TAction.Destroy]
|
||||||
|
@ -110,8 +110,8 @@ const
|
|||||||
'object KOLProj: TKOLProject' + #13#10 +
|
'object KOLProj: TKOLProject' + #13#10 +
|
||||||
'Locked = False' + #13#10 +
|
'Locked = False' + #13#10 +
|
||||||
'Localizy = False' + #13#10 +
|
'Localizy = False' + #13#10 +
|
||||||
'projectName = ''prj''' + #13#10 +
|
'projectName = ''%prj_name%''' + #13#10 +
|
||||||
'projectDest = ''prj''' + #13#10 +
|
'projectDest = ''%prj_name%''' + #13#10 +
|
||||||
'sourcePath = ''%path%''' + #13#10 +
|
'sourcePath = ''%path%''' + #13#10 +
|
||||||
'outdcuPath = ''%path%''' + #13#10 +
|
'outdcuPath = ''%path%''' + #13#10 +
|
||||||
'dprResource = True' + #13#10 +
|
'dprResource = True' + #13#10 +
|
||||||
@ -126,8 +126,6 @@ const
|
|||||||
'PaintType = ptWYSIWIG' + #13#10 +
|
'PaintType = ptWYSIWIG' + #13#10 +
|
||||||
'ShowHint = False' + #13#10 +
|
'ShowHint = False' + #13#10 +
|
||||||
'ReportDetailed = False' + #13#10 +
|
'ReportDetailed = False' + #13#10 +
|
||||||
'GeneratePCode = False' + #13#10 +
|
|
||||||
'NewIF = True' + #13#10 +
|
|
||||||
'Left = 16' + #13#10 +
|
'Left = 16' + #13#10 +
|
||||||
'Top = 16' + #13#10 +
|
'Top = 16' + #13#10 +
|
||||||
'end' + #13#10 +
|
'end' + #13#10 +
|
||||||
@ -245,8 +243,9 @@ begin
|
|||||||
lst.Text := StringReplace(unt_template, '%unt_name%', unt_name, [rfReplaceAll]);
|
lst.Text := StringReplace(unt_template, '%unt_name%', unt_name, [rfReplaceAll]);
|
||||||
lst.SaveToFile(ChangeFileExt(unt, '.pas'));
|
lst.SaveToFile(ChangeFileExt(unt, '.pas'));
|
||||||
// gen dfm
|
// gen dfm
|
||||||
lst.Text := StringReplace(dfm_template, '%path%', ExtractFilePath(unt), [rfReplaceAll]);
|
lst.Text := StringReplace(dfm_template, '%prj_name%', ExtractFileName(prj), [rfReplaceAll]);
|
||||||
lst.Text := StringReplace(lst.Text, '%unt_name%', unt_name, [rfReplaceAll]);
|
lst.Text := StringReplace(lst.Text, '%unt_name%', unt_name, [rfReplaceAll]);
|
||||||
|
lst.Text := StringReplace(lst.Text, '%path%', ExtractFilePath(unt), [rfReplaceAll]);
|
||||||
lst.SaveToFile(ChangeFileExt(unt, '.dfm'));
|
lst.SaveToFile(ChangeFileExt(unt, '.dfm'));
|
||||||
// gen dummy res file
|
// gen dummy res file
|
||||||
resfile := FileCreate(ChangeFileExt(prj, '.res'));
|
resfile := FileCreate(ChangeFileExt(prj, '.res'));
|
||||||
@ -274,7 +273,7 @@ end;
|
|||||||
|
|
||||||
function TMCKWizard.GetComment: string;
|
function TMCKWizard.GetComment: string;
|
||||||
begin
|
begin
|
||||||
Result := 'v0.03';
|
Result := 'v0.04';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TMCKWizard.GetGlyph: Cardinal;
|
function TMCKWizard.GetGlyph: Cardinal;
|
||||||
|
@ -184,6 +184,7 @@ const
|
|||||||
|
|
||||||
PBS_SMOOTH = 01;
|
PBS_SMOOTH = 01;
|
||||||
PBS_VERTICAL = 04;
|
PBS_VERTICAL = 04;
|
||||||
|
PBS_MARQUEE = $08;
|
||||||
|
|
||||||
PBM_SETRANGE = WM_USER+1;
|
PBM_SETRANGE = WM_USER+1;
|
||||||
PBM_SETPOS = WM_USER+2;
|
PBM_SETPOS = WM_USER+2;
|
||||||
@ -196,6 +197,7 @@ const
|
|||||||
// wParam = True: Result = low
|
// wParam = True: Result = low
|
||||||
PBM_GETPOS = WM_USER+8;
|
PBM_GETPOS = WM_USER+8;
|
||||||
PBM_SETBARCOLOR = WM_USER+9; // lParam = bar color
|
PBM_SETBARCOLOR = WM_USER+9; // lParam = bar color
|
||||||
|
PBM_SETMARQUEE = WM_USER + 10;
|
||||||
PBM_SETBKCOLOR = CCM_SETBKCOLOR; // lParam = bkColor
|
PBM_SETBKCOLOR = CCM_SETBKCOLOR; // lParam = bkColor
|
||||||
|
|
||||||
SB_SETTEXTA = WM_USER+1;
|
SB_SETTEXTA = WM_USER+1;
|
||||||
@ -957,8 +959,8 @@ type
|
|||||||
dwDrawStage: DWORD;
|
dwDrawStage: DWORD;
|
||||||
hdc: HDC;
|
hdc: HDC;
|
||||||
rc: TRect;
|
rc: TRect;
|
||||||
dwItemSpec: DWORD_PTR; // this is control specific, but it's how to specify an item. valid only with CDDS_ITEM bit set
|
dwItemSpec: DWORD_PTR; // this is control specific, but it's how to specify an item. valid only with CDDS_ITEM bit set
|
||||||
uItemState: UINT;
|
uItemState: UINT;
|
||||||
lItemlParam: LPARAM;
|
lItemlParam: LPARAM;
|
||||||
end;
|
end;
|
||||||
PNMCustomDraw = ^TNMCustomDraw;
|
PNMCustomDraw = ^TNMCustomDraw;
|
||||||
|
199
mckCtrlDraw.pas
199
mckCtrlDraw.pas
@ -9,29 +9,44 @@ uses
|
|||||||
type
|
type
|
||||||
TScrollStyle = (ssNone, ssHorz, ssVert, ssBoth);
|
TScrollStyle = (ssNone, ssHorz, ssVert, ssBoth);
|
||||||
|
|
||||||
const
|
TCDLVColumn = packed record
|
||||||
TextHFlags: array[TTextAlign] of DWORD = (DT_LEFT, DT_RIGHT, DT_CENTER);
|
Caption: WideString;
|
||||||
TextVFlags: array[TVerticalAlign] of DWORD = (DT_TOP, DT_VCENTER, DT_BOTTOM);
|
TextAlign: TTextAlign;
|
||||||
WordWrapFlags: array[Boolean] of DWORD = (DT_SINGLELINE, 0);//!
|
Width: Integer;
|
||||||
CheckFlags: array[Boolean] of DWORD = (0, DFCS_CHECKED);
|
end;
|
||||||
|
ArrayTCDLVColumn = array of TCDLVColumn;
|
||||||
|
|
||||||
procedure DrawButton(aUX: Boolean; DC: HDC; R: TRect; aEnabled, aDefBtn: Boolean; dwTextFlags: DWORD; aText: WideString);
|
TCDTBButton = packed record
|
||||||
procedure DrawEditBox(aUX: Boolean; DC: HDC; R: TRect; aEnabled, aIsPwd: Boolean; dwTextFlags: DWORD; aText: WideString);
|
Caption: WideString;
|
||||||
procedure DrawMemo(aUX: Boolean; DC: HDC; R: TRect; aColor: Integer; aEnabled: Boolean; aScrollStyle: TScrollStyle; dwTextFlags: DWORD; aText: WideString);
|
Rect: TRect;
|
||||||
|
Enabled: Boolean;
|
||||||
|
Separator: Boolean;
|
||||||
|
Checked: Boolean;
|
||||||
|
end;
|
||||||
|
ArrayTCDTBButton = array of TCDTBButton;
|
||||||
|
|
||||||
|
const
|
||||||
|
TextHFlags: array[TTextAlign] of DWORD = (DT_LEFT, DT_RIGHT, DT_CENTER);
|
||||||
|
TextVFlags: array[TVerticalAlign] of DWORD = (DT_TOP, DT_VCENTER, DT_BOTTOM);
|
||||||
|
WordWrapFlags: array[Boolean] of DWORD = (DT_SINGLELINE, 0);//!
|
||||||
|
CheckFlags: array[Boolean] of DWORD = (0, DFCS_CHECKED);
|
||||||
|
|
||||||
|
procedure DrawButton(aUX, aEnabled, aDefBtn: Boolean; DC: HDC; R: TRect; dwTextFlags: DWORD; aText: WideString);
|
||||||
|
procedure DrawEditBox(aUX, aEnabled, aIsPwd: Boolean; DC: HDC; R: TRect; dwTextFlags: DWORD; aText: WideString);
|
||||||
|
procedure DrawMemo(aUX, aEnabled: Boolean; DC: HDC; R: TRect; aColor: Integer;aScrollStyle: TScrollStyle; dwTextFlags: DWORD; aText: WideString);
|
||||||
procedure DrawCombobox(DC: HDC; R: TRect; aEnabled: Boolean; aText: WideString);
|
procedure DrawCombobox(DC: HDC; R: TRect; aEnabled: Boolean; aText: WideString);
|
||||||
procedure DrawLabel(DC: HDC; R: TRect; dwTextFlags: DWORD; aText: WideString);
|
procedure DrawLabel(DC: HDC; R: TRect; dwTextFlags: DWORD; aText: WideString);
|
||||||
procedure DrawCheckbox(DC: HDC; R: TRect; aEnabled, aChecked, aHasBorder: Boolean; aText: WideString);
|
procedure DrawCheckbox(DC: HDC; R: TRect; aEnabled, aChecked, aHasBorder: Boolean; aText: WideString);
|
||||||
procedure DrawRadiobox(aUX: Boolean; DC: HDC; R: TRect; aEnabled, aChecked, aHasBorder: Boolean; aText: WideString);
|
procedure DrawRadiobox(aUX, aEnabled, aChecked, aHasBorder: Boolean; DC: HDC; R: TRect; aText: WideString);
|
||||||
procedure DrawListBox(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aText: WideString);
|
procedure DrawListBox(aUX, aEnabled: Boolean; DC: HDC; R: TRect; aText: WideString);
|
||||||
procedure DrawTreeView(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aText: WideString);
|
procedure DrawTreeView(aUX, aEnabled: Boolean; DC: HDC; R: TRect; aText: WideString);
|
||||||
procedure DrawListView(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aColumns: KOLWideString);
|
procedure DrawListView(aUX, aEnabled: Boolean; DC: HDC; R: TRect; aCols: ArrayTCDLVColumn);
|
||||||
procedure DrawProgressBar(DC: HDC; R: TRect; aVertical: Boolean; aProgress, aMaxProgress: Integer);
|
procedure DrawProgressBar(DC: HDC; R: TRect; aVertical: Boolean; aProgress, aMaxProgress: Integer);
|
||||||
procedure DrawTrackBar(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);
|
procedure DrawGroupBox(aUX: Boolean; DC: HDC; R: TRect; aText: WideString);
|
||||||
procedure DrawScrollBar(aUX: Boolean; DC: HDC; R: TRect; aEnabled, aVertical: Boolean; aPos, aMin, aMax: Integer);
|
procedure DrawScrollBar(aUX, aEnabled, aVertical: Boolean; DC: HDC; R: TRect; aPos, aMin, aMax: Integer);
|
||||||
procedure DrawScrollBox(aUX: Boolean; DC: HDC; R: TRect; aScrollStyle: TScrollStyle);
|
procedure DrawScrollBox(aUX: Boolean; DC: HDC; R: TRect; aScrollStyle: TScrollStyle);
|
||||||
// not yet
|
procedure DrawToolbar(aUX, aEnabled: Boolean; DC: HDC; R: TRect; aBtns: ArrayTCDTBButton);
|
||||||
procedure DrawToolbar(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aText: WideString);
|
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
@ -43,17 +58,25 @@ begin
|
|||||||
Result := aPixelX + Round((aPos + Abs(aMin)) / (aMax + Abs(aMin)) * (aPixelMax - aPixelX * 3));
|
Result := aPixelX + Round((aPos + Abs(aMin)) / (aMax + Abs(aMin)) * (aPixelMax - aPixelX * 3));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure DrawScrollBar(aUX: Boolean; DC: HDC; R: TRect; aEnabled, aVertical: Boolean; aPos, aMin, aMax: Integer);
|
procedure DrawScrollBar(aUX, aEnabled, aVertical: Boolean; DC: HDC; R: TRect; aPos, aMin, aMax: Integer);
|
||||||
const //enb btn
|
const //enb btn
|
||||||
arrThemedSBLU: array[Boolean, Boolean] of TThemedScrollBar = (
|
arrThemedSBLU: array[Boolean, Boolean] of TThemedScrollBar = (
|
||||||
(tsArrowBtnLeftDisabled, tsArrowBtnUpDisabled), (tsArrowBtnLeftNormal, tsArrowBtnUpNormal));
|
(tsArrowBtnLeftDisabled, tsArrowBtnUpDisabled),
|
||||||
|
(tsArrowBtnLeftNormal, tsArrowBtnUpNormal));
|
||||||
|
|
||||||
arrThemedSBRD: array[Boolean, Boolean] of TThemedScrollBar = (
|
arrThemedSBRD: array[Boolean, Boolean] of TThemedScrollBar = (
|
||||||
(tsArrowBtnRightDisabled, tsArrowBtnDownDisabled), (tsArrowBtnRightNormal, tsArrowBtnDownNormal));
|
(tsArrowBtnRightDisabled, tsArrowBtnDownDisabled),
|
||||||
|
(tsArrowBtnRightNormal, tsArrowBtnDownNormal));
|
||||||
|
|
||||||
arrThemedSBTH: array[Boolean] of TThemedScrollBar = (tsThumbBtnHorzNormal, tsThumbBtnVertNormal);
|
arrThemedSBTH: array[Boolean] of TThemedScrollBar = (tsThumbBtnHorzNormal, tsThumbBtnVertNormal);
|
||||||
|
|
||||||
arrSBLU: array[Boolean, Boolean] of DWORD = (
|
arrSBLU: array[Boolean, Boolean] of DWORD = (
|
||||||
(DFCS_SCROLLLEFT or DFCS_INACTIVE,DFCS_SCROLLUP or DFCS_INACTIVE), (DFCS_SCROLLLEFT, DFCS_SCROLLUP));
|
(DFCS_SCROLLLEFT or DFCS_INACTIVE,DFCS_SCROLLUP or DFCS_INACTIVE),
|
||||||
|
(DFCS_SCROLLLEFT, DFCS_SCROLLUP));
|
||||||
|
|
||||||
arrSBRD: array[Boolean, Boolean] of DWORD = (
|
arrSBRD: array[Boolean, Boolean] of DWORD = (
|
||||||
(DFCS_SCROLLRIGHT or DFCS_INACTIVE, DFCS_SCROLLDOWN or DFCS_INACTIVE), (DFCS_SCROLLRIGHT, DFCS_SCROLLDOWN));
|
(DFCS_SCROLLRIGHT or DFCS_INACTIVE, DFCS_SCROLLDOWN or DFCS_INACTIVE),
|
||||||
|
(DFCS_SCROLLRIGHT, DFCS_SCROLLDOWN));
|
||||||
|
|
||||||
var
|
var
|
||||||
w: Integer;
|
w: Integer;
|
||||||
@ -92,7 +115,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure DrawButton(aUX: Boolean; DC: HDC; R: TRect; aEnabled, aDefBtn: Boolean; dwTextFlags: DWORD; aText: WideString);
|
procedure DrawButton(aUX, aEnabled, aDefBtn: Boolean; DC: HDC; R: TRect; dwTextFlags: DWORD; aText: WideString);
|
||||||
const //enb defbtn
|
const //enb defbtn
|
||||||
arrThemedButton: array[Boolean, Boolean] of TThemedButton =
|
arrThemedButton: array[Boolean, Boolean] of TThemedButton =
|
||||||
((tbPushButtonDisabled, tbPushButtonDisabled), (tbPushButtonNormal, tbPushButtonDefaulted));
|
((tbPushButtonDisabled, tbPushButtonDisabled), (tbPushButtonNormal, tbPushButtonDefaulted));
|
||||||
@ -125,7 +148,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure DrawEditBox(aUX: Boolean; DC: HDC; R: TRect; aEnabled, aIsPwd: Boolean; dwTextFlags: DWORD; aText: WideString);
|
procedure DrawEditBox(aUX, aEnabled, aIsPwd: Boolean; DC: HDC; R: TRect; dwTextFlags: DWORD; aText: WideString);
|
||||||
begin
|
begin
|
||||||
if ThemeServices.ThemesAvailable and aUX then begin
|
if ThemeServices.ThemesAvailable and aUX then begin
|
||||||
// draw element
|
// draw element
|
||||||
@ -148,7 +171,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure DrawMemo(aUX: Boolean; DC: HDC; R: TRect; aColor: Integer; aEnabled: Boolean; aScrollStyle: TScrollStyle; dwTextFlags: DWORD; aText: WideString);
|
procedure DrawMemo(aUX, aEnabled: Boolean; DC: HDC; R: TRect; aColor: Integer;aScrollStyle: TScrollStyle; dwTextFlags: DWORD; aText: WideString);
|
||||||
var
|
var
|
||||||
w: Integer;
|
w: Integer;
|
||||||
h: Integer;
|
h: Integer;
|
||||||
@ -168,13 +191,13 @@ begin
|
|||||||
InflateRect(R, -1, -1);
|
InflateRect(R, -1, -1);
|
||||||
// draw scrolls
|
// draw scrolls
|
||||||
case aScrollStyle of
|
case aScrollStyle of
|
||||||
ssHorz: DrawScrollBar(aUX, DC, Rect(R.Left, R.Bottom - h, R.Right, R.Bottom), False, False, 2, 0, 100);
|
ssHorz: DrawScrollBar(aUX, False, False, DC, Rect(R.Left, R.Bottom - h, R.Right, R.Bottom), 2, 0, 100);
|
||||||
ssVert: DrawScrollBar(aUX, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom), False, True, 2, 0, 100);
|
ssVert: DrawScrollBar(aUX, False, True, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom), 2, 0, 100);
|
||||||
ssBoth:
|
ssBoth:
|
||||||
begin
|
begin
|
||||||
ThemeServices.DrawElement(DC, ThemeServices.GetElementDetails(tsLowerTrackVertNormal), Rect(R.Left, R.Bottom - h, R.Right, R.Bottom), nil);
|
ThemeServices.DrawElement(DC, ThemeServices.GetElementDetails(tsLowerTrackVertNormal), Rect(R.Left, R.Bottom - h, R.Right, R.Bottom), nil);
|
||||||
DrawScrollBar(aUX, DC, Rect(R.Left, R.Bottom - h, R.Right - w, R.Bottom), False, False, 2, 0, 100);
|
DrawScrollBar(aUX, False, False, DC, Rect(R.Left, R.Bottom - h, R.Right - w, R.Bottom), 2, 0, 100);
|
||||||
DrawScrollBar(aUX, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom - h), False, True, 2, 0, 100);
|
DrawScrollBar(aUX, False, True, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom - h), 2, 0, 100);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
// draw text
|
// draw text
|
||||||
@ -191,13 +214,13 @@ begin
|
|||||||
DeleteObject(b);
|
DeleteObject(b);
|
||||||
// draw scrolls
|
// draw scrolls
|
||||||
case aScrollStyle of
|
case aScrollStyle of
|
||||||
ssHorz: DrawScrollBar(aUX, DC, Rect(R.Left, R.Bottom - h, R.Right, R.Bottom), False, False, 2, 0, 100);
|
ssHorz: DrawScrollBar(aUX, False, False, DC, Rect(R.Left, R.Bottom - h, R.Right, R.Bottom), 2, 0, 100);
|
||||||
ssVert: DrawScrollBar(aUX, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom), False, True, 2, 0, 100);
|
ssVert: DrawScrollBar(aUX, False, True, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom), 2, 0, 100);
|
||||||
ssBoth:
|
ssBoth:
|
||||||
begin
|
begin
|
||||||
FillRect(DC, Rect(R.Left, R.Bottom - h, R.Right, R.Bottom), GetSysColorBrush(COLOR_BTNFACE));
|
FillRect(DC, Rect(R.Left, R.Bottom - h, R.Right, R.Bottom), GetSysColorBrush(COLOR_BTNFACE));
|
||||||
DrawScrollBar(aUX, DC, Rect(R.Left, R.Bottom - h, R.Right - w, R.Bottom), False, False, 2, 0, 100);
|
DrawScrollBar(aUX, False, False, DC, Rect(R.Left, R.Bottom - h, R.Right - w, R.Bottom), 2, 0, 100);
|
||||||
DrawScrollBar(aUX, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom - h), False, True, 2, 0, 100);
|
DrawScrollBar(aUX, False, True, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom - h), 2, 0, 100);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
// draw text
|
// draw text
|
||||||
@ -261,10 +284,11 @@ begin
|
|||||||
ThemeServices.DrawText(DC, d, aText, r, DT_LEFT, 0);
|
ThemeServices.DrawText(DC, d, aText, r, DT_LEFT, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure DrawRadiobox(aUX: Boolean; DC: HDC; R: TRect; aEnabled, aChecked, aHasBorder: Boolean; aText: WideString);
|
procedure DrawRadiobox(aUX, aEnabled, aChecked, aHasBorder: Boolean; DC: HDC; R: TRect; aText: WideString);
|
||||||
const //enb chk
|
const //enb chk
|
||||||
arrFlags: array[Boolean, Boolean] of DWORD =
|
arrFlags: array[Boolean, Boolean] of DWORD =
|
||||||
((DFCS_INACTIVE, DFCS_CHECKED or DFCS_INACTIVE), (0, DFCS_CHECKED));
|
((DFCS_INACTIVE, DFCS_CHECKED or DFCS_INACTIVE),
|
||||||
|
(0, DFCS_CHECKED));
|
||||||
//enb chk
|
//enb chk
|
||||||
arrThemedRB: array[Boolean, Boolean] of TThemedButton =
|
arrThemedRB: array[Boolean, Boolean] of TThemedButton =
|
||||||
((tbRadioButtonUncheckedDisabled, tbRadioButtonCheckedDisabled),
|
((tbRadioButtonUncheckedDisabled, tbRadioButtonCheckedDisabled),
|
||||||
@ -303,7 +327,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure DrawListBox(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aText: WideString);
|
procedure DrawListBox(aUX, aEnabled: Boolean; DC: HDC; R: TRect; aText: WideString);
|
||||||
begin
|
begin
|
||||||
if ThemeServices.ThemesAvailable and aUX then begin
|
if ThemeServices.ThemesAvailable and aUX then begin
|
||||||
// draw element
|
// draw element
|
||||||
@ -326,42 +350,44 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure DrawTreeView(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aText: WideString);
|
procedure DrawTreeView(aUX, aEnabled: Boolean; DC: HDC; R: TRect; aText: WideString);
|
||||||
begin
|
begin
|
||||||
DrawListBox(aUX, DC, R, aEnabled, aText);
|
DrawListBox(aUX, aEnabled, DC, R, aText);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure DrawListView(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aColumns: KOLWideString);
|
procedure DrawListView(aUX, aEnabled: Boolean; DC: HDC; R: TRect; aCols: ArrayTCDLVColumn);
|
||||||
|
const
|
||||||
|
HEAD_HEIGHT = 20;
|
||||||
|
CXL = 8; //!
|
||||||
|
CXR = 6; //!
|
||||||
|
|
||||||
var
|
var
|
||||||
w: WideString;
|
i: Integer;
|
||||||
d: TThemedElementDetails;
|
d: TThemedElementDetails;
|
||||||
|
f: DWORD;
|
||||||
begin
|
begin
|
||||||
// draw main
|
// draw main
|
||||||
DrawListBox(aUX, DC, R, aEnabled, '');
|
DrawListBox(aUX, aEnabled, DC, R, '');
|
||||||
// columns
|
// columns
|
||||||
if (aColumns <> '') then begin
|
if (Length(aCols) > 0) then begin
|
||||||
// draw head back
|
// draw head back
|
||||||
R := Bounds(2, 2, R.Right - 4, 20);
|
R := Bounds(2, 2, R.Right - 4, HEAD_HEIGHT);
|
||||||
ThemeServices.DrawElement(DC, ThemeServices.GetElementDetails(thHeaderRoot), R, nil);
|
ThemeServices.DrawElement(DC, ThemeServices.GetElementDetails(thHeaderRoot), R, nil);
|
||||||
// draw columns
|
// draw columns
|
||||||
R := Bounds(2, 2, 50, 20);
|
for i := 0 to High(aCols) do begin
|
||||||
repeat
|
// get element
|
||||||
w := ParseW(aColumns, #13);
|
d := ThemeServices.GetElementDetails(thHeaderItemNormal);
|
||||||
if (aColumns = '') and (w = '') then
|
// draw head column
|
||||||
Break
|
R.Right := R.Left + aCols[i].Width;
|
||||||
else begin
|
ThemeServices.DrawElement(DC, d, R, nil);
|
||||||
// get element
|
// draw text
|
||||||
d := ThemeServices.GetElementDetails(thHeaderItemNormal);
|
Inc(R.Left, CXL);
|
||||||
// draw head column
|
Dec(R.Right, CXR);
|
||||||
ThemeServices.DrawElement(DC, d, R, nil);
|
f := TextHFlags[aCols[i].TextAlign] or DT_VCENTER or DT_SINGLELINE;
|
||||||
// draw text
|
ThemeServices.DrawText(DC, d, aCols[i].Caption, R, f, 0);
|
||||||
Inc(R.Left, 10);
|
// next
|
||||||
ThemeServices.DrawText(DC, d, w, R, DT_LEFT or DT_VCENTER or DT_SINGLELINE, 0);
|
R.Left := R.Right + CXR;
|
||||||
// next
|
end;
|
||||||
Inc(R.Left, 40);
|
|
||||||
Inc(R.Right, 50);
|
|
||||||
end;
|
|
||||||
until False;
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -426,35 +452,54 @@ begin
|
|||||||
FillRect(DC, R, GetSysColorBrush(COLOR_BTNFACE));
|
FillRect(DC, R, GetSysColorBrush(COLOR_BTNFACE));
|
||||||
DrawEdge(DC, R, EDGE_SUNKEN, BF_RECT or BF_ADJUST);
|
DrawEdge(DC, R, EDGE_SUNKEN, BF_RECT or BF_ADJUST);
|
||||||
case aScrollStyle of
|
case aScrollStyle of
|
||||||
ssHorz: DrawScrollBar(aUX, DC, Rect(R.Left, R.Bottom - h, R.Right, R.Bottom), True, False, 2, 0, 100);
|
ssHorz: DrawScrollBar(aUX, True, False, DC, Rect(R.Left, R.Bottom - h, R.Right, R.Bottom), 2, 0, 100);
|
||||||
ssVert: DrawScrollBar(aUX, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom), True, True, 2, 0, 100);
|
ssVert: DrawScrollBar(aUX, True, True, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom), 2, 0, 100);
|
||||||
ssBoth:
|
ssBoth:
|
||||||
begin
|
begin
|
||||||
DrawScrollBar(aUX, DC, Rect(R.Left, R.Bottom - h, R.Right - w, R.Bottom), True, False, 2, 0, 100);
|
DrawScrollBar(aUX, True, False, DC, Rect(R.Left, R.Bottom - h, R.Right - w, R.Bottom), 2, 0, 100);
|
||||||
DrawScrollBar(aUX, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom - h), True, True, 2, 0, 100);
|
DrawScrollBar(aUX, True, True, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom - h), 2, 0, 100);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// not yet
|
procedure DrawToolbar(aUX, aEnabled: Boolean; DC: HDC; R: TRect; aBtns: ArrayTCDTBButton);
|
||||||
procedure DrawToolbar(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aText: WideString);
|
const // enb, sep
|
||||||
|
arrTTB: array[Boolean, Boolean] of TThemedToolBar = (
|
||||||
|
(ttbButtonDisabled, ttbSeparatorDisabled),
|
||||||
|
(ttbButtonNormal, ttbSeparatorNormal)
|
||||||
|
);
|
||||||
|
|
||||||
var
|
var
|
||||||
|
i: Integer;
|
||||||
d: TThemedElementDetails;
|
d: TThemedElementDetails;
|
||||||
begin
|
begin
|
||||||
if ThemeServices.ThemesAvailable and aUX then begin
|
if ThemeServices.ThemesAvailable and aUX then begin
|
||||||
// get element
|
// draw background
|
||||||
d := ThemeServices.GetElementDetails(ttbToolBarRoot);
|
ThemeServices.DrawElement(DC, ThemeServices.GetElementDetails(ttbToolBarRoot), R, nil);
|
||||||
// draw element
|
// draw buttons
|
||||||
ThemeServices.DrawElement(DC, d, R, nil);
|
for i := 0 to High(aBtns) do begin
|
||||||
|
// get element
|
||||||
// get element
|
if aBtns[i].Checked then
|
||||||
d := ThemeServices.GetElementDetails(ttbSplitButtonNormal);
|
d := ThemeServices.GetElementDetails(ttbButtonChecked)
|
||||||
// draw element
|
else
|
||||||
ThemeServices.DrawElement(DC, d, R, nil);
|
d := ThemeServices.GetElementDetails(arrTTB[aBtns[i].Enabled, aBtns[i].Separator]);
|
||||||
// text
|
// draw element
|
||||||
ThemeServices.DrawText(DC, d, aText, R, 0, 0);
|
ThemeServices.DrawElement(DC, d, aBtns[i].Rect, nil);
|
||||||
|
// draw text
|
||||||
|
ThemeServices.DrawText(DC, d, aBtns[i].Caption, aBtns[i].Rect, 0, 0);
|
||||||
|
end;
|
||||||
end else begin
|
end else begin
|
||||||
|
// draw background
|
||||||
|
FillRect(DC, R, GetSysColorBrush(COLOR_BTNFACE));
|
||||||
|
// draw buttons
|
||||||
|
for i := 0 to High(aBtns) do begin
|
||||||
|
if aBtns[i].Separator then
|
||||||
|
Windows.Rectangle(DC, aBtns[i].Rect.Left, aBtns[i].Rect.Top, aBtns[i].Rect.Right, aBtns[i].Rect.Bottom)
|
||||||
|
else begin
|
||||||
|
DrawEdge(DC, aBtns[i].Rect, BDR_RAISEDINNER, BF_RECT);
|
||||||
|
DrawTextW(DC, PWideChar(aBtns[i].Caption), Length(aBtns[i].Caption), aBtns[i].Rect, DT_LEFT);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
14899
mckCtrls.pas
14899
mckCtrls.pas
File diff suppressed because it is too large
Load Diff
3135
mckObjs.pas
3135
mckObjs.pas
File diff suppressed because it is too large
Load Diff
26474
mirror.pas
26474
mirror.pas
File diff suppressed because it is too large
Load Diff
23
whatsnew.txt
23
whatsnew.txt
@ -1,3 +1,26 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
05.03.21
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Changes after last svn:
|
||||||
|
|
||||||
|
* MCK: ux visual style mode updated
|
||||||
|
- MCK: remove pcode / collapse
|
||||||
|
- MCK: remove FormCompact
|
||||||
|
- MCK: source formatting: mckObjs.pas, mckCtrls.pas (by cnpack)
|
||||||
|
- KOL: remove codegeneration for MCK FormCompact
|
||||||
|
* KOL: move some defines from KOL.pas to KOLDEF.inc
|
||||||
|
* KOL: some refactoring\cleaning
|
||||||
|
* KOL: remove unused defines (SAFE_CODE, USE_CMOV, COMMANDACTIONS_OBJ, USE_AUTOFREE4CONTROLS, USE_AUTOFREE4CHILDREN, NEW_ALIGN, PROVIDE_EXITCODE - always on; OLD_REFCOUNT, SMALLEST_CODE*, SPEED_FASTER, USE_PROP, UMERIC_APPICON, CUSTOM_APPICON, TEST_INDEXOFCHARS_COMPAT, _FPC, REDEFINE_ABS, OLD_*, NOT_FIX_MODAL, NOT_UNLOAD_RICHEDITLIB, ANCHORS_WM_SIZE, COMMANDACTIONS_RECORD - always off; OLD_FREE and etc..)
|
||||||
|
* KOL: fix WStrRScan - affected: ExtractFileNeme, ExtractFileExt, ExtractFilePath and "Create new mck project" in XE 10.2 and maybe other high versions (by Hubert Bannwarth)
|
||||||
|
* KOL: fix "Create new mck project" in XE 10.2/3 and maybe other versions
|
||||||
|
* KOL: remove some old\commented\broken\asm code and defines like "*ASM_NO_VERSION*"
|
||||||
|
* KOLadd: remove some old\commented\broken\asm code and defines like "*ASM_NO_VERSION*"
|
||||||
|
* and some else..
|
||||||
|
|
||||||
|
Tested on:
|
||||||
|
Delphi 2006 x32(ansi\unicode)
|
||||||
|
Delphi XE 10.3 x32(unicode), x64(unicode)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
3.12.14
|
3.12.14
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user