y优化
This commit is contained in:
tslediter 2023-12-21 16:12:54 +08:00
parent 612a2046af
commit 97570dea24
5 changed files with 488 additions and 181 deletions

View File

@ -1080,11 +1080,15 @@ type TProjectView = class(TVCForm) //
global g_orig_lib_path; global g_orig_lib_path;
sdir := array(p); sdir := array(p);
idx := 1; idx := 1;
hdirs := array(p:true);
if ifstring(g_orig_lib_path) then if ifstring(g_orig_lib_path) then
begin begin
for i,v in str2array(g_orig_lib_path,";") do for i,v in str2array(g_orig_lib_path,";") do
begin begin
tm := trim(v); tm := trim(v);
if hdirs[tm] then continue;
hdirs[tm] := true;
if tm then if tm then
begin begin
sdir[idx++] := tm; sdir[idx++] := tm;

View File

@ -2052,12 +2052,27 @@ function delexttypeclasscomp(n);
begin begin
class(TDComponent).unregestorclassitemsext(n); class(TDComponent).unregestorclassitemsext(n);
end end
function Getfuncextdir();
begin
tsl := SysExecName();
ios := ioFileseparator();
for i := length(tsl)-1 downto 2 do
begin
vi := tsl[i];
if vi=ios then
begin
tsl[i+1:length(tsl)]:= "funcext";
break;
end
end
return tsl;
end
function staticInit(); function staticInit();
begin begin
global g_orig_lib_path; global g_orig_lib_path;
np := getdesignerpath()+"dcmps"+ioFileseparator(); np := getdesignerpath()+"dcmps"+ioFileseparator();
CreateDirWithFileName(np+"1.txt"); CreateDirWithFileName(np+"1.txt");
g_orig_lib_path := tsl_getlibpath_(); g_orig_lib_path := tsl_getlibpath_()+";"+Getfuncextdir();
tsl_setlibpath_( np+";"+g_orig_lib_path); tsl_setlibpath_( np+";"+g_orig_lib_path);
ini := static getdesginerini(); ini := static getdesginerini();
//class(TDSocketServer),class(TDSocketClient), //class(TDSocketServer),class(TDSocketClient),

View File

@ -1543,7 +1543,7 @@ type TGridCellNaturalEdit = class(TGridPropertyRender,TPropertyNatural)
FEdit.parent := FGrid; FEdit.parent := FGrid;
FEdit.OnChanged := thisfunction(Ched); FEdit.OnChanged := thisfunction(Ched);
end end
FEdit.SetBoundsRect(FGrid.clienttoscreen(rec[0],rec[1]) union FGrid.clienttoscreen(rec[2],rec[3])); FEdit.SetBoundsRect(rec);//FEdit.SetBoundsRect(FGrid.clienttoscreen(rec[0],rec[1]) union FGrid.clienttoscreen(rec[2],rec[3]));
FEdit.text := numbertotext(d["value"]); FEdit.text := numbertotext(d["value"]);
FEdit.parent := grid; FEdit.parent := grid;
FEdit.SetFocus(); FEdit.SetFocus();
@ -1683,12 +1683,15 @@ type TPopEditCtrl = class(TCustomControl)
function create(AOwner);override; function create(AOwner);override;
begin begin
inherited; inherited;
WsPopUp := true; //WsPopUp := true;
WsDlgModalFrame := false; WsDlgModalFrame := false;
FEdit := new tedit(self); FEdit := new tedit(self);
width := FEdit.Width+2; width := FEdit.Width+2;
height := FEdit.Height +2; height := FEdit.Height +2;
FEdit.align := alClient; FEdit.align := alClient;
FEdit.onkillfocus := function(o,e)begin
self.visible := false;
end
FEdit.parent := self; FEdit.parent := self;
FEdit.OnKeyPress := function(o,e)begin FEdit.OnKeyPress := function(o,e)begin
CallDataFunction(FOnKeyPress,self,e); CallDataFunction(FOnKeyPress,self,e);
@ -3257,6 +3260,7 @@ type TMultiSelectCell = class(TGridCellEditWithButton)
FPanel.wspopup := true; FPanel.wspopup := true;
FPanel.SetListData(SelPalRange()); FPanel.SetListData(SelPalRange());
FPanel.Onokclick := thisfunction(SelChanged); FPanel.Onokclick := thisfunction(SelChanged);
FPanel.parent := Owner;
end end
end end
function SelPalRange();virtual; function SelPalRange();virtual;
@ -3314,6 +3318,7 @@ type TOneSelectCell = class(TGridCellEditWithButton)
FPanel.wspopup := true; FPanel.wspopup := true;
FPanel.SetList(SelPalRange()); FPanel.SetList(SelPalRange());
FPanel.OnSelChanged := thisfunction(SelChanged); FPanel.OnSelChanged := thisfunction(SelChanged);
FPanel.parent := Owner;
end end
end end
function SelPalRange();virtual; function SelPalRange();virtual;

View File

@ -4500,7 +4500,9 @@ type tapplicationwindow=class(TWinControl)
end end
function InitializeWnd();override; function InitializeWnd();override;
begin begin
global g_applicaton_wnd_handle;
inherited; inherited;
g_applicaton_wnd_handle := handle;;
{echo self.Handle; {echo self.Handle;
SysMeu := _wapi.GetSystemMenu(self.Handle,False); SysMeu := _wapi.GetSystemMenu(self.Handle,False);
echo "\r\nsysmenu",sysmenu; echo "\r\nsysmenu",sysmenu;

File diff suppressed because it is too large Load Diff