更新
This commit is contained in:
JianjunLiu
2023-03-06 17:18:03 +08:00
parent d1b6b42692
commit 25e7c91b64
28 changed files with 5259 additions and 114 deletions
+5 -5
View File
@@ -13,7 +13,7 @@ uses utslvclauxiliary,UVCPropertyTypesPersistence,utslvclbase;
@param(FFreeNotifies)( TFpList) 销毁通知节点 %%
**}
fasdomain; //名字域节点
FOwner; //所有者,在所有者销毁的时候其自动销毁
[weakref]FOwner; //所有者,在所有者销毁的时候其自动销毁
FName; //节点名,在域内不能重复
FComponents; //子节点
FFreeNotifies: TFpList; //销毁通知
@@ -373,8 +373,8 @@ public //
DestroyComponents();
If FOwner is class(tcomponent)Then FOwner.RemoveComponent(self(true)); //self
inherited;
fondestroy := nil;
fonnotification := nil;
//fondestroy := nil;
//fonnotification := nil;
end
function Destroy();virtual;
begin
@@ -685,6 +685,6 @@ public //
CallMessgeFunction(fondestroy,self(true),e);
end
end
fondestroy;
fonnotification;
[weakref]fondestroy;
[weakref]fonnotification;
end
+32 -32
View File
@@ -16,12 +16,11 @@ type tcontrol = class(tcomponent)
STATIC FSIDC; //控件id生成器
FActionLink: TControlActionLink;
FCanvas: TCanvas; //为可视控件提供画板
FMessagehandle;//消息表
[weakref]FMessagehandle;//消息表
FtagPAINTSTRUCT; //绘制区域
FAnchors;
FAnchorBounds;
FAnchorBounds;
FCaption;//标题
FCaptureMouseButtons;//鼠标样式
FColor;//颜色
@@ -40,6 +39,7 @@ type tcontrol = class(tcomponent)
//FLastResizeClientWidth: integer;
//FLastResizeHeight: integer;
//FLastResizeWidth: integer;
weakref
FOnClick; //点击
Fonrclick;
FOnContextPopup;
@@ -65,13 +65,14 @@ type tcontrol = class(tcomponent)
//FOnResize; //
FOnShowHint;
FOnStartDock;
FOnStartDrag;
//FOnTripleClick;
FOnStartDrag;
//FOnTripleClick;
autoref
protected //可以重写的函数以及使用的成员变量
//对齐
FAlign;//对齐方式
FUnAlignBounds;
FParent;// TWinControl; //父节点
[weakref]FParent;// TWinControl; //父节点
//FParentBiDiMode;//: Boolean;
FPopupMenu;//: TPopupMenu;
//FIsControl;//: Boolean;
@@ -1156,32 +1157,31 @@ type tcontrol = class(tcomponent)
FMessagehandle := array();
FSIDC.deleteid(FID);
SetParent(nil);
FOnClick := nil; //点击
FOnContextPopup := nil;
FOnDblClick := nil; //双击
FOnDragDrop := nil;
FOnDragOver := nil;
FOnSize := nil;
FOnMove := nil;
FOnEditingDone := nil;
FOnEndDock := nil;
FOnEndDrag := nil;
FOnMouseDown := nil; //按下
FOnMouseEnter := nil; //进入
FMouseEntereded := nil;
FOnMouseLeave := nil; //离开
FOnMouseMove := nil; //移动
FOnPopupMenu := nil;
FOnMouseUp := nil; //弹起
FOnMouseWheel := nil; //滚动
FOnMouseWheelDown := nil; //滚动按下
FOnMouseWheelUp := nil; //滚动弹起
//FOnQuadClick := nil;
//FOnResize := nil; //
FOnShowHint := nil;
FOnStartDock := nil;
FOnStartDrag := nil;
FOnTripleClick := nil;
//FOnClick := nil; //点击
//FOnContextPopup := nil;
//FOnDblClick := nil; //双击
//FOnDragDrop := nil;
//FOnDragOver := nil;
//FOnSize := nil;
//FOnMove := nil;
//FOnEditingDone := nil;
//FOnEndDock := nil;
//FOnEndDrag := nil;
//FOnMouseDown := nil; //按下
//FOnMouseEnter := nil; //进入
//FMouseEntereded := nil;
//FOnMouseLeave := nil; //离开
//FOnMouseMove := nil; //移动
//FOnPopupMenu := nil;
//FOnMouseUp := nil; //弹起
//FOnMouseWheel := nil; //滚动
//FOnMouseWheelDown := nil; //滚动按下
//FOnMouseWheelUp := nil; //滚动弹起
////FOnQuadClick := nil;
////FOnResize := nil; //
//FOnShowHint := nil;
//FOnStartDock := nil;
//FOnStartDrag := nil;
FBKBitmap := nil;
if FActionLink is class(TControlActionLink)then
begin
+1 -1
View File
@@ -5,7 +5,7 @@ type tcustomcontrol=class(TWinControl)
**}
//20220908添加splitter功能
private
FOnPaint:TNotifyEvent;
[weakref]FOnPaint:TNotifyEvent;
protected
procedure PaintWindow(DC:HDC);override;
begin
+1 -1
View File
@@ -5,7 +5,7 @@ type tgraphiccontrol = class(TControl)
**}
private
//FCanvas: TCanvas;
FOnPaint:TNotifyEvent;
[weakref]FOnPaint:TNotifyEvent;
protected
procedure ChangeBounds(ALeft,ATop,AWidth,AHeight:integer;KeepBase:boolean);override; //type_tcontrol
begin
+9 -7
View File
@@ -510,8 +510,10 @@ type TTray=class(TComponent)
FIcon;
FHaveadd;
FPopupMenu;
weakref
FOnclick;
FOnMouseMove;
autoref
static FSIDC; //id 构造器
FCaption;
FForm;
@@ -3367,8 +3369,8 @@ type TListView = class(TDrawGrid)
FSelBkColor;
FMouseOnBkColor;
FMenus;
FSelectedChanged;
FOnCheckItem;
[weakref]FSelectedChanged;
[weakref]FOnCheckItem;
FCanSelected;
FColumnBool;
FPrevSelectedId;
@@ -4135,8 +4137,8 @@ type tmonthcalendar = class(TCustomControl)
private
FCalender;
FMousedownState;
FonSelect;
FonSelectChange;
[weakref]FonSelect;
[weakref]FonSelectChange;
end
type tdatetimepicker = class(tthreeEntry)
@@ -4321,7 +4323,7 @@ type tdatetimepicker = class(tthreeEntry)
end
FScreenRect;
FCalender;
Fonselectchange;
[weakref]Fonselectchange;
end
type ttimepicker = class(tthreeEntry)
function create(aowner);
@@ -4499,7 +4501,7 @@ type ttimepicker = class(tthreeEntry)
end
FRectUp;
FRectDown;
Fonselectchange;
[weakref]Fonselectchange;
end
type tipaddr = class(tcustomipaddr)
{**
@@ -5393,7 +5395,7 @@ type TQuotations=class(tcomponent)
static RE_FUNCSTATE;
static RE_ECHO;
static RE_QUERY;
FOncallBack; //回调函数
[weakref]FOncallBack; //回调函数
FChannel; //通道
FData; //返回数据
FIds;
+2 -2
View File
@@ -8,7 +8,7 @@ type tuieventbase=class(TSLUICONST)
Wparam:pointer;
Lparam:pointer;
Hwnd:pointer;
_tag;
[weakref]_tag;
{**
@param(Message)(integer|any) 消息id %%
@param(Wparam)(pointer) 消息wparam %%
@@ -28,7 +28,7 @@ type tuieventbase=class(TSLUICONST)
//结果
FSkip;
Fresult;
FSender;
[weakref]FSender;
function setSkip(v);
begin
if v then
+4 -1
View File
@@ -35,6 +35,7 @@ type TWinControl = class(tcontrol)
protected //消息
FDefWndproc; //默认消息句柄
private //时间指针
weakref
FonKillFocus;
FonSetFocus;
foncreated;
@@ -47,6 +48,8 @@ type TWinControl = class(tcontrol)
FOnKeyDown;
FOnKeyPress;
FOnKeyUp;
factivecontrol;
autoref
FTabStop;
FWsCaption;
FWsSizeBox;
@@ -2685,6 +2688,6 @@ type TWinControl = class(tcontrol)
if WsPopUp then return factivecontrol;
factivecontrol := nil;
end
factivecontrol;
end
+10 -6
View File
@@ -103,6 +103,7 @@ TYPE TMemoLineList=class(tnumindexarray) //
private
Flock;
FRowMaxLength;
weakref
FOnAdded;
FOnChange;
FOnChanging;
@@ -110,13 +111,14 @@ TYPE TMemoLineList=class(tnumindexarray) //
FOnDeleted;
fOnPutted;
FOnMaxLengthIncrease;
FEdit;
autoref
function DoColumnIncreased();
begin
//echo "\r\nIncreate:",FRowMaxLength;
//if iffuncptr(FOnMaxLengthIncrease) then Call(FOnMaxLengthIncrease);
//echo "\r\nincrease:",FRowMaxLength;
end
FEdit;
end
function SetText(s);
begin
Clear();
@@ -177,7 +179,7 @@ type TMemoGutter=class() //
return 20+FEdit.Font.width * 5;
end
FWidth;
FEdit;
[weakref]FEdit;
end
type TTslMemoUndoItem=class
FReason;
@@ -636,7 +638,7 @@ type TCustomMemo = class(TCustomScrollControl,TCustomMemoCmd) //
@explan(说明) 带滚动条的编辑控件 %%
**}
private
fongutterclick;//点击
[weakref]fongutterclick;//点击
ftmemlockv;
fundoing; //清空unredo标记
fredoing; //清空unredo标记
@@ -2528,7 +2530,7 @@ type TSynCompletion = class(TSynCompletionList)
OnJumpChoosed := nil;
inherited;
end
OnJumpChoosed;
[weakref]OnJumpChoosed;
function CanJump(); //是否一跳转,可以跳转返回跳转的字符串
begin
p := parent;
@@ -2900,7 +2902,7 @@ type TSynCompletion = class(TSynCompletionList)
private
FCurrentWidth;
FCompData;
FMemo;
[weakref]FMemo;
FJump;
FIgnoreCase;
FFilter;
@@ -3094,8 +3096,10 @@ type TSynHighLighter = class(TComponent) //
SetInValidateIndex(1);
end
end
weakref
Flines;
FMemo;
autoref
end
type tcustomsynhighlighter = class(TSynHighLighter)
+3 -1
View File
@@ -6,11 +6,13 @@ interface
uses utslvclauxiliary,utslvclbase;
type TBasicAction=class(TComponent)
private
weakref
FActionComponent:TComponent; //执行的tcomponent
FOnChange:TNotifyEvent;
FOnExecute:TNotifyEvent;
FOnUpdate:TNotifyEvent;
FParent;
autoref
function SetParent(p);
begin
if FParent <> p then
@@ -348,7 +350,7 @@ type TBasicActionLink=class(TSLUIBASE)
@explan(说明) 基础action component关联类 %%
**}
private
FOnChange;
[weakref]FOnChange;
protected
procedure AssignClient(AClient:TObject);virtual;
begin
+3 -2
View File
@@ -321,7 +321,7 @@ end
type tarray1dlk=class //从0开始
private
_len;
FCompareValue;
[weakref]FCompareValue;
protected _data; //数据
public
{**
@@ -1463,7 +1463,7 @@ type TNode = class() //
**}
private
FItems; //子项
FParent; //父节点
[weakref]FParent; //父节点
public
function Create();virtual;
begin
@@ -2944,6 +2944,7 @@ begin
{$ifdef linux}
nct := 1;
{$endif}
if length(ffname)<1 then exit;
ph := ffname[1:nct];
for i := nct+1 to length(ffname) do
begin
File diff suppressed because it is too large Load Diff
+5 -4
View File
@@ -7,7 +7,7 @@ type TCommDlg=class(tcomponent)
**}
private
FChooseOk;
FWndOwner;
[weakref]FWndOwner;
FCaption;
function SetParent(p);
begin
@@ -322,7 +322,8 @@ type tcustomfsdlg = class(TCommDlg)
@explan(说明) 保存文件,获得文件名 %%
@param(FFileTag)(TtagOFNA)openfile 对象 %%
**}
protected FFileTag;
protected
FFileTag;
function dlgType();virtual;
begin
//对话框类型:0x1:保存为窗口。0x2:打开窗口。
@@ -1053,8 +1054,8 @@ type TcustomInPutQuerys= class(tcustomscrollcontrol)
FInfo;
FBOk;
FBCancel;
FLabels;
FEdits;
[weakref]FLabels;
[weakref]FEdits;
FTips;
static SFInputType;
static SHashInited;
+1 -1
View File
@@ -165,7 +165,7 @@ type TMDRAWITEM=class(tuieventbase,TtageDrawItem)
inherited;
class(TtageDrawItem).destroy();
end
canvas;
[weakref] canvas;
end
type TGRIDMDRAWITEM = class(tuieventbase)
{**
+4 -2
View File
@@ -22,6 +22,7 @@ private
FEnabled :bool;
FVisible :bool;
FCommand :integer;
weakref
FOnclick;
fonchanged;
// FOwnerDraw;
@@ -29,10 +30,11 @@ private
FOnDrawItem; //绘制
FOnMeasureItem; //测量
FOninitmenupopup;
FOnrbuttonup;
FOnrbuttonup;
FOnDesignClick;
autoref
FMtype; //样式
FMenuitemInfo;
FOnDesignClick;
FBitmap;
FShortCut;
function modifyshowcaption(item);
+2 -2
View File
@@ -46,8 +46,8 @@ type tcustompagecontrol = class(TCustomControl)
FCurrentid; //当前
FPrevid; //上一个
FTabItems; //
FOnSelChanged;
FOnSelChanging; //正在改变
[weakref]FOnSelChanged;
[weakref]FOnSelChanging; //正在改变
//FOnrclick;
FTabPosition;
FTabHeight;
+36 -19
View File
@@ -167,9 +167,10 @@ type TCustomTimer = class(tcomponent)//
**}
if tid and(ifnumber(tid))then reindex(_STIMERS,array(tid:nil));
end
protected FOntimeout;
protected
[weakref]FOntimeout;
private
FOntimer;
[weakref]FOntimer;
Fid;
FInterval;
FStart;
@@ -810,8 +811,7 @@ type teditable=class(TSLUIBASE) //
FHafChar; //半个中文
FBorder;
//////////////////////
FHost; //
FHostDc;
[weakref]FHost; //
FClientRect;
FFont;
FVisible;
@@ -1391,7 +1391,14 @@ type teditable=class(TSLUIBASE) //
end
"ecpasswordchar":
begin
if ifstring(pm)and pm then FPassWordChar := pm[1];
if ifstring(pm)and pm then
begin
tm := trim(pm);
if tm then
begin
FPassWordChar := tm[1];
end
end
else return FPassWordChar;
end
"ecmarked":
@@ -1725,16 +1732,18 @@ type teditable=class(TSLUIBASE) //
fredolist;
fundolist;
FIsCaretShow;
FKillFocus;
FOnSetFocus;
FKillFocus;
FPassWordChar;
FMarked;
weakref
FOnSetFocus;
FOnMaxText;
FOnUpdate;
FOnChange;
FOnKeyPress;
FOnKeyDown;
FOnKeyUp;
autoref
Fplaceholder;
FSetFocused;
FFocusBorder;
@@ -2628,9 +2637,11 @@ type tcustomedit=class(TCustomControl)
begin
if FEditable then return FEditable.LineWrap := v;
end
weakref
FOnUpdate;
FOnChange;
fonmaxtext;
autoref
end
type tcustompassword = class(tcustomedit)
{**
@@ -3972,8 +3983,8 @@ type TcustomListBox=class(TCustomListBoxbase)
fselbkcolor;
FOwnerDraw;
// FselectionCancel;
FselectionChange;
Fondrawlist;
[weakref]FselectionChange;
[weakref]Fondrawlist;
FSelBegin;
FSelEnd;
FIsMouseDown;
@@ -4124,9 +4135,11 @@ type TCustomComboBoxbase=class(TCustomControl)
FmaxListItemShow;
FScreenRect; //桌面区域
FBtnRect; //按钮区域
weakref
FOnSelchanged; //选择改变
Fondropdown; //下拉
Foncloseup; //收起
autoref
FBtnWidth;
function GetItemCount();
begin
@@ -4438,10 +4451,12 @@ type TcustomComboBox=class(TCustomComboBoxbase)
FTextHeight;
FItemHeight;
Freadonly;
weakref
Foneditchanged;
FoneditUpdate;
Fonkillfocus;
Fonsetfocus;
autoref
FEdit;
function setItems(d);
begin
@@ -4492,7 +4507,7 @@ type tcustommenubutton = class()//
return true;
end
fmenu;
fParent;
[weakref]fParent;
end
type TcustomToolButton=class(tcomponent)
{**
@@ -4758,13 +4773,13 @@ type TcustomToolButton=class(tcomponent)
end
private
FPopupMenu;//弹出菜单
FCaption; //标题
FOnClick; //点击
[weakref]FOnClick; //点击
[weakref]FToolbar; //工具栏
FCaption; //标题
FCommandId; //command id 可以不要
FImageId; //imageid
FEnabled; //有效 可以点击
FVisible; //可见
FToolbar; //工具栏
FVisible; //可见
FWillAddbar;
FActionLink;
end
@@ -5683,8 +5698,8 @@ type TCustomSpinEdit = class(TCustomControl)
FMaxValue: Double;
FMinValue: Double;
FValue: Double;
FOnIncrease;
FOnDecrease;
[weakref]FOnIncrease;
[weakref]FOnDecrease;
FLeveTimer;
function DrawItem(id,f);
begin
@@ -6568,7 +6583,7 @@ type tcustomipaddr = class(TCustomControl)
FIpe4;
FPort;
FFontwidth;
FaddrChange;
[weakref]FaddrChange;
Fsynrects;
function getAddress();
begin
@@ -6754,11 +6769,13 @@ type tcustomprocess = class(tcomponent) //
@param(handle)(pointer) 进程句柄 %%
**}
private //成员变量
ferrinfo;
fonprcstart;
ferrinfo;
fprocesshandle;
weakref
fonprcstart;
FOnEcho;
fonprocended;
autoref
fexestring;
fparams;
private //处理函数
+9 -7
View File
@@ -1300,7 +1300,7 @@ type TcustomTreeCtlNode = class(tsluibase) //
property CurrentDeleteNode read FCurrentDeleteNode write FCurrentDeleteNode;
property CurrentAddNode read FCurrentAddNode write FCurrentAddNode;
FItems; //子项
FParent; //父节点
[weakref]FParent; //父节点
function Gitems();
begin
return FItems;
@@ -1354,7 +1354,7 @@ type TcustomTreeCtlNode = class(tsluibase) //
private //成员变量
FHandle;
FWidth;
FOwner;
[weakref]FOwner;
///////////节点成员
FVisible;
FDirtype;
@@ -1774,17 +1774,19 @@ type TcustomTreeCtl = class(ttreelistwnd)
end
private //成员变量
fcountlocker; //锁定changed回调
weakref
fnodecreator;
FOnlyLeafNodeCheckMark;
FNodeHierarchyWidth;
FMulSelected;
FMulSelects;
FOnSelChanging;
FonEmptyNodeExapanding;
FSingleExpand;
FBKItemHeight;
FOnSelChanged;
FCurrentNode;
autoref
FNodeHierarchyWidth;
FMulSelected;
FMulSelects;
FSingleExpand;
FBKItemHeight;
FRootItem;
FCheckBox;
FHasLine;
+3 -1
View File
@@ -48,7 +48,7 @@ type tworkerclient = class(TArray)
inherited;
end
private
FOnMessage; //onpost message
[weakref] FOnMessage; //onpost message
FConnectHandle; //句柄
end
type TCustomThreadworker = class()
@@ -358,9 +358,11 @@ type tworkerHost = class(TArray)
end
private
FCatcheData; //构造数据
weakref
FOnMessage; //onpost message
FOnError;
FOnStart;
autoref
FConnectHandle; //句柄
end
function iffuncptr(fn);