* 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:
510
KOLDEF.inc
510
KOLDEF.inc
@ -3,19 +3,20 @@
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF VER140} // Delphi 6
|
||||
{$DEFINE _D6}
|
||||
{$DEFINE _D6orHigher}
|
||||
{$DEFINE _D6}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF VER150} // Delphi 7
|
||||
{$DEFINE _D6orHigher}
|
||||
{$DEFINE _D7}
|
||||
{$DEFINE _D7orHigher}
|
||||
{$DEFINE _D7}
|
||||
|
||||
{$WARN UNIT_DEPRECATED OFF}
|
||||
{$WARN SYMBOL_PLATFORM OFF}
|
||||
{$WARN UNSAFE_TYPE OFF}
|
||||
{$WARN UNSAFE_CAST OFF}
|
||||
{$WARN UNSAFE_CODE OFF}
|
||||
// {$WARN UNSAFE_TYPE OFF}
|
||||
// {$WARN UNSAFE_CAST OFF}
|
||||
// {$WARN UNSAFE_CODE OFF}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF VER160} // Delphi 8
|
||||
@ -25,61 +26,59 @@
|
||||
{$IFDEF VER170} // Delphi 2005
|
||||
{$DEFINE _D6orHigher}
|
||||
{$DEFINE _D7orHigher}
|
||||
{$DEFINE _D8}
|
||||
{$DEFINE _D8orHigher}
|
||||
{$DEFINE _D2005}
|
||||
{$DEFINE _D2005orHigher}
|
||||
{$DEFINE _D2005}
|
||||
|
||||
{$WARN UNIT_DEPRECATED OFF}
|
||||
{$WARN SYMBOL_PLATFORM OFF}
|
||||
{$WARN UNSAFE_TYPE OFF}
|
||||
{$WARN UNSAFE_CAST OFF}
|
||||
{$WARN UNSAFE_CODE OFF}
|
||||
// {$WARN UNSAFE_TYPE OFF}
|
||||
// {$WARN UNSAFE_CAST OFF}
|
||||
// {$WARN UNSAFE_CODE OFF}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF VER180} // Delphi 2006
|
||||
{$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 )
|
||||
{$IFDEF VER180} // Delphi 2006 or Turbo
|
||||
{$DEFINE _D6orHigher}
|
||||
{$DEFINE _D7orHigher}
|
||||
{$DEFINE _D2005orHigher}
|
||||
{$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 _D2007orHigher}
|
||||
{$WARN UNIT_DEPRECATED OFF}
|
||||
{$WARN SYMBOL_PLATFORM OFF}
|
||||
{$WARN UNSAFE_TYPE OFF}
|
||||
{$WARN UNSAFE_CAST OFF}
|
||||
{$WARN UNSAFE_CODE OFF}
|
||||
{$ENDIF}
|
||||
{$INLINE OFF}
|
||||
|
||||
{$WARN UNIT_DEPRECATED OFF}
|
||||
{$WARN SYMBOL_PLATFORM OFF}
|
||||
// {$WARN UNSAFE_TYPE OFF}
|
||||
// {$WARN UNSAFE_CAST OFF}
|
||||
// {$WARN UNSAFE_CODE OFF}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF VER200} // Delphi 2009
|
||||
{$IFDEF VER200} // Delphi 2009 (first unicode version)
|
||||
{$DEFINE _D6orHigher}
|
||||
{$DEFINE _D7orHigher}
|
||||
{$DEFINE _D2005orHigher}
|
||||
{$DEFINE _D2006orHigher}
|
||||
{$DEFINE _D2007orHigher}
|
||||
{$DEFINE _D2009}
|
||||
{$DEFINE _D2009orHigher}
|
||||
{$DEFINE _D2009}
|
||||
|
||||
{$WARN UNIT_DEPRECATED OFF}
|
||||
{$WARN SYMBOL_PLATFORM OFF}
|
||||
{$WARN UNSAFE_TYPE OFF}
|
||||
{$WARN UNSAFE_CAST OFF}
|
||||
{$WARN UNSAFE_CODE OFF}
|
||||
// {$WARN UNSAFE_TYPE OFF}
|
||||
// {$WARN UNSAFE_CAST OFF}
|
||||
// {$WARN UNSAFE_CODE OFF}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF VER210} // Delphi 2010
|
||||
@ -89,13 +88,14 @@
|
||||
{$DEFINE _D2006orHigher}
|
||||
{$DEFINE _D2007orHigher}
|
||||
{$DEFINE _D2009orHigher}
|
||||
{$DEFINE _D2010}
|
||||
{$DEFINE _D2010orHigher}
|
||||
{$DEFINE _D2010}
|
||||
|
||||
{$WARN UNIT_DEPRECATED OFF}
|
||||
{$WARN SYMBOL_PLATFORM OFF}
|
||||
{$WARN UNSAFE_TYPE OFF}
|
||||
{$WARN UNSAFE_CAST OFF}
|
||||
{$WARN UNSAFE_CODE OFF}
|
||||
// {$WARN UNSAFE_TYPE OFF}
|
||||
// {$WARN UNSAFE_CAST OFF}
|
||||
// {$WARN UNSAFE_CODE OFF}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF VER220} // Delphi XE
|
||||
@ -106,13 +106,14 @@
|
||||
{$DEFINE _D2007orHigher}
|
||||
{$DEFINE _D2009orHigher}
|
||||
{$DEFINE _D2010orHigher}
|
||||
{$DEFINE _DXE}
|
||||
{$DEFINE _DXEorHigher}
|
||||
{$WARN UNIT_DEPRECATED OFF}
|
||||
{$DEFINE _DXE}
|
||||
|
||||
{$WARN UNIT_DEPRECATED OFF}
|
||||
{$WARN SYMBOL_PLATFORM OFF}
|
||||
{$WARN UNSAFE_TYPE OFF}
|
||||
{$WARN UNSAFE_CAST OFF}
|
||||
{$WARN UNSAFE_CODE OFF}
|
||||
// {$WARN UNSAFE_TYPE OFF}
|
||||
// {$WARN UNSAFE_CAST OFF}
|
||||
// {$WARN UNSAFE_CODE OFF}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF VER230} // Delphi XE2
|
||||
@ -124,18 +125,18 @@
|
||||
{$DEFINE _D2009orHigher}
|
||||
{$DEFINE _D2010orHigher}
|
||||
{$DEFINE _DXEorHigher}
|
||||
{$DEFINE _DXE2orHigher}
|
||||
{$DEFINE _DXE2}
|
||||
{$DEFINE _DXE2orHigher}
|
||||
{$IFDEF WIN64}
|
||||
{$DEFINE PAS_VERSION}
|
||||
{$DEFINE PAS_ONLY}
|
||||
{.$DEFINE UNICODE_CTRLS}
|
||||
{$ENDIF}
|
||||
{$WARN UNIT_DEPRECATED OFF}
|
||||
{.$WARN SYMBOL_PLATFORM OFF}
|
||||
{.$WARN UNSAFE_TYPE OFF}
|
||||
{.$WARN UNSAFE_CAST OFF}
|
||||
{.$WARN UNSAFE_CODE OFF}
|
||||
|
||||
{$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}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF VER240} // Delphi XE3
|
||||
@ -147,19 +148,19 @@
|
||||
{$DEFINE _D2009orHigher}
|
||||
{$DEFINE _D2010orHigher}
|
||||
{$DEFINE _DXEorHigher}
|
||||
{$DEFINE _DXE2orHigher}
|
||||
{$DEFINE _DXE2orHigher}
|
||||
{$DEFINE _DXE3orHigher}
|
||||
{$DEFINE _DXE3}
|
||||
{$DEFINE _DXE3orHigher}
|
||||
{$IFDEF WIN64}
|
||||
{$DEFINE PAS_VERSION}
|
||||
{$DEFINE PAS_ONLY}
|
||||
{.$DEFINE UNICODE_CTRLS}
|
||||
{$ENDIF}
|
||||
{$WARN UNIT_DEPRECATED OFF}
|
||||
{.$WARN SYMBOL_PLATFORM OFF}
|
||||
{.$WARN UNSAFE_TYPE OFF}
|
||||
{.$WARN UNSAFE_CAST OFF}
|
||||
{.$WARN UNSAFE_CODE OFF}
|
||||
|
||||
{$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}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF VER250} // Delphi XE4
|
||||
@ -171,21 +172,22 @@
|
||||
{$DEFINE _D2009orHigher}
|
||||
{$DEFINE _D2010orHigher}
|
||||
{$DEFINE _DXEorHigher}
|
||||
{$DEFINE _DXE2orHigher}
|
||||
{$DEFINE _DXE3orHigher}
|
||||
{$DEFINE _DXE2orHigher}
|
||||
{$DEFINE _DXE3orHigher}
|
||||
{$DEFINE _DXE4orHigher}
|
||||
{$DEFINE _DXE4}
|
||||
{$DEFINE _DXE4orHigher}
|
||||
{$IFDEF WIN64}
|
||||
{$DEFINE PAS_VERSION}
|
||||
{$DEFINE PAS_ONLY}
|
||||
{.$DEFINE UNICODE_CTRLS}
|
||||
{$ENDIF}
|
||||
{$WARN UNIT_DEPRECATED OFF}
|
||||
{.$WARN SYMBOL_PLATFORM OFF}
|
||||
{.$WARN UNSAFE_TYPE OFF}
|
||||
{.$WARN UNSAFE_CAST OFF}
|
||||
{.$WARN UNSAFE_CODE OFF}
|
||||
{$DEFINE TMSG_WINDOWS}
|
||||
|
||||
{$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 VER260} // Delphi XE5
|
||||
@ -197,22 +199,23 @@
|
||||
{$DEFINE _D2009orHigher}
|
||||
{$DEFINE _D2010orHigher}
|
||||
{$DEFINE _DXEorHigher}
|
||||
{$DEFINE _DXE2orHigher}
|
||||
{$DEFINE _DXE3orHigher}
|
||||
{$DEFINE _DXE4orHigher}
|
||||
{$DEFINE _DXE2orHigher}
|
||||
{$DEFINE _DXE3orHigher}
|
||||
{$DEFINE _DXE4orHigher}
|
||||
{$DEFINE _DXE5orHigher}
|
||||
{$DEFINE _DXE5}
|
||||
{$DEFINE _DXE5orHigher}
|
||||
{$IFDEF WIN64}
|
||||
{$DEFINE PAS_VERSION}
|
||||
{$DEFINE PAS_ONLY}
|
||||
{.$DEFINE UNICODE_CTRLS}
|
||||
{$ENDIF}
|
||||
{$WARN UNIT_DEPRECATED OFF}
|
||||
{.$WARN SYMBOL_PLATFORM OFF}
|
||||
{.$WARN UNSAFE_TYPE OFF}
|
||||
{.$WARN UNSAFE_CAST OFF}
|
||||
{.$WARN UNSAFE_CODE OFF}
|
||||
{$DEFINE TMSG_WINDOWS}
|
||||
|
||||
{$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 VER270} // Delphi XE6
|
||||
@ -224,23 +227,24 @@
|
||||
{$DEFINE _D2009orHigher}
|
||||
{$DEFINE _D2010orHigher}
|
||||
{$DEFINE _DXEorHigher}
|
||||
{$DEFINE _DXE2orHigher}
|
||||
{$DEFINE _DXE3orHigher}
|
||||
{$DEFINE _DXE4orHigher}
|
||||
{$DEFINE _DXE5orHigher}
|
||||
{$DEFINE _DXE6}
|
||||
{$DEFINE _DXE6orHigher}
|
||||
{$IFDEF WIN64}
|
||||
{$DEFINE PAS_VERSION}
|
||||
{$DEFINE PAS_ONLY}
|
||||
{.$DEFINE UNICODE_CTRLS}
|
||||
{$ENDIF}
|
||||
{$WARN UNIT_DEPRECATED OFF}
|
||||
{.$WARN SYMBOL_PLATFORM OFF}
|
||||
{.$WARN UNSAFE_TYPE OFF}
|
||||
{.$WARN UNSAFE_CAST OFF}
|
||||
{.$WARN UNSAFE_CODE OFF}
|
||||
{$DEFINE TMSG_WINDOWS}
|
||||
{$DEFINE _DXE2orHigher}
|
||||
{$DEFINE _DXE3orHigher}
|
||||
{$DEFINE _DXE4orHigher}
|
||||
{$DEFINE _DXE5orHigher}
|
||||
{$DEFINE _DXE6orHigher}
|
||||
{$DEFINE _DXE6}
|
||||
|
||||
{$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 VER280} // Delphi XE7
|
||||
@ -252,23 +256,120 @@
|
||||
{$DEFINE _D2009orHigher}
|
||||
{$DEFINE _D2010orHigher}
|
||||
{$DEFINE _DXEorHigher}
|
||||
{$DEFINE _DXE2orHigher}
|
||||
{$DEFINE _DXE3orHigher}
|
||||
{$DEFINE _DXE4orHigher}
|
||||
{$DEFINE _DXE5orHigher}
|
||||
{$DEFINE _DXE6orHigher}
|
||||
{$DEFINE _DXE7}
|
||||
{$DEFINE _DXE7orHigher}
|
||||
{$IFDEF WIN64}
|
||||
{$DEFINE PAS_VERSION}
|
||||
{$DEFINE PAS_ONLY}
|
||||
{.$DEFINE UNICODE_CTRLS}
|
||||
{$ENDIF}
|
||||
{$WARN UNIT_DEPRECATED OFF}
|
||||
{.$WARN SYMBOL_PLATFORM OFF}
|
||||
{.$WARN UNSAFE_TYPE OFF}
|
||||
{.$WARN UNSAFE_CAST OFF}
|
||||
{.$WARN UNSAFE_CODE OFF}
|
||||
{$DEFINE _DXE2orHigher}
|
||||
{$DEFINE _DXE3orHigher}
|
||||
{$DEFINE _DXE4orHigher}
|
||||
{$DEFINE _DXE5orHigher}
|
||||
{$DEFINE _DXE6orHigher}
|
||||
{$DEFINE _DXE7orHigher}
|
||||
{$DEFINE _DXE7}
|
||||
|
||||
{$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 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}
|
||||
{$ENDIF}
|
||||
|
||||
@ -286,31 +387,59 @@
|
||||
{$DEFINE _DXE4orHigher}
|
||||
{$DEFINE _DXE5orHigher}
|
||||
{$DEFINE _DXE6orHigher}
|
||||
{$DEFINE _DXE7}
|
||||
{$DEFINE _DXE7orHigher}
|
||||
{$DEFINE _D10_2}
|
||||
{$DEFINE _DXE8orHigher}
|
||||
{$DEFINE _D10orHigher}
|
||||
{$DEFINE _D10_1orHigher}
|
||||
{$DEFINE _D10_2orHigher}
|
||||
{$IFDEF WIN64}
|
||||
{$DEFINE PAS_VERSION}
|
||||
{$DEFINE PAS_ONLY}
|
||||
{.$DEFINE UNICODE_CTRLS}
|
||||
{$ENDIF}
|
||||
{$DEFINE _D10_2}
|
||||
|
||||
{$WARN UNIT_DEPRECATED OFF}
|
||||
{.$WARN SYMBOL_PLATFORM OFF}
|
||||
{.$WARN UNSAFE_TYPE OFF}
|
||||
{.$WARN UNSAFE_CAST OFF}
|
||||
{.$WARN UNSAFE_CODE 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}
|
||||
|
||||
// TODO: check DLL project
|
||||
{$IFNDEF NO_STRIP_RELOC}
|
||||
// by Thaddy de Koning:
|
||||
{$IFDEF _D2006orHigher}
|
||||
// strips relocs, like stripreloc.exe does
|
||||
{$SetPEFlags 1}
|
||||
//{$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}
|
||||
{$ENDIF}
|
||||
{$IFDEF VER330} // Delphi 10.3 Rio
|
||||
{$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_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}
|
||||
|
||||
{$IFDEF FPC}
|
||||
@ -327,14 +456,14 @@
|
||||
------------------------------------}
|
||||
{$DEFINE PAS_VERSION}
|
||||
{$IFDEF VER2}
|
||||
{$DEFINE _D6orHigher}
|
||||
{$DEFINE _D6orHigher}
|
||||
{$DEFINE _D7}
|
||||
{$DEFINE _D7orHigher}
|
||||
{$ENDIF}
|
||||
{$IFDEF VER3}
|
||||
// I should clean this up later.
|
||||
{$DEFINE VER2}
|
||||
{$DEFINE _D6orHigher}
|
||||
{$DEFINE _D6orHigher}
|
||||
{$DEFINE _D7}
|
||||
{$DEFINE _D7orHigher}
|
||||
{$DEFINE _D2005orHigher}
|
||||
@ -347,21 +476,13 @@
|
||||
{$DEFINE _KOLCtrlWrapper_}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFNDEF _NOT_KOLCtrlWrapper_}
|
||||
{$DEFINE _KOLCtrlWrapper_}
|
||||
{$ENDIF}
|
||||
|
||||
//// 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 PAS_VERSION}
|
||||
{$UNDEF ASM_VERSION}
|
||||
// To compile a project with ASM_VERSION option turned off,
|
||||
// define a symbol PAS_VERSION in project options.
|
||||
// To compile a project with ASM_VERSION option turned off, define a symbol PAS_VERSION in project options.
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
|
||||
@ -374,13 +495,6 @@
|
||||
// directive there. (Search the word: USE_CUSTOMEXTENSIONS).
|
||||
// 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}
|
||||
{$DEFINE USE_FLAGS}
|
||||
{$ELSE}
|
||||
@ -391,12 +505,50 @@
|
||||
{$DEFINE EVENTS_DYNAMIC}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFnDEF CMDACTIONS_RECORD}
|
||||
{$DEFINE COMMANDACTIONS_OBJ}
|
||||
{$DEFINE PACK_COMMANDACTIONS}
|
||||
{$IFDEF NOT_PACK_COMMANDACTIONS}
|
||||
{$UNDEF PACK_COMMANDACTIONS}
|
||||
{$DEFINE PACK_COMMANDACTIONS}
|
||||
{$IFDEF NOT_PACK_COMMANDACTIONS}
|
||||
{$UNDEF PACK_COMMANDACTIONS}
|
||||
{$ENDIF}
|
||||
|
||||
{$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}
|
||||
|
||||
{$DEFINE KOL3XX}
|
||||
{$DEFINE KOL3XX}
|
||||
|
@ -98,9 +98,8 @@ type
|
||||
procedure DoCancel( Sender: PObj );
|
||||
procedure DoNotClose( Sender: PObj; var Accept: Boolean );
|
||||
procedure DoShow( Sender: PObj );
|
||||
function DoMsg( var Msg: TMsg; var Rslt: Integer ): Boolean;
|
||||
function DoExpanding( Sender: PControl; Item: THandle; Expand: Boolean )
|
||||
: Boolean;
|
||||
function DoMsg( var Msg: TMsg; var Rslt: LRESULT ): Boolean;
|
||||
function DoExpanding( Sender: PControl; Item: THandle; Expand: Boolean ): Boolean;
|
||||
function DoFilterAttrs( Attrs: DWORD; const APath: KOLString ): Boolean;
|
||||
procedure Rescantree;
|
||||
procedure RescanNode( node: Integer );
|
||||
@ -687,7 +686,7 @@ begin
|
||||
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;
|
||||
NMCustomDraw: PNMCustomDraw;
|
||||
i: Integer;
|
||||
@ -1073,7 +1072,7 @@ begin
|
||||
SL.Add( Find32W.cFileName );
|
||||
if not FFindNextFileW( F, @Find32W ) then break;
|
||||
end;
|
||||
SL.Sort( FALSE );
|
||||
SL.Sort( [] );
|
||||
//LogFileOutput( 'C:\sort_test.txt', '--------------------------'#13#10#13#10 +
|
||||
// SL.Text );
|
||||
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}
|
||||
{$ALIGN ON}
|
||||
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
|
||||
{$ALIGN 8}
|
||||
{$ASSERTIONS ON}
|
||||
{$BOOLEVAL OFF}
|
||||
{$DEBUGINFO ON}
|
||||
@ -11,40 +12,46 @@ package KOLMCK4;
|
||||
{$LOCALSYMBOLS ON}
|
||||
{$LONGSTRINGS ON}
|
||||
{$OPENSTRINGS ON}
|
||||
{$OPTIMIZATION OFF}
|
||||
{$OPTIMIZATION ON}
|
||||
{$OVERFLOWCHECKS OFF}
|
||||
{$RANGECHECKS OFF}
|
||||
{$REFERENCEINFO ON}
|
||||
{$SAFEDIVIDE OFF}
|
||||
{$STACKFRAMES ON}
|
||||
{$STACKFRAMES OFF}
|
||||
{$TYPEDADDRESS OFF}
|
||||
{$VARSTRINGCHECKS ON}
|
||||
{$WRITEABLECONST ON}
|
||||
{$WRITEABLECONST OFF}
|
||||
{$MINENUMSIZE 1}
|
||||
{$IMAGEBASE $00400000}
|
||||
{$DESCRIPTION '_KOL_ mirror controls for Delphi 4'}
|
||||
{$IMAGEBASE $13400000}
|
||||
{$DESCRIPTION 'KOLMCKXE10_2'}
|
||||
{$DEFINE UNICODE_CTRLS}
|
||||
{$DEFINE PAS_ONLY}
|
||||
{$DEFINE PAS_VERSION}
|
||||
{$ENDIF IMPLICITBUILDING}
|
||||
{$DESIGNONLY}
|
||||
{$IMPLICITBUILD ON}
|
||||
{$IMPLICITBUILD OFF}
|
||||
{$DEFINE INPACKAGE}
|
||||
{$DEFINE _NOT_Use_KOLCtrlWrapper}
|
||||
|
||||
requires
|
||||
vcl40,
|
||||
Vclx40;
|
||||
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',
|
||||
KOL in 'KOL.pas',
|
||||
mckAccEditorD4 in 'mckAccEditorD4.pas',
|
||||
mckCtrlDraw in 'mckCtrlDraw.pas',
|
||||
mckActionListEditor in 'mckActionListEditor.pas',
|
||||
mckMenuEditor in 'mckMenuEditor.pas',
|
||||
mckAccEditor in 'mckAccEditor.pas',
|
||||
mckToolbarEditor in 'mckToolbarEditor.pas',
|
||||
mckLVColumnsEditor in 'mckLVColumnsEditor.pas',
|
||||
mckAccEditor in 'mckAccEditor.pas',
|
||||
mckActionListEditor in 'mckActionListEditor.pas',
|
||||
mckFileFilterEditor in 'mckFileFilterEditor.pas',
|
||||
KOLadd in 'KOLadd.pas';
|
||||
mckLVColumnsEditor in 'mckLVColumnsEditor.pas',
|
||||
MCKAppExpert200x in 'MCKAppExpert200x.pas';
|
||||
|
||||
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
|
||||
CALL GetProcAddress
|
||||
XCHG ECX, EAX
|
||||
{$IFDEF SAFE_CODE}
|
||||
POP EDX
|
||||
JECXZ @@fin
|
||||
PUSH EDX
|
||||
{$ENDIF}
|
||||
PUSH 8 // dwSize
|
||||
PUSH ESP // @ ICC
|
||||
CALL ECX // Proc( @ ICC )
|
||||
@ -40,9 +38,7 @@ asm
|
||||
push edx // Flags
|
||||
mov ecx, [Applet]
|
||||
{$IFDEF SNAPMOUSE2DFLTBTN}
|
||||
{$IFDEF SAFE_CODE}
|
||||
jecxz @@0
|
||||
{$ENDIF}
|
||||
pushad
|
||||
xchg eax, ecx
|
||||
mov edx, offset[WndProcSnapMouse2DfltBtn]
|
||||
@ -51,9 +47,7 @@ asm
|
||||
@@0:
|
||||
{$ENDIF}
|
||||
mov edx, 0
|
||||
{$IFDEF SAFE_CODE}
|
||||
jecxz @@1
|
||||
{$ENDIF}
|
||||
mov edx, [ecx].TControl.fHandle
|
||||
mov ecx, [ecx].TControl.fCaption
|
||||
@@1: push ecx // Title
|
||||
@ -62,9 +56,7 @@ asm
|
||||
call MessageBox
|
||||
{$IFDEF SNAPMOUSE2DFLTBTN}
|
||||
mov ecx, [Applet]
|
||||
{$IFDEF SAFE_CODE}
|
||||
jecxz @@2
|
||||
{$ENDIF}
|
||||
pushad
|
||||
xchg eax, ecx
|
||||
mov edx, offset[WndProcSnapMouse2DfltBtn]
|
||||
@ -109,10 +101,8 @@ asm
|
||||
PUSH EAX // prepare Length(Text)
|
||||
CALL EDX2PChar
|
||||
PUSH EDX // prepare PChar(Text)
|
||||
{$IFDEF SAFE_CODE}
|
||||
MOV EAX, EBX
|
||||
CALL RefInc
|
||||
{$ENDIF}
|
||||
PUSH HandleValid or FontValid
|
||||
PUSH EBX
|
||||
CALL RequiredState
|
||||
@ -152,12 +142,10 @@ asm
|
||||
XCHG EAX, EBX
|
||||
CALL SetHandle
|
||||
@@exit:
|
||||
{$IFDEF SAFE_CODE}
|
||||
PUSH EAX
|
||||
XCHG EAX, EBX
|
||||
CALL RefDec
|
||||
POP EAX
|
||||
{$ENDIF}
|
||||
POP ESI
|
||||
POP EBX
|
||||
end;
|
||||
@ -229,10 +217,7 @@ asm // EAX = Value
|
||||
PUSH EDI
|
||||
PUSH ECX
|
||||
LEA EDI, [ESP+8+0Fh] // EBX := @Buf[ 15 ]
|
||||
{$IFDEF SMALLEST_CODE}
|
||||
{$ELSE}
|
||||
AND EDX, $F
|
||||
{$ENDIF}
|
||||
@@loop: DEC EDI
|
||||
DEC EDX
|
||||
PUSH EAX
|
||||
@ -634,16 +619,11 @@ function CopyTail( const S : AnsiString; Len : Integer ) : AnsiString;
|
||||
asm
|
||||
PUSH ECX
|
||||
PUSH EAX
|
||||
PUSH EDX
|
||||
CALL System.@LStrLen
|
||||
POP ECX
|
||||
CMP ECX, EAX
|
||||
{$IFDEF USE_CMOV}
|
||||
CMOVG ECX, EAX
|
||||
{$ELSE}
|
||||
JLE @@1
|
||||
MOV ECX, EAX
|
||||
@@1: {$ENDIF}
|
||||
PUSH EDX
|
||||
CALL System.@LStrLen
|
||||
POP ECX
|
||||
CMP ECX, EAX
|
||||
CMOVG ECX, EAX
|
||||
|
||||
MOV EDX, EAX
|
||||
SUB EDX, ECX
|
||||
@ -660,12 +640,7 @@ asm
|
||||
CALL System.@LStrLen
|
||||
POP ECX
|
||||
CMP ECX, EAX
|
||||
{$IFDEF USE_CMOV}
|
||||
CMOVG ECX, EAX
|
||||
{$ELSE}
|
||||
JLE @@1
|
||||
MOV ECX, EAX
|
||||
@@1: {$ENDIF}
|
||||
|
||||
MOV EDX, EAX
|
||||
SUB EDX, ECX
|
||||
@ -674,7 +649,6 @@ asm
|
||||
CALL System.@LStrDelete
|
||||
end;
|
||||
|
||||
{$IFnDEF TEST_INDEXOFCHARS_COMPAT}
|
||||
function IndexOfChar( const S : KOLString; Chr : KOLChar ) : Integer;
|
||||
asm
|
||||
CALL EAX2PChar
|
||||
@ -686,7 +660,6 @@ asm
|
||||
LEA EDX, [EAX+1]
|
||||
@@1: SUB EAX, EDX
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
function IndexOfCharsMin( const S, Chars : AnsiString ) : Integer;
|
||||
asm PUSH ESI
|
||||
@ -873,6 +846,12 @@ asm
|
||||
CALL RemoveStr
|
||||
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:
|
||||
POP ESI
|
||||
end;
|
||||
@ -1550,105 +1529,6 @@ asm
|
||||
JMP _FillStrList
|
||||
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;
|
||||
Style: DWORD; Ctl3D: Boolean;
|
||||
Actions: TCommandActionsParam ): PControl;
|
||||
@ -1695,29 +1575,21 @@ asm
|
||||
LEA EDI, [EBX].TControl.fBoundsRect
|
||||
LODSB
|
||||
MOVSX EAX, AL
|
||||
{$IFNDEF SMALLEST_CODE}
|
||||
PUSH EAX
|
||||
MOVSX ECX, byte ptr [ESI+2]
|
||||
ADD EAX, ECX // AParent.fClientLeft
|
||||
{$ENDIF}
|
||||
STOSD // fBoundsRect.Left
|
||||
{$IFNDEF SMALLEST_CODE}
|
||||
POP EAX
|
||||
PUSH EAX
|
||||
MOVSX ECX, byte ptr [ESI+0]
|
||||
ADD EAX, ECX // AParent.fClientTop
|
||||
{$ENDIF}
|
||||
STOSD // fBoundsRect.Top
|
||||
{$IFNDEF SMALLEST_CODE}
|
||||
XCHG EDX, EAX
|
||||
POP EAX
|
||||
{$ENDIF}
|
||||
ADD EAX, 64
|
||||
STOSD // fBoundsRect.Right
|
||||
{$IFNDEF SMALLEST_CODE}
|
||||
XCHG EAX, EDX
|
||||
ADD EAX, 64
|
||||
{$ENDIF}
|
||||
STOSD // fBoundsRect.Bottom}
|
||||
POP ECX
|
||||
MOV EAX, [ECX].TControl.fCursor
|
||||
@ -2503,11 +2375,7 @@ asm //cmd //opd
|
||||
CALL MakeFlags
|
||||
POP EDX
|
||||
|
||||
{$IFDEF COMMANDACTIONS_OBJ}
|
||||
PUSH TOOLBAR_ACTIONS
|
||||
{$ELSE}
|
||||
PUSH 0 //: actions : = nil
|
||||
{$ENDIF}
|
||||
XCHG ECX, EAX // ECX = MakeFlags(...)
|
||||
MOV EDI, ECX
|
||||
MOV EAX, [ESP+8] // EAX = AParent
|
||||
@ -2516,14 +2384,9 @@ asm //cmd //opd
|
||||
OR ECX, WS_CHILD or WS_VISIBLE or TBSTYLE_TOOLTIPS
|
||||
MOV EDX, offset[ TOOLBARCLASSNAME ]
|
||||
CALL _NewCommonControl
|
||||
{$IFDEF COMMANDACTIONS_OBJ}
|
||||
MOV EDX, [EAX].TControl.fCommandActions
|
||||
MOV [EDX].TCommandActionsObj.aClear, offset[ClearToolbar]
|
||||
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}
|
||||
OR [EAX].TControl.fFlagsG5, 1 shl G5_IsButton
|
||||
{$ELSE}
|
||||
@ -2838,11 +2701,7 @@ asm
|
||||
PUSH [hInstance]// Params.WindowClass.hInstance := hInstance
|
||||
PUSH ECX // Params.WindowClass.cbWndExtra := 0
|
||||
PUSH ECX // Params.WindowClass.cbClsExtra := 0
|
||||
{$IFDEF SAFE_CODE}
|
||||
PUSH [EBX].fDefWndProc // Params.WindowClass.lpfnWndProc := fDefWndProc
|
||||
{$ELSE}
|
||||
PUSH 0
|
||||
{$ENDIF}
|
||||
PUSH [EBX].fClsStyle // Params.WindowClass.style := fStyle
|
||||
ADD ESP, -64
|
||||
PUSH ECX
|
||||
@ -2872,12 +2731,7 @@ asm
|
||||
@@1: PUSH EAX // Params.Height := Height | CW_UseDefault
|
||||
MOV EAX, [EBX].fBoundsRect.Right
|
||||
SUB EAX, [EBX].fBoundsRect.Left
|
||||
{$IFDEF USE_CMOV}
|
||||
CMOVZ EAX, ECX
|
||||
{$ELSE}
|
||||
JNZ @@2
|
||||
MOV EAX, ECX
|
||||
@@2: {$ENDIF}
|
||||
|
||||
PUSH EAX // Params.Width := Width | CW_UseDefault
|
||||
MOV EAX, [EBX].fBoundsRect.Left
|
||||
@ -2956,11 +2810,7 @@ asm
|
||||
TEST EAX, EAX
|
||||
JZ @@fin
|
||||
PUSH EAX
|
||||
{$IFDEF USE_PROP}
|
||||
PUSH offset ID_SELF
|
||||
{$ELSE}
|
||||
PUSH GWL_USERDATA
|
||||
{$ENDIF}
|
||||
PUSH EAX
|
||||
|
||||
PUSH 0
|
||||
@ -2969,29 +2819,17 @@ asm
|
||||
PUSH EAX
|
||||
CALL SendMessage
|
||||
|
||||
{$IFDEF USE_PROP}
|
||||
CALL GetProp
|
||||
{$ELSE}
|
||||
CALL GetWindowLong
|
||||
{$ENDIF}
|
||||
XCHG ECX, EAX
|
||||
POP EAX
|
||||
INC ECX
|
||||
LOOP @@propSet
|
||||
MOV [CreatingWindow], ECX
|
||||
PUSH EBX
|
||||
{$IFDEF USE_PROP}
|
||||
PUSH offset ID_SELF
|
||||
PUSH EAX
|
||||
CALL SetProp
|
||||
{$ELSE}
|
||||
PUSH GWL_USERDATA
|
||||
PUSH EAX
|
||||
CALL SetWindowLong
|
||||
{$ENDIF}
|
||||
@@propSet:
|
||||
{$IFDEF SMALLEST_CODE}
|
||||
{$ELSE}
|
||||
{$IFDEF USE_FLAGS}
|
||||
TEST [EBX].fFlagsG3, 1 shl G3_IsControl
|
||||
{$ELSE}
|
||||
@ -3006,7 +2844,6 @@ asm
|
||||
PUSH EBX
|
||||
CALL Perform
|
||||
@@iconSet:
|
||||
{$ENDIF}
|
||||
MOV ECX, [EBX].PP.fCreateWndExt
|
||||
{$IFDEF NIL_EVENTS}
|
||||
JECXZ @@dblbufcreate
|
||||
@ -3191,12 +3028,8 @@ asm
|
||||
XCHG ESI, EAX // ESI = Idx'
|
||||
|
||||
XOR EAX, EAX
|
||||
{$IFDEF COMMANDACTIONS_OBJ}
|
||||
MOV ECX, [EBX].fCommandActions
|
||||
MOVZX ECX, [ECX].TCommandActionsObj.aGetItemLength
|
||||
{$ELSE}
|
||||
MOVZX ECX, [EBX].fCommandActions.aGetItemLength
|
||||
{$ENDIF}
|
||||
JECXZ @@ret_empty
|
||||
|
||||
PUSH ECX // push aGetItemLength
|
||||
@ -3214,12 +3047,8 @@ asm
|
||||
POP EDX // restore L
|
||||
LEA ECX, [EDX+1]
|
||||
MOV dword ptr [EAX], ECX
|
||||
{$IFDEF COMMANDACTIONS_OBJ}
|
||||
MOV ECX, [EBX].fCommandActions
|
||||
MOVZX ECX, [ECX].TCommandActionsObj.aGetItemText
|
||||
{$ELSE}
|
||||
MOVZX ECX, [EBX].fCommandActions.aGetItemText
|
||||
{$ENDIF}
|
||||
JECXZ @@ret_buf
|
||||
|
||||
PUSH EDX // save L
|
||||
@ -3266,12 +3095,8 @@ asm
|
||||
CALL ECX2PChar
|
||||
PUSH ECX // @Value[1]
|
||||
|
||||
{$IFDEF COMMANDACTIONS_OBJ}
|
||||
MOV ECX, [EBX].fCommandActions
|
||||
MOVZX ECX, [ECX].TCommandActionsObj.aSetItemText
|
||||
{$ELSE}
|
||||
MOVZX ECX, [EBX].fCommandActions.aSetItemText
|
||||
{$ENDIF}
|
||||
JECXZ @@1
|
||||
|
||||
PUSH 0
|
||||
@ -3309,12 +3134,8 @@ asm
|
||||
|
||||
@@1: // @Value[1] in stack already
|
||||
POP EDX
|
||||
{$IFDEF COMMANDACTIONS_OBJ}
|
||||
MOV ECX, [EBX].fCommandActions
|
||||
MOVZX ECX, [ECX].TCommandActionsObj.aDeleteItem
|
||||
{$ELSE}
|
||||
MOVZX ECX, [EBX].fCommandActions.aDeleteItem
|
||||
{$ENDIF}
|
||||
JECXZ @@exit
|
||||
|
||||
PUSH ESI
|
||||
@ -3362,12 +3183,8 @@ asm
|
||||
PUSH EBX
|
||||
MOV EBX, EAX // EBX = @Self
|
||||
|
||||
{$IFDEF COMMANDACTIONS_OBJ}
|
||||
MOV ECX, [EBX].fCommandActions
|
||||
MOVZX ECX, [ECX].TCommandActionsObj.aAddItem
|
||||
{$ELSE}
|
||||
MOVZX ECX, [EBX].fCommandActions.aAddItem // ECX = aAddItem
|
||||
{$ENDIF}
|
||||
JECXZ @@chk_addtext
|
||||
|
||||
CALL EDX2PChar
|
||||
@ -3392,12 +3209,8 @@ asm
|
||||
JMP @@exit
|
||||
|
||||
@@chk_addtext:
|
||||
{$IFDEF COMMANDACTIONS_OBJ}
|
||||
MOV ECX, [EBX].fCommandActions
|
||||
MOV ECX, [ECX].TCommandActionsObj.aAddText
|
||||
{$ELSE}
|
||||
MOV ECX, [EBX].fCommandActions.aAddText
|
||||
{$ENDIF}
|
||||
JECXZ @@add_text_simple
|
||||
|
||||
CALL ECX
|
||||
@ -3420,12 +3233,8 @@ function TControl.Insert(Idx: Integer; const S: AnsiString): Integer;
|
||||
asm
|
||||
CALL ECX2PChar
|
||||
PUSH ECX
|
||||
{$IFDEF COMMANDACTIONS_OBJ}
|
||||
MOV ECX, [EAX].fCommandActions
|
||||
MOVZX ECX, [ECX].TCommandActionsObj.aInsertItem
|
||||
{$ELSE}
|
||||
MOVZX ECX, [EAX].fCommandActions.aInsertItem
|
||||
{$ENDIF}
|
||||
JECXZ @@exit_1
|
||||
|
||||
PUSH EDX
|
||||
@ -4142,12 +3951,7 @@ asm { [EBP+$8] = @Self
|
||||
STOSD
|
||||
MOV EAX, [ToolbarsIDcmd]
|
||||
TEST EBX, EBX
|
||||
{$IFDEF USE_CMOV}
|
||||
CMOVL EBX, EAX
|
||||
{$ELSE}
|
||||
JGE @@b0
|
||||
MOV EBX, EAX
|
||||
@@b0: {$ENDIF}
|
||||
STOSD
|
||||
XOR EAX, EAX
|
||||
INC AH // TBSTYLE_SEP = 1
|
||||
@ -4179,12 +3983,7 @@ asm { [EBP+$8] = @Self
|
||||
MOV EAX, [ToolbarsIDcmd]
|
||||
STOSD
|
||||
TEST EBX, EBX
|
||||
{$IFDEF USE_CMOV}
|
||||
CMOVL EBX, EAX
|
||||
{$ELSE}
|
||||
JGE @@210
|
||||
MOV EBX, EAX
|
||||
@@210: {$ENDIF}
|
||||
MOV ECX, [EBP+8]
|
||||
MOV AH, BYTE PTR [ECX].TControl.DF.fDefaultTBBtnStyle
|
||||
POP ECX
|
||||
|
171
KOLadd.pas
171
KOLadd.pas
@ -1178,47 +1178,8 @@ begin
|
||||
Result := ( PBitsList( fList ).fCount + 3) div 4;
|
||||
end;
|
||||
|
||||
{$IFDEF ASM_noVERSION}
|
||||
//[function TBits.IndexOf]
|
||||
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;
|
||||
D: DWORD;
|
||||
begin
|
||||
@ -1262,7 +1223,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
{$ENDIF ASM_VERSION}
|
||||
|
||||
//[function TBits.LoadFromStream]
|
||||
procedure TBits.InstallBits(FromIdx, N: Integer; Value: Boolean);
|
||||
@ -1324,51 +1284,6 @@ begin
|
||||
end;
|
||||
|
||||
//[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);
|
||||
var Msk: DWORD;
|
||||
MinListCount: Integer;
|
||||
@ -1392,7 +1307,6 @@ begin
|
||||
if Idx >= fCount then
|
||||
fCount := Idx + 1;
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
//[procedure TBits.SetCapacity]
|
||||
procedure TBits.SetCapacity(const Value: Integer);
|
||||
@ -2272,6 +2186,7 @@ function _NewDirChgNotifier: PDirChange;
|
||||
begin
|
||||
New( Result, Create );
|
||||
end;
|
||||
|
||||
//[function NewDirChangeNotifier]
|
||||
function NewDirChangeNotifier( const Path: KOLString; Filter: TFileChangeFilter;
|
||||
WatchSubtree: Boolean; ChangeProc: TOnDirChange )
|
||||
@ -2371,31 +2286,8 @@ begin
|
||||
{$ENDIF ASM_VERSION}
|
||||
end;
|
||||
|
||||
{$IFDEF noASM_VERSION}
|
||||
//[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
|
||||
FDestroying := TRUE;
|
||||
if FHandle > 0 then // FHandle <> INVALID_HANDLE_VALUE AND FHandle <> 0
|
||||
@ -2415,45 +2307,8 @@ begin
|
||||
FPath := '';
|
||||
inherited;
|
||||
end;
|
||||
{$ENDIF ASM_VERSION}
|
||||
|
||||
{$IFDEF ASM_noVERSION}
|
||||
//[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;
|
||||
var Handles: array[ 0..1 ] of THandle;
|
||||
//i: Integer;
|
||||
@ -2477,20 +2332,15 @@ begin
|
||||
end;
|
||||
else break;
|
||||
end;
|
||||
{$IFDEF SAFE_CODE}
|
||||
TRY
|
||||
{$ENDIF}
|
||||
FindCloseChangeNotification( Handles[ 0 ] );
|
||||
FHandle := 0;
|
||||
CloseHandle( FinEvent );
|
||||
FinEvent := 0;
|
||||
{$IFDEF SAFE_CODE}
|
||||
EXCEPT
|
||||
END;
|
||||
{$ENDIF}
|
||||
Result := 0;
|
||||
end;
|
||||
{$ENDIF ASM_VERSION}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@ -2736,36 +2586,17 @@ end;
|
||||
|
||||
//[procedure TAction.LinkMenuItem]
|
||||
procedure TAction.LinkMenuItem(Menu: PMenu; MenuItemIdx: integer);
|
||||
{$IFDEF _FPC}
|
||||
var
|
||||
arr1_DoOnMenuItem: array[ 0..0 ] of TOnMenuItem;
|
||||
{$ENDIF _FPC}
|
||||
begin
|
||||
//LinkCtrl(Menu, ckMenu, MenuItemIdx, UpdateMenu); -- replaced by mdw to:
|
||||
LinkCtrl(Menu, ckMenu, Menu.Items[MenuItemIdx].MenuId, UpdateMenu);
|
||||
|
||||
{$IFDEF _FPC}
|
||||
arr1_DoOnMenuItem[ 0 ] := DoOnMenuItem;
|
||||
Menu.AssignEvents(MenuItemIdx, arr1_DoOnMenuItem);
|
||||
{$ELSE}
|
||||
Menu.AssignEvents(MenuItemIdx, [ DoOnMenuItem ]);
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
//[procedure TAction.LinkToolbarButton]
|
||||
procedure TAction.LinkToolbarButton(Toolbar: PControl; ButtonIdx: integer);
|
||||
{$IFDEF _FPC}
|
||||
var
|
||||
arr1_DoOnToolbarButtonClick: array[ 0..0 ] of TOnToolbarButtonClick;
|
||||
{$ENDIF _FPC}
|
||||
begin
|
||||
LinkCtrl(Toolbar, ckToolbar, ButtonIdx, UpdateToolbar);
|
||||
{$IFDEF _FPC}
|
||||
arr1_DoOnToolbarButtonClick[ 0 ] := DoOnToolbarButtonClick;
|
||||
Toolbar.TBAssignEvents(ButtonIdx, arr1_DoOnToolbarButtonClick);
|
||||
{$ELSE}
|
||||
Toolbar.TBAssignEvents(ButtonIdx, [DoOnToolbarButtonClick]);
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
//[destructor TAction.Destroy]
|
||||
|
@ -110,8 +110,8 @@ const
|
||||
'object KOLProj: TKOLProject' + #13#10 +
|
||||
'Locked = False' + #13#10 +
|
||||
'Localizy = False' + #13#10 +
|
||||
'projectName = ''prj''' + #13#10 +
|
||||
'projectDest = ''prj''' + #13#10 +
|
||||
'projectName = ''%prj_name%''' + #13#10 +
|
||||
'projectDest = ''%prj_name%''' + #13#10 +
|
||||
'sourcePath = ''%path%''' + #13#10 +
|
||||
'outdcuPath = ''%path%''' + #13#10 +
|
||||
'dprResource = True' + #13#10 +
|
||||
@ -126,9 +126,7 @@ const
|
||||
'PaintType = ptWYSIWIG' + #13#10 +
|
||||
'ShowHint = 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 +
|
||||
'end' + #13#10 +
|
||||
'object KOLForm: TKOLForm' + #13#10 +
|
||||
@ -245,8 +243,9 @@ begin
|
||||
lst.Text := StringReplace(unt_template, '%unt_name%', unt_name, [rfReplaceAll]);
|
||||
lst.SaveToFile(ChangeFileExt(unt, '.pas'));
|
||||
// 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, '%path%', ExtractFilePath(unt), [rfReplaceAll]);
|
||||
lst.SaveToFile(ChangeFileExt(unt, '.dfm'));
|
||||
// gen dummy res file
|
||||
resfile := FileCreate(ChangeFileExt(prj, '.res'));
|
||||
@ -274,7 +273,7 @@ end;
|
||||
|
||||
function TMCKWizard.GetComment: string;
|
||||
begin
|
||||
Result := 'v0.03';
|
||||
Result := 'v0.04';
|
||||
end;
|
||||
|
||||
function TMCKWizard.GetGlyph: Cardinal;
|
||||
|
@ -184,6 +184,7 @@ const
|
||||
|
||||
PBS_SMOOTH = 01;
|
||||
PBS_VERTICAL = 04;
|
||||
PBS_MARQUEE = $08;
|
||||
|
||||
PBM_SETRANGE = WM_USER+1;
|
||||
PBM_SETPOS = WM_USER+2;
|
||||
@ -196,6 +197,7 @@ const
|
||||
// wParam = True: Result = low
|
||||
PBM_GETPOS = WM_USER+8;
|
||||
PBM_SETBARCOLOR = WM_USER+9; // lParam = bar color
|
||||
PBM_SETMARQUEE = WM_USER + 10;
|
||||
PBM_SETBKCOLOR = CCM_SETBKCOLOR; // lParam = bkColor
|
||||
|
||||
SB_SETTEXTA = WM_USER+1;
|
||||
@ -957,8 +959,8 @@ type
|
||||
dwDrawStage: DWORD;
|
||||
hdc: HDC;
|
||||
rc: TRect;
|
||||
dwItemSpec: DWORD_PTR; // this is control specific, but it's how to specify an item. valid only with CDDS_ITEM bit set
|
||||
uItemState: UINT;
|
||||
dwItemSpec: DWORD_PTR; // this is control specific, but it's how to specify an item. valid only with CDDS_ITEM bit set
|
||||
uItemState: UINT;
|
||||
lItemlParam: LPARAM;
|
||||
end;
|
||||
PNMCustomDraw = ^TNMCustomDraw;
|
||||
|
199
mckCtrlDraw.pas
199
mckCtrlDraw.pas
@ -9,29 +9,44 @@ uses
|
||||
type
|
||||
TScrollStyle = (ssNone, ssHorz, ssVert, ssBoth);
|
||||
|
||||
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);
|
||||
TCDLVColumn = packed record
|
||||
Caption: WideString;
|
||||
TextAlign: TTextAlign;
|
||||
Width: Integer;
|
||||
end;
|
||||
ArrayTCDLVColumn = array of TCDLVColumn;
|
||||
|
||||
procedure DrawButton(aUX: Boolean; DC: HDC; R: TRect; aEnabled, aDefBtn: Boolean; dwTextFlags: DWORD; aText: WideString);
|
||||
procedure DrawEditBox(aUX: Boolean; DC: HDC; R: TRect; aEnabled, aIsPwd: Boolean; dwTextFlags: DWORD; aText: WideString);
|
||||
procedure DrawMemo(aUX: Boolean; DC: HDC; R: TRect; aColor: Integer; aEnabled: Boolean; aScrollStyle: TScrollStyle; dwTextFlags: DWORD; aText: WideString);
|
||||
TCDTBButton = packed record
|
||||
Caption: 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 DrawLabel(DC: HDC; R: TRect; dwTextFlags: DWORD; 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 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: KOLWideString);
|
||||
procedure DrawRadiobox(aUX, aEnabled, aChecked, aHasBorder: Boolean; DC: HDC; R: TRect; aText: WideString);
|
||||
procedure DrawListBox(aUX, aEnabled: Boolean; DC: HDC; R: TRect; aText: WideString);
|
||||
procedure DrawTreeView(aUX, aEnabled: Boolean; DC: HDC; R: TRect; aText: WideString);
|
||||
procedure DrawListView(aUX, aEnabled: Boolean; DC: HDC; R: TRect; aCols: ArrayTCDLVColumn);
|
||||
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);
|
||||
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);
|
||||
// not yet
|
||||
procedure DrawToolbar(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aText: WideString);
|
||||
procedure DrawToolbar(aUX, aEnabled: Boolean; DC: HDC; R: TRect; aBtns: ArrayTCDTBButton);
|
||||
|
||||
implementation
|
||||
|
||||
@ -43,17 +58,25 @@ begin
|
||||
Result := aPixelX + Round((aPos + Abs(aMin)) / (aMax + Abs(aMin)) * (aPixelMax - aPixelX * 3));
|
||||
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
|
||||
arrThemedSBLU: array[Boolean, Boolean] of TThemedScrollBar = (
|
||||
(tsArrowBtnLeftDisabled, tsArrowBtnUpDisabled), (tsArrowBtnLeftNormal, tsArrowBtnUpNormal));
|
||||
(tsArrowBtnLeftDisabled, tsArrowBtnUpDisabled),
|
||||
(tsArrowBtnLeftNormal, tsArrowBtnUpNormal));
|
||||
|
||||
arrThemedSBRD: array[Boolean, Boolean] of TThemedScrollBar = (
|
||||
(tsArrowBtnRightDisabled, tsArrowBtnDownDisabled), (tsArrowBtnRightNormal, tsArrowBtnDownNormal));
|
||||
(tsArrowBtnRightDisabled, tsArrowBtnDownDisabled),
|
||||
(tsArrowBtnRightNormal, tsArrowBtnDownNormal));
|
||||
|
||||
arrThemedSBTH: array[Boolean] of TThemedScrollBar = (tsThumbBtnHorzNormal, tsThumbBtnVertNormal);
|
||||
|
||||
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 = (
|
||||
(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
|
||||
w: Integer;
|
||||
@ -92,7 +115,7 @@ begin
|
||||
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
|
||||
arrThemedButton: array[Boolean, Boolean] of TThemedButton =
|
||||
((tbPushButtonDisabled, tbPushButtonDisabled), (tbPushButtonNormal, tbPushButtonDefaulted));
|
||||
@ -125,7 +148,7 @@ begin
|
||||
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
|
||||
if ThemeServices.ThemesAvailable and aUX then begin
|
||||
// draw element
|
||||
@ -148,7 +171,7 @@ begin
|
||||
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
|
||||
w: Integer;
|
||||
h: Integer;
|
||||
@ -168,13 +191,13 @@ begin
|
||||
InflateRect(R, -1, -1);
|
||||
// draw scrolls
|
||||
case aScrollStyle of
|
||||
ssHorz: DrawScrollBar(aUX, DC, Rect(R.Left, R.Bottom - h, R.Right, R.Bottom), False, False, 2, 0, 100);
|
||||
ssVert: DrawScrollBar(aUX, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom), False, True, 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, False, True, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom), 2, 0, 100);
|
||||
ssBoth:
|
||||
begin
|
||||
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, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom - h), False, True, 2, 0, 100);
|
||||
DrawScrollBar(aUX, False, False, DC, Rect(R.Left, R.Bottom - h, R.Right - w, R.Bottom), 2, 0, 100);
|
||||
DrawScrollBar(aUX, False, True, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom - h), 2, 0, 100);
|
||||
end;
|
||||
end;
|
||||
// draw text
|
||||
@ -191,13 +214,13 @@ begin
|
||||
DeleteObject(b);
|
||||
// draw scrolls
|
||||
case aScrollStyle of
|
||||
ssHorz: DrawScrollBar(aUX, DC, Rect(R.Left, R.Bottom - h, R.Right, R.Bottom), False, False, 2, 0, 100);
|
||||
ssVert: DrawScrollBar(aUX, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom), False, True, 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, False, True, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom), 2, 0, 100);
|
||||
ssBoth:
|
||||
begin
|
||||
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, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom - h), False, True, 2, 0, 100);
|
||||
DrawScrollBar(aUX, False, False, DC, Rect(R.Left, R.Bottom - h, R.Right - w, R.Bottom), 2, 0, 100);
|
||||
DrawScrollBar(aUX, False, True, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom - h), 2, 0, 100);
|
||||
end;
|
||||
end;
|
||||
// draw text
|
||||
@ -261,10 +284,11 @@ begin
|
||||
ThemeServices.DrawText(DC, d, aText, r, DT_LEFT, 0);
|
||||
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
|
||||
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
|
||||
arrThemedRB: array[Boolean, Boolean] of TThemedButton =
|
||||
((tbRadioButtonUncheckedDisabled, tbRadioButtonCheckedDisabled),
|
||||
@ -303,7 +327,7 @@ begin
|
||||
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
|
||||
if ThemeServices.ThemesAvailable and aUX then begin
|
||||
// draw element
|
||||
@ -326,42 +350,44 @@ begin
|
||||
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
|
||||
DrawListBox(aUX, DC, R, aEnabled, aText);
|
||||
DrawListBox(aUX, aEnabled, DC, R, aText);
|
||||
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
|
||||
w: WideString;
|
||||
i: Integer;
|
||||
d: TThemedElementDetails;
|
||||
f: DWORD;
|
||||
begin
|
||||
// draw main
|
||||
DrawListBox(aUX, DC, R, aEnabled, '');
|
||||
DrawListBox(aUX, aEnabled, DC, R, '');
|
||||
// columns
|
||||
if (aColumns <> '') then begin
|
||||
if (Length(aCols) > 0) then begin
|
||||
// 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);
|
||||
// draw columns
|
||||
R := Bounds(2, 2, 50, 20);
|
||||
repeat
|
||||
w := ParseW(aColumns, #13);
|
||||
if (aColumns = '') and (w = '') then
|
||||
Break
|
||||
else begin
|
||||
// get element
|
||||
d := ThemeServices.GetElementDetails(thHeaderItemNormal);
|
||||
// draw head column
|
||||
ThemeServices.DrawElement(DC, d, R, nil);
|
||||
// draw text
|
||||
Inc(R.Left, 10);
|
||||
ThemeServices.DrawText(DC, d, w, R, DT_LEFT or DT_VCENTER or DT_SINGLELINE, 0);
|
||||
// next
|
||||
Inc(R.Left, 40);
|
||||
Inc(R.Right, 50);
|
||||
end;
|
||||
until False;
|
||||
for i := 0 to High(aCols) do begin
|
||||
// get element
|
||||
d := ThemeServices.GetElementDetails(thHeaderItemNormal);
|
||||
// draw head column
|
||||
R.Right := R.Left + aCols[i].Width;
|
||||
ThemeServices.DrawElement(DC, d, R, nil);
|
||||
// draw text
|
||||
Inc(R.Left, CXL);
|
||||
Dec(R.Right, CXR);
|
||||
f := TextHFlags[aCols[i].TextAlign] or DT_VCENTER or DT_SINGLELINE;
|
||||
ThemeServices.DrawText(DC, d, aCols[i].Caption, R, f, 0);
|
||||
// next
|
||||
R.Left := R.Right + CXR;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -426,35 +452,54 @@ begin
|
||||
FillRect(DC, R, GetSysColorBrush(COLOR_BTNFACE));
|
||||
DrawEdge(DC, R, EDGE_SUNKEN, BF_RECT or BF_ADJUST);
|
||||
case aScrollStyle of
|
||||
ssHorz: DrawScrollBar(aUX, DC, Rect(R.Left, R.Bottom - h, R.Right, R.Bottom), True, False, 2, 0, 100);
|
||||
ssVert: DrawScrollBar(aUX, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom), True, True, 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, True, True, DC, Rect(R.Right - w, R.Top, R.Right, R.Bottom), 2, 0, 100);
|
||||
ssBoth:
|
||||
begin
|
||||
DrawScrollBar(aUX, DC, Rect(R.Left, R.Bottom - h, R.Right - w, R.Bottom), True, False, 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, False, DC, Rect(R.Left, R.Bottom - h, R.Right - w, R.Bottom), 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;
|
||||
|
||||
// not yet
|
||||
procedure DrawToolbar(aUX: Boolean; DC: HDC; R: TRect; aEnabled: Boolean; aText: WideString);
|
||||
procedure DrawToolbar(aUX, aEnabled: Boolean; DC: HDC; R: TRect; aBtns: ArrayTCDTBButton);
|
||||
const // enb, sep
|
||||
arrTTB: array[Boolean, Boolean] of TThemedToolBar = (
|
||||
(ttbButtonDisabled, ttbSeparatorDisabled),
|
||||
(ttbButtonNormal, ttbSeparatorNormal)
|
||||
);
|
||||
|
||||
var
|
||||
i: Integer;
|
||||
d: TThemedElementDetails;
|
||||
begin
|
||||
if ThemeServices.ThemesAvailable and aUX then begin
|
||||
// get element
|
||||
d := ThemeServices.GetElementDetails(ttbToolBarRoot);
|
||||
// draw element
|
||||
ThemeServices.DrawElement(DC, d, R, nil);
|
||||
|
||||
// get element
|
||||
d := ThemeServices.GetElementDetails(ttbSplitButtonNormal);
|
||||
// draw element
|
||||
ThemeServices.DrawElement(DC, d, R, nil);
|
||||
// text
|
||||
ThemeServices.DrawText(DC, d, aText, R, 0, 0);
|
||||
// draw background
|
||||
ThemeServices.DrawElement(DC, ThemeServices.GetElementDetails(ttbToolBarRoot), R, nil);
|
||||
// draw buttons
|
||||
for i := 0 to High(aBtns) do begin
|
||||
// get element
|
||||
if aBtns[i].Checked then
|
||||
d := ThemeServices.GetElementDetails(ttbButtonChecked)
|
||||
else
|
||||
d := ThemeServices.GetElementDetails(arrTTB[aBtns[i].Enabled, aBtns[i].Separator]);
|
||||
// draw element
|
||||
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
|
||||
|
||||
// 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;
|
||||
|
||||
|
14907
mckCtrls.pas
14907
mckCtrls.pas
File diff suppressed because it is too large
Load Diff
3137
mckObjs.pas
3137
mckObjs.pas
File diff suppressed because it is too large
Load Diff
26488
mirror.pas
26488
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
|
||||
-------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user