Showing results for 
Search instead for 
Did you mean: 

background colour change diagram

Regular Contributor

background colour change diagram

Hi all,


It'm trying to set the background colour of a diagram when a new diagram is created. Anyone knows which function I can use for this and how to use it? I found drw.Prop(Background_Brush) but I'm not able to get it working.





3 Replies

Re: background colour change diagram

I have the same issue.


According to the Mega documentation:


The drw.Prop("Background_Type") works fine.


For the ''Background_Brush" I get invalid flag exception:


Thread(05c0);drw_bkgn.cpp(2652) : error Application: 0x01018007 12:25:21
              Invalid flag (492631000)
Thread(05c0);apidraw.cpp(8237) : error trace 12:25:21
Script Editor Default : MegaDrawing:Smiley Tonguerop line 7, offset 1 :
Error(0x80020009) : Invalid flag (492631000)


I think that somebody from Mega support should update that documentation there.


There are also a lot of code examples in this document which starts with




which doesn't work instead it should be





Regular Contributor

Re: background colour change diagram

Indeed same issue I have

Re: background colour change diagram

This error means that you are trying to read a property which is not valid for the current background type of the diagram.

For instance, if you have a background picture, you cannot access the brush property. You must first check the background type and only retrieve the relevant properties.


See this small sample.


Set oDiag = GetObjectFromId("~LIvGSqLzBHTC[Overviews - Overview of Applications]")
Set oDrw  = oDiag.Drawing("rw")

typeBkgn = oDrw.Prop("Background_Type")
Print typeBkgn
If typeBkgn=1 Or typeBkgn=2 Then
	Print oDrw.Prop("Background_PicturePath")
Elseif typeBkgn = 3 Then
  Set oBrush = oDrw.Prop("Background_Brush")
  Print oBrush.Type
  If oBrush.Type = 0 Then
    Print Hex(oBrush.Color)
    Print Hex(oBrush.LinearGradientColor1)
    Print Hex(oBrush.LinearGradientColor2)
  End If
End If
Print oDrw.Prop("Background_RepeatOnEachPage")
Print oDrw.Prop("Background_DisplayOnScreen")
If oDrw.Prop("Background_DisplayOnScreen") Then
  Print "Display On Screen"
End If
Print oDrw.Prop("Background_DisplayOnPrint")
If oDrw.Prop("Background_DisplayOnPrint") Then
  Print "Display On Print"
End If
Print oDrw.Prop("Background_DisplayOnGenerated")
Print oDrw.Prop("Background_X")/4
Print oDrw.Prop("Background_Y")/4
Print oDrw.Prop("Background_Width")/4 
Print oDrw.Prop("Background_Height")/4