diff --git a/TSLInterp.dll b/TSLInterp.dll index 584d32c..2234643 100644 Binary files a/TSLInterp.dll and b/TSLInterp.dll differ diff --git a/TSLPlugin.dll b/TSLPlugin.dll index 853a81f..3dc65b5 100644 Binary files a/TSLPlugin.dll and b/TSLPlugin.dll differ diff --git a/funcext/tvclib/tcomponent.tsf b/funcext/tvclib/tcomponent.tsf index e8fb4d0..dbdff61 100644 --- a/funcext/tvclib/tcomponent.tsf +++ b/funcext/tvclib/tcomponent.tsf @@ -274,11 +274,16 @@ public //֪ͨ @param(Value)(bool) ״ֵ̬ %% @param(SetChildren)(bool) ÊÇ·ñÐÞ¸Ä×ӿؼþ״̬ %% **} - if ifnil(SetChildren)then SetChildren := true; + //if ifnil(SetChildren)then SetChildren := true; If Value then + begin includestate(FComponentState,csDesigning); - else + if (self(true) is class(tcontrol)) then self(true).visible := true; //ÉèÖÿɼû + end + else + begin excludestate(FComponentState,csDesigning); + end if SetChildren then begin items := FComponents.data; @@ -460,7 +465,7 @@ public // if AComponent.ValidateContainer(Self)then begin self.Insert(AComponent); - If csDesigning in FComponentState then AComponent.SetDesigning(true); + //If csDesigning in FComponentState then AComponent.SetDesigning(true); Notification(AComponent,opInsert); end end; @@ -470,7 +475,7 @@ public // @explan(˵Ã÷)ÒÆ³ý×Ó½Úµã %% **} Notification(AComponent,opRemove); - if Remove(AComponent)then Acomponent.Setdesigning(False); + Remove(AComponent);//if Remove(AComponent)then Acomponent.Setdesigning(False); end; function Assigned(o);virtual; begin @@ -631,6 +636,7 @@ public // iv := otype.UnformatEdit(v); //·´×ª»» if FChangedProperties[n]=vi then continue; //ûÓиıä SetChangedPublish(n,iv,pp); //±£´æ + if n="visible" or n="wspopup" or n="enabled" then return 1; // ÆÁ±Î¼¸¸öÊôÐÔ if vit="eventhandler" then //·ÖÀà±£´æ begin FEventsProperties[n]:= iv; diff --git a/funcext/tvclib/utslvclmenu.tsf b/funcext/tvclib/utslvclmenu.tsf index 2b30249..28852ab 100644 --- a/funcext/tvclib/utslvclmenu.tsf +++ b/funcext/tvclib/utslvclmenu.tsf @@ -107,7 +107,7 @@ private {** @explan(˵Ã÷) ɾ³ýhmenu½Úµã %% **} - if _wapi.RemoveMenu(FHandle,pi,MF_BYPOSITION)then menuchanged(); + _wapi.RemoveMenu(FHandle,pi,MF_BYPOSITION); end function addhmenuitem(item,bef); begin @@ -790,6 +790,7 @@ private end end item.setfparent(nil); + menuchanged(); end private function setparentforproperty(f); diff --git a/plugin/TSLCPLUGIN.DLL b/plugin/TSLCPLUGIN.DLL index 5d7c8ee..0506948 100644 Binary files a/plugin/TSLCPLUGIN.DLL and b/plugin/TSLCPLUGIN.DLL differ diff --git a/tslkrnl.dll b/tslkrnl.dll index 843e90e..1c072c3 100644 Binary files a/tslkrnl.dll and b/tslkrnl.dll differ