2 Replies Latest reply: Aug 23, 2014 1:25 AM by bobsteamer RSS

    Changing the color of an object


      I have tried very unsuccessfully to change the color of an object:

      My simplest approach has been:


      //  The current color of a pgf format is Black and I want to change it to Royal Blue


      var myobject =  MyDoc.GetNamedObject(Constants.FO_PgfFmt,"Heading-3")

      myobject.Color.Name = "Royal Blue";

      alert(myobject.Color.Name)  // the colour is still Black


      I have also tried:


      var mycolorprops = myobject.Color.GetProps()

      var i  = GetPropIndex(myobject.Color,Constant.Name)

      mycolorprops[i].propVal.ival =  Constants.FV_COLOR_ROYALBLUE        


      mycolorprops[i].propVal.sval =  "Royal Blue"


      If I can solve for Color then I will be able to work with all other commands that involve Properties.

        • 1. Re: Changing the color of an object
          frameexpert Community Member

          Hi Bob, Here is basically how it is done:


          #target framemaker
          var doc = app.ActiveDoc;
          // Get the required objects.
          var pgfFmt = doc.GetNamedPgfFmt ("Heading1");
          var color = doc.GetNamedColor ("Red");
          // Apply the color object to the paragraph format.
          pgfFmt.Color = color;
          alert (pgfFmt.Color.Name);


          One thing to be aware of: this only changes the paragraph format's color, but it does not do the equivalent of an Update All in the paragraph designer. You still have to go through and apply the updated paragraph format (or color) to any paragraphs tagged with this format.



          • 2. Re: Changing the color of an object
            bobsteamer Community Member

            Hi Rick,


            Many thanks for the help.