diff --git a/designer/utslvcldcomponents.tsf b/designer/utslvcldcomponents.tsf index 4ee4c1a..52c0238 100644 --- a/designer/utslvcldcomponents.tsf +++ b/designer/utslvcldcomponents.tsf @@ -946,7 +946,7 @@ type TDForm = class(TDComponent) function WndClass();override; begin - return class(tvcform); + return class(tdcreateform); //return class(TDCreateForm); end function create(AOwner);override; @@ -976,7 +976,7 @@ type TDPanelForm = class(TDForm) function WndClass();override; begin - return class(TpanelForm); + return class(TDCreatePanel); //return class(TDCreatePanel); end function create(AOwner);override; @@ -1277,6 +1277,25 @@ type TGraphicsplitterWindow = class(TDVirutalWindow) //canvas.Font := font; //al := BindComp.TextAlign; //BindComp.CanvasDrawAlignText(self.canvas,self.ClientRect,self.caption,al); + dc := canvas; + r := ClientRect; + clr := 0x123232; + x := integer(r[0]+(r[2]-r[0])/2); + y := integer(r[1]+(r[3]-r[1])/2); + sz := 4; + sp := 5; + for j :=(0 -sz) to sz do + begin + for i:=(0 -sz) to sz do + begin + x1 := x+sp*i; + y1 := y+sp*j; + if x1>r[0] and x1r[1] and y1r[0] and x1r[1] and y10 or h<0 then + begin + wt := static gtk_widget_get_type(); + r := g_type_check_instance_is_a(h,wt); + return r; + end end function GetWindowTextA(h,s,l); begin @@ -1016,7 +1019,7 @@ type tsgtkapi = class(tgtkapis) gtk_object_set_data(dc,"pen.width",2); LineTo(dc,x+1,y+1); gtk_object_set_data(dc,"pen.color",pc); - gtk_object_set_data(dc,"pen.width",pc); + gtk_object_set_data(dc,"pen.width",pw); return 1; end end @@ -1248,7 +1251,8 @@ type tsgtkapi = class(tgtkapis) end Function DestroyMenu(hMenu:pointer):integer; begin - return gtk_widget_destroy(hMenu); + if hMenu and GTK_WIDGET(hMenu) then + return gtk_widget_destroy(hMenu); end Function DrawMenuBar(hwd:pointer):integer; //处理菜单栏 begin @@ -1264,21 +1268,21 @@ type tsgtkapi = class(tgtkapis) if not vb then return ; mb := g_object_get_data(hwd,"menubar"); if mb = hmenu then return ; - if mb then + {if mb and GTK_WIDGET(mb) then begin - gist := gtk_container_get_children(mb); - ridx := 0; - while gist do - begin - og := new _gslist(gist); - dt := og.data; - if dt then - gtk_container_remove(mb,dt); - ridx++; - gist := og.next; - end + gist := gtk_container_get_children(mb); + ridx := 0; + while gist do + begin + og := new _gslist(gist); + dt := og.data; + if dt then + gtk_container_remove(mb,dt); + ridx++; + gist := og.next; + end gtk_widget_destroy(mb); - end + end} if hmenu then begin g_object_set_data(hwd,"menubar",hmenu); diff --git a/funcext/tvclib/utslmemo.tsf b/funcext/tvclib/utslmemo.tsf index fe06810..eb18f06 100644 --- a/funcext/tvclib/utslmemo.tsf +++ b/funcext/tvclib/utslmemo.tsf @@ -3347,7 +3347,7 @@ type tcustomsynhighlighter = class(TSynHighLighter) for i,v in ws do begin if v and ifstring(v) then st.add(v); - end + end fkeystires := array(st); end function setblockannote(d); //设置块注释 diff --git a/funcext/tvclib/utslvclaction.tsf b/funcext/tvclib/utslvclaction.tsf index 4981b34..115a085 100644 --- a/funcext/tvclib/utslvclaction.tsf +++ b/funcext/tvclib/utslvclaction.tsf @@ -106,7 +106,7 @@ type TBasicAction=class(TComponent) function Notification(AComponent,Operation);override; begin inherited; - if Operation="recycling" and AComponent=FActionComponent then //opRemove + if Operation=opRecycling and AComponent=FActionComponent then //opRemove begin FActionComponent := nil; if FParent is class(TCustomactionlist)then @@ -332,7 +332,7 @@ type TCustomactionlist=class(TComponent) function Notification(AComponent,Operation);override; begin inherited; - if Operation="recycling" and AComponent=FActionComponent then //opRemove + if Operation=opRecycling and AComponent=FActionComponent then //opRemove begin DeleteAllActions(); end diff --git a/funcext/tvclib/utslvclconstant.tsf b/funcext/tvclib/utslvclconstant.tsf index 7888e7e..34ecf78 100644 --- a/funcext/tvclib/utslvclconstant.tsf +++ b/funcext/tvclib/utslvclconstant.tsf @@ -89,6 +89,7 @@ end type TOperation=class(tenumeration) static opInsert; static opRemove; + static opRecycling; end type TWinControlFlag=class(tenumeration) @@ -511,6 +512,9 @@ type TSLUICONST=class(tmacroconst,tconstant) class function sinit();override; begin class(tmacroconst).sinit(); + opRemove := "opRemove-";//移除操作 + opInsert := "opInsert+";//插入 + opRecycling := "opRecycling-"; WM_TRAY := WM_USER+100; end end diff --git a/funcext/tvclib/utslvclcoolbar.tsf b/funcext/tvclib/utslvclcoolbar.tsf index 40c6a32..560f950 100644 --- a/funcext/tvclib/utslvclcoolbar.tsf +++ b/funcext/tvclib/utslvclcoolbar.tsf @@ -14,11 +14,16 @@ type tcustomcoolbar=class(tcustomcontrol) fbtnwidth := 20; fautosize := true; inherited; + + end + function AfterConstruction();override; + begin + inherited; Align := alTop; FWill_Drag := true; cimgst(); - fdragbtncolor := _wapi.GetSysColor(COLOR_MENUBAR); - end + fdragbtncolor := _wapi.GetSysColor(COLOR_MENUBAR); + end function ControlAppended(AControl);override; begin it := new tcoolband(AControl); @@ -285,6 +290,14 @@ type tcustomcoolbar=class(tcustomcontrol) rc1[array(0,1)] ); dc.draw("polyline",ply) ; + x := integer(rc1[0]+(rc1[2]-rc1[0])/2); + y := integer(rc1[1]+(rc1[3]-rc1[1])/2); + for i := -2 to 1 do + begin + y1 := y+i*4; + if y1>rc1[1] and y1