parent
c1a3ad1423
commit
8eeacc5a24
|
|
@ -1018,33 +1018,7 @@ E3F61E39BFFD2F1B893355116B4AC7C0595C10E4EDDFAF65F27E736863E1026CA
|
|||
3DD02743C30169816DEC5AA981CECDDF8106A2A9205FB2E7D0157EAD834908275
|
||||
73EEFC3F77F73BD454240B40E02FB0A1F00C5814808A0372F0F377BFA126C1C0F
|
||||
FFF00F43790467FB950B60000000049454E44AE42608200";
|
||||
return "0502000000060400000074797065000203000000696D670006040000006461746
|
||||
100022A03000089504E470D0A1A0A0000000D4948445200000020000000200806
|
||||
000000737A7AF4000000017352474200AECE1CE90000000467414D410000B18F0
|
||||
BFC6105000000097048597300000EC300000EC301C76FA864000002BF49444154
|
||||
5847BD974B681341188073F289F80005116C6BA10F15D48B56A8AF832858A8288
|
||||
8F460412A420F05A9079182E2C1E20391422B88A055F060050F2282482D689552
|
||||
2A5AA14DB24D9A3449D39A36469B64934DB2BFFB4FA6D34C36AF26BBFBC17FC8F
|
||||
E9BFFFF6676323B314101486E2744C67ED24FDA925720F47500849A8D602E5B09
|
||||
A12FFDF4AA76E414C0E6D6EA0D60DEBE824468F013CD68475681F0D067106A37B
|
||||
1E6735D9D34A32D1905B8E6CAD4FB9F74D18CF6A80454CD9F76D38C3E7002E9CD
|
||||
FFF43EA219FD60025CF38AD51078D54B33FA4204D29BFF7DFD82245359F8F80E7
|
||||
E775E2F2870C1E200A2360BFD76764CAAE66F5ED2D412F1791F98CB5725EF5966
|
||||
D88FEE26EB4896A2B41A8FC9D5DCC86E7634D667BC518EC5C0717C1F5778B9613
|
||||
B540DE1916FB4E212A644380453E74FB01B5D171A408E88349D422241B664C969
|
||||
CF1BE2F72108F43D0777CB19B0EE58C36A5B2AD7A96698AC8182258A202A8C73B
|
||||
5F13107073ED02C1540F49480781C663ADA586DEBAE2D109B769314B70F1089A6
|
||||
93FA48C832785A9B586DEFD54BE4322780C862583789B87F0EAC3B37276B2B8F4
|
||||
29A9A540B207A4AF8EEDF6475FD8F1F661640D2D784FBE269F24B2895C8F82F56
|
||||
13079955004997107F0CD34C6990038E52CF565F955B0041096F7B0B9901AD1E8
|
||||
3FD700D11B054ADCF2FA00713FBCB8880B067ABF102388B8BBB236EEF860B04FB
|
||||
DF93E618D36DCDC60B782E9F6302FFDEF6192B101E1E24272D6C2EECDD0689E08
|
||||
2710231DF2C4C1C2867A3F73FEB21D70D11C093D1E4915AD6DC79F69872C69048
|
||||
4E578178C00FBE07B7D8C68361AFAB24B3B1082780070EDC9FE77BEE151FDD776
|
||||
1F6C615B2CD5A2BD6B2C6188E868310F37A68B7249C007770D030F0EF9DEF4E07
|
||||
79C9A5C309CC5C6BCD58A0A85056BBF3549D7242BEAD1A752AFC1A50DE7691B15
|
||||
11047474A0AC9E500391AA1457301F01FDA4F2FDFE8B101E70000000049454E44
|
||||
AE42608200";
|
||||
|
||||
end
|
||||
function getbackwardbitmapinfo();
|
||||
begin
|
||||
|
|
@ -1204,32 +1178,7 @@ B4F5651D24CDD9CD213598D5F4AE4BC9EEBB762D51949B0A4234D80C1B3BF6BD8
|
|||
EE868D87933AAC54DE39AC98B352B68B9BF9CF68FC829B01DB048EB908D46B77D
|
||||
6704184CCC164FF993FE57816CD86101E03733D36B2144974A6E0000000049454
|
||||
E44AE42608200";
|
||||
return "0502000000060400000074797065000203000000696D670006040000006461746
|
||||
100021B03000089504E470D0A1A0A0000000D4948445200000020000000200806
|
||||
000000737A7AF4000000017352474200AECE1CE90000000467414D410000B18F0
|
||||
BFC6105000000097048597300000EC300000EC301C76FA864000002B049444154
|
||||
5847E597CB6B13511487FD5F5CB8115C09EE74A12E4437D58D2B455011DC88822
|
||||
86215AD8A2DA1A550954A7D9582A4565B4DB56A158D4A11ADD6BE93B44D62D264
|
||||
92A6499C344D3331C79CE39921D3492693718C0B3FB884FBE33E3EEECCBD77B20
|
||||
6FE31550B48C20F488F06203D16845C2CC5A9792A0A64A6C310BAE880D93DD761
|
||||
6CED694D99D8701EBCFB6F41F8CA5358F12E702FE3E80A084DCF6162FD399AC87
|
||||
BE036241E7D858C5B809F6206A4A808A2D305D1F6B710386E2FB4AB87A94D9720
|
||||
76E703F736465901FFD12E9A187F97867D9C9667E9E31C7876B52AB2462929202
|
||||
F6FB27F9413E3044ED895FE46D008A0BDD1CEE548BDF7D01842F34B4ECAA312C0
|
||||
E7871DC397FB3931CF42C73B1A0BDF1B3D14017C83F1259AA96BE3E4CFF11DBC0
|
||||
B737BDBB9561A452074E10919E3F25985383845638A4E37275A1481E9CD8DB4D7
|
||||
AD06572170F201D7B490406A68864CF1C0B19AE88D37E0DA66E39A161248F48D9
|
||||
080996D5789B8FD138D9D5FCE72A28604A2379DD4480A2529B412F1D5EFF76079
|
||||
32C4891A1290B74C3618A7D04A6401BC534A4102B8F4D828D1ABBF67CD808F607
|
||||
CDD19C84B394ED49040C6132181F9B3BD145A49A4ED357876B6724D0B0920B3BB
|
||||
AF8167470BD7AC037798DE91AC08445A06691516BB3F73521B14815C220DEEC27
|
||||
EC503A9962802C862E710AD42F0540F277F1F950062C5758CDB1A8B113402080A
|
||||
60A9F664942222CCD7F729FDABFE1E28A6DA4FB2F8C32FE0DA6AA33EA106077C3
|
||||
F76DF9044590104F7B07B7B330D84178AFFF03D101A0720F17804928E6F20D85E
|
||||
80AF90B9B634511BEFBE0EFA3694C15BB09284AE0092CFE620DE330CFE239D345
|
||||
87199DCD800BE4305A9C204C98171EEA1060F373D898A02AB91FF98ACF8629C54
|
||||
061F094AE059B39AAA05CC12BEFAACE44AD44C00C1C951A2989A0A94E27F1700F
|
||||
805D0F3420D05EDA5310000000049454E44AE42608200";
|
||||
|
||||
end
|
||||
function gettslcodeformatbitmapinfo();
|
||||
begin
|
||||
|
|
@ -1252,23 +1201,6 @@ E0B401814C1B0603A7FF7FBFF7FC0B0564D43049B7CD2CDFF39339E814B509818
|
|||
0CC3005E0B9071E9BC17E01C8A4D0E1B8601A22D2015C300FD2C005512D814928
|
||||
315536E414D45B2005465820A326C1A48C1A0D404320B06E016D00AD0D882FFFF
|
||||
01032FD2B573B4A8F80000000049454E44AE42608200";
|
||||
return "0502000000060400000074797065000203000000696D670006040000006461746
|
||||
10002E601000089504E470D0A1A0A0000000D4948445200000018000000180806
|
||||
000000E0773DF8000000017352474200AECE1CE90000000467414D410000B18F0
|
||||
BFC6105000000097048597300000EC300000EC301C76FA8640000017B49444154
|
||||
484BCD96CD2B04611CC7FD390E8E5C1D957273578E0E2E4AED897FC045EBA58D1
|
||||
4DBA675D8C8A64424D12E566B6D1B4931C94611C9719E9FF93EBF999E31EF333B
|
||||
C9A77E87797E2F9F79E6ADE92293A90341DD593D561C3F0AB3DB1F29687F916CA
|
||||
83E89483152E2404FF936582205684271542CC1E239F7151AFE928E0460A9C6BD
|
||||
0B67DE928E0560B5CEFDD98A7B462A02B07EED2D492C185873D76FDDF09CB9AA9
|
||||
22712945A5C3F54E09D380339CC0489040067E9351C918A2088FF2FC0E539D5D4
|
||||
8D74D29160A349345C0CAE8D2CC85FF14DB33398D7A9D8E435E4F0FC3B0915E42
|
||||
E04F5E6749AD81574FF6E2E1AD49E897AE6551D72A8E9336A972F952850603D7E
|
||||
56819D4963D8CC897B1DB5E899AD702E74078D17A2F11D215FA46DF373FCFACD8
|
||||
DDAA73C9420879AB1B2A07A5B89430516B804993D2EC4376674530D01997D4177
|
||||
6FE6818DC8023BFD2B828E1E7E0BFC882D40DE6A8842A21DC4E1EF05DA875A4C2
|
||||
3300B3F12400AC0F42127D208FC0231443F28BE427F9C549A270000000049454E
|
||||
44AE42608200";
|
||||
end
|
||||
function getformbitmapinfo();
|
||||
begin
|
||||
|
|
@ -1514,26 +1446,4 @@ BFC6105000000097048597300000EC300000EC301C76FA864000000A849444154
|
|||
0EF0594008906401B620220406970F686A01C850644C2C20CA024A008D2DF8FF1
|
||||
F0006015AA04B38837B0000000049454E44AE42608200";
|
||||
end
|
||||
{ GetSaveFileBitmapInfo
|
||||
//±£´æÎļþ
|
||||
"0502000000060400000074797065000203000000696D670006040000006461746
|
||||
100022702000089504E470D0A1A0A0000000D4948445200000020000000200806
|
||||
000000737A7AF4000000017352474200AECE1CE90000000467414D410000B18F0
|
||||
BFC6105000000097048597300000EC300000EC301C76FA864000001BC49444154
|
||||
5847ED97CD2E035114C7EF4AB045B011ED0295D06D173E1296880891B0A88588F
|
||||
00E3C000F6021165D88442CBD869022AA3A65CC0C8BAA36165A334D8FFEAF7B5B
|
||||
7442FA35ABF927279973EE9C737E776E663287514196A191B1BE48515F1B457A9
|
||||
A1A6AE8A1AFCDD387728BD6C4D03C36DC657B73232D36D4C937CEB07304B49559
|
||||
B29E0DCA84CFB81F1F1B20538DD7C5500B3551DB7AD2490BCE70DFD85822261F3
|
||||
B16A022C0A49FFB952A6F59A4AFCE91693C8A08F15A1200C2CEE1477DEDC47001
|
||||
93AA15207B73C9F3D3C7211129078064DFBA03C8FCD4E1BE88380C90BD3AE7F9E
|
||||
9A303117118209F79A758C0C38F42AA2280ECF505F7EFC77D2252BBE45B80DA52
|
||||
B26F19402E99A0486F3345BDAD646A0F225ABDF01A463C2DBC662E9514D13F002
|
||||
02D38CD63CA683FA5427BF4767A5295215719E9E3B5F09DF92ED9D716C0D4557E
|
||||
8E72AD565302DE1FDF0548AED90240388AC4CE16A90B13A44E05AAB3426E62779
|
||||
B72AF2FA26A49FF02345A2E800BE002B8002E800BE00214017E0F264EA838980C
|
||||
7610C3A00807E3921310682E7FF98CCD65629852312822E0A4DDF9BBF9864BE37
|
||||
96150C4AC6677733D0D3DB0F3AFA74DF409837977A59FB64D730000000049454E
|
||||
44AE42608200";
|
||||
}
|
||||
end.
|
||||
|
|
@ -1008,7 +1008,7 @@ type TCustomMemo = class(TCustomScrollControl,TCustomMemoCmd) //
|
|||
function Create(AOwner);override;
|
||||
begin
|
||||
inherited;
|
||||
ftmemlockv := new tmemlockv();
|
||||
ftmemlockv := new tcountkernel();
|
||||
FGutterColor := rgb(228,228,228);
|
||||
fcurrentLineColor := rgb(232,232,255);
|
||||
fselectbkcolor := rgb(192,192,192);
|
||||
|
|
@ -1109,7 +1109,7 @@ type TCustomMemo = class(TCustomScrollControl,TCustomMemoCmd) //
|
|||
end
|
||||
function MouseDown(o,e);override; //°´ÏÂÊó±ê
|
||||
begin
|
||||
if ftmemlockv.haslocker then return ;
|
||||
if ftmemlockv.locked then return ;
|
||||
inherited;
|
||||
if e.skip then return ;
|
||||
IncPaintLock();
|
||||
|
|
@ -1169,7 +1169,7 @@ type TCustomMemo = class(TCustomScrollControl,TCustomMemoCmd) //
|
|||
end
|
||||
function MouseUp(o,e);override;
|
||||
begin
|
||||
if ftmemlockv.haslocker then return ;
|
||||
if ftmemlockv.locked then return ;
|
||||
inherited;
|
||||
if e.skip then return;
|
||||
UnClipCursor();
|
||||
|
|
@ -1196,7 +1196,7 @@ type TCustomMemo = class(TCustomScrollControl,TCustomMemoCmd) //
|
|||
end
|
||||
function keypress(o,e);override; //ÊäÈë×Ö·û
|
||||
begin
|
||||
if ftmemlockv.haslocker then return ;
|
||||
if ftmemlockv.locked then return ;
|
||||
if e.skip then return;
|
||||
c := e.wparam;
|
||||
if ReadOnly then return;
|
||||
|
|
@ -1264,7 +1264,7 @@ type TCustomMemo = class(TCustomScrollControl,TCustomMemoCmd) //
|
|||
begin
|
||||
if fUndoList.CanUndo then
|
||||
begin
|
||||
lk := new tmemlocker(ftmemlockv);
|
||||
lk := new tcountlocker(ftmemlockv);
|
||||
UndoItem();
|
||||
end
|
||||
end
|
||||
|
|
@ -1272,7 +1272,7 @@ type TCustomMemo = class(TCustomScrollControl,TCustomMemoCmd) //
|
|||
begin
|
||||
if fRedoList.CanUndo then
|
||||
begin
|
||||
lk := new tmemlocker(ftmemlockv);
|
||||
lk := new tcountlocker(ftmemlockv);
|
||||
RedoItem();
|
||||
end
|
||||
end
|
||||
|
|
@ -4117,33 +4117,6 @@ type TSynMemoNorm = class(TsynCustomMemo) //
|
|||
FSheetTabFlage;
|
||||
end
|
||||
Implementation
|
||||
type tmemlockv = class()
|
||||
haslocker;
|
||||
function create();
|
||||
begin
|
||||
haslocker := 0;
|
||||
end
|
||||
function add();
|
||||
begin
|
||||
haslocker++;
|
||||
end
|
||||
function del();
|
||||
begin
|
||||
haslocker--;
|
||||
end
|
||||
end
|
||||
type tmemlocker = class() //Ëø¶¨¶ÔÏó
|
||||
function create(v);
|
||||
begin
|
||||
flk := v;
|
||||
flk.add();
|
||||
end
|
||||
function destroy();
|
||||
begin
|
||||
flk.del();
|
||||
end
|
||||
flk;
|
||||
end
|
||||
function CreateATslMemoUndoItem(AReason,AStart,AEnd,ChangeText,SelMode);
|
||||
begin
|
||||
return new TTslMemoUndoItem(AReason,AStart,AEnd,ChangeText,SelMode);
|
||||
|
|
|
|||
|
|
@ -2117,6 +2117,39 @@ type TCanvsRgnClipAutoSave=class
|
|||
FCvsHandle;
|
||||
FW32api;
|
||||
end
|
||||
type tcountkernel = class() //Ëø¶¨¶ÔÏó
|
||||
function create();
|
||||
begin
|
||||
Flocked := 0;
|
||||
end
|
||||
function add();
|
||||
begin
|
||||
Flocked++;
|
||||
end
|
||||
function del();
|
||||
begin
|
||||
Flocked--;
|
||||
end
|
||||
property locked read Flocked;
|
||||
private
|
||||
Flocked;
|
||||
end
|
||||
type tcountlocker = class() //Ëø
|
||||
function create(v);
|
||||
begin
|
||||
if v is class(tcountkernel) then
|
||||
begin
|
||||
fkernel := v;
|
||||
fkernel.add();
|
||||
end
|
||||
end
|
||||
function destroy();
|
||||
begin
|
||||
if fkernel then fkernel.del();
|
||||
end
|
||||
private
|
||||
fkernel;
|
||||
end
|
||||
implementation
|
||||
function includestate(u,s);
|
||||
begin
|
||||
|
|
|
|||
|
|
@ -1641,6 +1641,7 @@ type TcustomTreeCtl = class(TVirtualList)
|
|||
function Create(AOwner);override;
|
||||
begin
|
||||
inherited;
|
||||
fcountlocker := new tcountkernel();
|
||||
FSingleExpand := false;
|
||||
FCheckBox := false;
|
||||
FHasLine := false;
|
||||
|
|
@ -1705,12 +1706,11 @@ type TcustomTreeCtl = class(TVirtualList)
|
|||
@explan(˵Ã÷) ÉèÖÃÑ¡Öнڵã %%
|
||||
@param(it)(TcustomTreeCtlNode) ½Úµã %%
|
||||
**}
|
||||
if flockchangedcall then
|
||||
begin
|
||||
return ;//
|
||||
end
|
||||
if fcountlocker.locked then return ;
|
||||
if it=FCurrentNode then return ;
|
||||
lk := new tcountlocker(fcountlocker);
|
||||
if ifnil(it) or ( (it is class(TcustomTreeCtlNode))and (it.Owner=self)) then
|
||||
begin
|
||||
begin
|
||||
r := CallSelChange(it);
|
||||
if r then return;
|
||||
if it=RootNode then return ;
|
||||
|
|
@ -1719,7 +1719,6 @@ type TcustomTreeCtl = class(TVirtualList)
|
|||
GoToNode(it);
|
||||
end
|
||||
if not r then InValidateRect(nil,false);
|
||||
//CallSelChange(it);
|
||||
end
|
||||
end
|
||||
function GoToNode(it);
|
||||
|
|
@ -1831,9 +1830,8 @@ type TcustomTreeCtl = class(TVirtualList)
|
|||
end
|
||||
function Recycling();override;
|
||||
begin
|
||||
flockchangedcall := true;
|
||||
lk := new tcountlocker(fcountlocker);
|
||||
if FRootItem then FRootItem.Recycling();
|
||||
flockchangedcall := false;
|
||||
FRootItem := nil;
|
||||
FCurrentNode := nil;
|
||||
FOnSelChanging := nil;
|
||||
|
|
@ -1863,12 +1861,11 @@ type TcustomTreeCtl = class(TVirtualList)
|
|||
begin
|
||||
if FRootItem then
|
||||
begin
|
||||
flockchangedcall := true;
|
||||
lk := new tcountlocker(fcountlocker);
|
||||
FRootItem.DeleteChildren();
|
||||
flockchangedcall := false;
|
||||
end
|
||||
end
|
||||
property CurrentNode read FCurrentNode;
|
||||
property CurrentNode read FCurrentNode write setcurrentnode; //20221118 加上写
|
||||
property CheckBox:bool read FCheckBox write SetCheckBox;
|
||||
property HasLine:bool read FHasLine write SetHasLine;
|
||||
property OnlyLeafNodeCheckMark read FOnlyLeafNodeCheckMark write FOnlyLeafNodeCheckMark;
|
||||
|
|
@ -1891,12 +1888,16 @@ type TcustomTreeCtl = class(TVirtualList)
|
|||
return FRootItem;
|
||||
end
|
||||
private
|
||||
fcountlocker; //锁定changed回调
|
||||
fnodecreator;
|
||||
flockchangedcall;//
|
||||
FOnlyLeafNodeCheckMark;
|
||||
FNodeHierarchyWidth;
|
||||
FMulSelected;
|
||||
FMulSelects;
|
||||
function setcurrentnode(nd);
|
||||
begin
|
||||
setsel(nd);
|
||||
end
|
||||
function setnodecreator(nd);
|
||||
begin
|
||||
if (fnodecreator<>nd) and (nd is class(TcustomTreeCtlNode)) then
|
||||
|
|
|
|||
Loading…
Reference in New Issue