GdPicture.NET.14
GdPicture14 Namespace / GdPicturePDF Class / SetFormFieldFontColor Method / SetFormFieldFontColor(Int32,Int32,Byte,Byte,Byte) Method
A unique form field identifier specifying a required form field object. You can obtain this identifier using these methods: AddRadioButtonFormField(Single,Single,Single,Single,String,String,PdfCheckBoxStyle,Byte,Byte,Byte), GetFormFieldId or GetFormFieldChildID.
The index of the required child radio button in a group. It must be a value from 0 to GetFormFieldChildCount-1.

It is simply a sequence index of a radio button in a group, it does not correspond to the unique form field's identifier.

The amount of red color to be used for the resulting color. Use the value between 0 and 255.
The amount of green color to be used for the resulting color. Use the value between 0 and 255.
The amount of blue color to be used for the resulting color. Use the value between 0 and 255.
Example





In This Topic
SetFormFieldFontColor(Int32,Int32,Byte,Byte,Byte) Method
In This Topic
Sets the color used to display the checkmark in a required form field, here a child radio button in a group. The radio button group is specified by its unique form field's identifier and it is related to the currently loaded PDF document. As said, this method is only applicable to radio buttons.

The usage of this attribute is not restricted to any form fields. In other words, you are allowed to set the color of the checkmark for every single child radio button in a group using this method. Please note that every single child radio button in a group of radio buttons within a radio button field can have its own font attributes as well.

For further assistance, please refer to the PDF Reference, Section "Interactive Forms".

This method uses the RGB color space for specifying the required color.

Syntax
'Declaration
 
Public Overloads Function SetFormFieldFontColor( _
   ByVal FieldId As Integer, _
   ByVal ChildIdx As Integer, _
   ByVal Red As Byte, _
   ByVal Green As Byte, _
   ByVal Blue As Byte _
) As GdPictureStatus
public GdPictureStatus SetFormFieldFontColor( 
   int FieldId,
   int ChildIdx,
   byte Red,
   byte Green,
   byte Blue
)
public function SetFormFieldFontColor( 
    FieldId: Integer;
    ChildIdx: Integer;
    Red: Byte;
    Green: Byte;
    Blue: Byte
): GdPictureStatus; 
public function SetFormFieldFontColor( 
   FieldId : int,
   ChildIdx : int,
   Red : byte,
   Green : byte,
   Blue : byte
) : GdPictureStatus;
public: GdPictureStatus SetFormFieldFontColor( 
   int FieldId,
   int ChildIdx,
   byte Red,
   byte Green,
   byte Blue
) 
public:
GdPictureStatus SetFormFieldFontColor( 
   int FieldId,
   int ChildIdx,
   byte Red,
   byte Green,
   byte Blue
) 

Parameters

FieldId
A unique form field identifier specifying a required form field object. You can obtain this identifier using these methods: AddRadioButtonFormField(Single,Single,Single,Single,String,String,PdfCheckBoxStyle,Byte,Byte,Byte), GetFormFieldId or GetFormFieldChildID.
ChildIdx
The index of the required child radio button in a group. It must be a value from 0 to GetFormFieldChildCount-1.

It is simply a sequence index of a radio button in a group, it does not correspond to the unique form field's identifier.

Red
The amount of red color to be used for the resulting color. Use the value between 0 and 255.
Green
The amount of green color to be used for the resulting color. Use the value between 0 and 255.
Blue
The amount of blue color to be used for the resulting color. Use the value between 0 and 255.

Return Value

A member of the GdPictureStatus enumeration. If the method has been successfully followed, then the return value is GdPictureStatus.OK.

We strongly recommend always checking this status first.

Remarks
This method is only allowed for use with non-encrypted documents. At the same, this method is only meaningful for radio buttons, otherwise it will fail.

Just to inform you, that the attributes representing the font and its resources are defined for all form field objects by default. That said, every single child radio button in a group can have its own font attributes as well. For further assistance, please refer to the PDF Reference, Section "Interactive Forms".

Example
How to set different font attributes to single child radio buttons. These attributes are used to display the checkmark in the buttons.
Dim caption As String = "Example: SetFormFieldFontColor"
Dim gdpicturePDF As GdPicturePDF = New GdPicturePDF()
If (gdpicturePDF.NewPDF() = GdPictureStatus.OK) AndAlso
   (gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) = GdPictureStatus.OK) Then
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter)
    'Please always select the required page before adding a form field.
    If gdpicturePDF.SelectPage(1) = GdPictureStatus.OK Then
        Dim fontResName As String = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica)
        If (gdpicturePDF.GetStat() = GdPictureStatus.OK) AndAlso
           (gdpicturePDF.SetLineColor(0, 0, 0) = GdPictureStatus.OK) Then
            Dim formID As Integer = 0
            Dim buttonName As String = "RadioButton"
            'Creating the first group of radio buttons.
            If gdpicturePDF.DrawRectangle(0.5F, 0.5F, 4, 4, False, True) = GdPictureStatus.OK Then
                Dim colors1 As String() = New String(2) {"RED", "GREEN", "BLUE"}
                Dim backColors1 As Byte()() = New Byte(2)() {New Byte(2) {255, 0, 0}, New Byte(2) {0, 128, 0}, New Byte(2) {0, 0, 255}}
                Dim fontColors1 As Byte()() = New Byte(2)() {New Byte(2) {255, 182, 193}, New Byte(2) {144, 238, 144}, New Byte(2) {173, 216, 230}}
                For i As Integer = 0 To colors1.Length - 1
                    formID = gdpicturePDF.AddRadioButtonFormField(1, 1 + i, 1, 1, "Group1", buttonName & (i + 1).ToString(), PdfCheckBoxStyle.PdfCheckBoxStyleStar, 255, 255, 255)
                    If (gdpicturePDF.GetStat() <> GdPictureStatus.OK) OrElse
                       (gdpicturePDF.SetFormFieldBackgroundColor(formID, i, backColors1(i)(0), backColors1(i)(1), backColors1(i)(2)) <> GdPictureStatus.OK) OrElse
                       (gdpicturePDF.SetFormFieldBorderColor(formID, 165, 42, 42) <> GdPictureStatus.OK) OrElse
                       (gdpicturePDF.SetFormFieldFontSize(formID, i, 12 + 4 * i) <> GdPictureStatus.OK) OrElse
                       (gdpicturePDF.SetFormFieldFontColor(formID, i, fontColors1(i)(0), fontColors1(i)(1), fontColors1(i)(2)) <> GdPictureStatus.OK) OrElse
                       (gdpicturePDF.DrawText(fontResName, 2.5F, 1.65F + i, colors1(i)) <> GdPictureStatus.OK) Then
                        MessageBox.Show("1.group: adding the radio button nr." + (i + 1).ToString() + " has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
                        Exit For 'stop creating anything
                    End If
                Next
                If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
                    'Creating the second group of radio buttons.
                    If gdpicturePDF.DrawRectangle(5.5F, 0.5F, 5, 5, False, True) = GdPictureStatus.OK Then
                        Dim colors2 As String() = New String(3) {"CYAN", "MAGENTA", "YELLOW", "BLACK"}
                        Dim fontColors2 As Byte()() = New Byte(3)() {New Byte(2) {0, 255, 255}, New Byte(2) {255, 0, 255}, New Byte(2) {255, 255, 0}, New Byte(2) {0, 0, 0}}
                        For i As Integer = 0 To colors2.Length - 1
                            formID = gdpicturePDF.AddRadioButtonFormField(6, 1 + i, 1, 1, "Group2", buttonName & (i + 1).ToString(), PdfCheckBoxStyle.PdfCheckBoxStyleCircle, 255, 255, 255)
                            If (gdpicturePDF.GetStat() <> GdPictureStatus.OK) OrElse
                               (gdpicturePDF.SetFormFieldBackgroundColor(formID, 245, 245, 245) <> GdPictureStatus.OK) OrElse
                               (gdpicturePDF.SetFormFieldBorderColor(formID, fontColors2(i)(0), fontColors2(i)(1), fontColors2(i)(2)) <> GdPictureStatus.OK) OrElse
                               (gdpicturePDF.SetFormFieldFontSize(formID, i, 12 + 4 * i) <> GdPictureStatus.OK) OrElse
                               (gdpicturePDF.SetFormFieldFontColor(formID, i, fontColors2(i)(0), fontColors2(i)(1), fontColors2(i)(2)) <> GdPictureStatus.OK) OrElse
                               (gdpicturePDF.DrawText(fontResName, 7.5F, 1.65F + i, colors2(i)) <> GdPictureStatus.OK) Then
                                MessageBox.Show("2.group: adding the radio button nr." + (i + 1).ToString() + " has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
                                Exit For 'stop creating anything
                            End If
                        Next
                        If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
                            If gdpicturePDF.SaveToFile("forms_radiobutton.pdf") = GdPictureStatus.OK Then
                                MessageBox.Show(vbCrLf + "The example has been followed successfully and the file has been saved.", caption)
                            Else
                                MessageBox.Show(vbCrLf + "The example has been followed successfully, but the file can't be saved. Status: " + gdpicturePDF.GetStat().ToString(), caption)
                            End If
                        End If
                    Else
                        MessageBox.Show("The 2.DrawRectangle() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
                    End If
                End If
            Else
                MessageBox.Show("The 1.DrawRectangle() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
            End If
        Else
            MessageBox.Show("The AddStandardFont() or the SetLineColor() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
        End If
    Else
        MessageBox.Show("The SelectPage() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
    End If
Else
    MessageBox.Show("The file can't be created.", caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: SetFormFieldFontColor";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
if ((gdpicturePDF.NewPDF() == GdPictureStatus.OK) &&
    (gdpicturePDF.NewPage(PdfPageSizes.PdfPageSizeA4) == GdPictureStatus.OK))
{
    gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
    gdpicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitCentimeter);
    //Please always select the required page before adding a form field.
    if (gdpicturePDF.SelectPage(1) == GdPictureStatus.OK)
    {
        string fontResName = gdpicturePDF.AddStandardFont(PdfStandardFont.PdfStandardFontHelvetica);
        if ((gdpicturePDF.GetStat() == GdPictureStatus.OK) &&
            (gdpicturePDF.SetLineColor(0, 0, 0) == GdPictureStatus.OK))
        {
            int formID = 0;
            string buttonName = "RadioButton";
            //Creating the first group of radio buttons.
            if (gdpicturePDF.DrawRectangle(0.5f, 0.5f, 4, 4, false, true) == GdPictureStatus.OK)
            {
                string[] colors1 = new string[3] { "RED", "GREEN", "BLUE" };
                byte[][] backColors1 = new byte[3][] { new byte[3] { 255, 0, 0 }, new byte[3] { 0, 128, 0}, new byte[3] { 0, 0, 255} };
                byte[][] fontColors1 = new byte[3][] { new byte[3] { 255, 182, 193}, new byte[3] { 144, 238, 144}, new byte[3] { 173, 216, 230} };
                for (int i = 0; i < colors1.Length; i++)
                {
                    formID = gdpicturePDF.AddRadioButtonFormField(1, 1 + i, 1, 1, "Group1", buttonName + (i + 1).ToString(), PdfCheckBoxStyle.PdfCheckBoxStyleStar, 255, 255, 255);
                    if ((gdpicturePDF.GetStat() != GdPictureStatus.OK) ||
                        (gdpicturePDF.SetFormFieldBackgroundColor(formID, i, backColors1[i][0], backColors1[i][1], backColors1[i][2]) != GdPictureStatus.OK) ||
                        (gdpicturePDF.SetFormFieldBorderColor(formID, 165, 42, 42) != GdPictureStatus.OK) ||
                        (gdpicturePDF.SetFormFieldFontSize(formID, i, 12 + 4 * i) != GdPictureStatus.OK) ||
                        (gdpicturePDF.SetFormFieldFontColor(formID, i, fontColors1[i][0], fontColors1[i][1], fontColors1[i][2]) != GdPictureStatus.OK) ||
                        (gdpicturePDF.DrawText(fontResName, 2.5f, 1.65f + i, colors1[i]) != GdPictureStatus.OK))
                    {
                        MessageBox.Show("1.group: adding the radio button nr." + (i + 1).ToString() + " has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
                        break; //stop creating anything
                    }
                }
                if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
                {
                    //Creating the second group of radio buttons.
                    if (gdpicturePDF.DrawRectangle(5.5f, 0.5f, 5, 5, false, true) == GdPictureStatus.OK)
                    {
                        string[] colors2 = new string[4] { "CYAN", "MAGENTA", "YELLOW", "BLACK" };
                        byte[][] fontColors2 = new byte[4][] { new byte[3] { 0, 255, 255}, new byte[3] { 255, 0, 255}, new byte[3] { 255, 255, 0}, new byte[3] { 0, 0, 0} };
                        for (int i = 0; i < colors2.Length; i++)
                        {
            
                            formID = gdpicturePDF.AddRadioButtonFormField(6, 1 + i, 1, 1, "Group2", buttonName + (i + 1).ToString(), PdfCheckBoxStyle.PdfCheckBoxStyleCircle, 255, 255, 255);
                            if ((gdpicturePDF.GetStat() != GdPictureStatus.OK) ||
                                (gdpicturePDF.SetFormFieldBackgroundColor(formID, 245, 245, 245) != GdPictureStatus.OK) ||
                                (gdpicturePDF.SetFormFieldBorderColor(formID, fontColors2[i][0], fontColors2[i][1], fontColors2[i][2]) != GdPictureStatus.OK) ||
                                (gdpicturePDF.SetFormFieldFontSize(formID, i, 12 + 4 * i) != GdPictureStatus.OK) ||
                                (gdpicturePDF.SetFormFieldFontColor(formID, i, fontColors2[i][0], fontColors2[i][1], fontColors2[i][2]) != GdPictureStatus.OK) ||
                                (gdpicturePDF.DrawText(fontResName, 7.5f, 1.65f + i, colors2[i]) != GdPictureStatus.OK))
                            {
                                MessageBox.Show("2.group: adding the radio button nr." + (i + 1).ToString() + " has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
                                break; //stop creating anything
                            }
            
                        }
                        if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
                        {
                            if (gdpicturePDF.SaveToFile("forms_radiobutton.pdf") == GdPictureStatus.OK)
                                MessageBox.Show("\nThe example has been followed successfully and the file has been saved.", caption);
                            else
                                MessageBox.Show("\nThe example has been followed successfully, but the file can't be saved. Status: " + gdpicturePDF.GetStat().ToString(), caption);
                        }
                    }
                    else
                        MessageBox.Show("The 2.DrawRectangle() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
                }
            }
            else
                MessageBox.Show("The 1.DrawRectangle() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
        }
        else
            MessageBox.Show("The AddStandardFont() or the SetLineColor() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
    }
    else
        MessageBox.Show("The SelectPage() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
    MessageBox.Show("The file can't be created.", caption);
gdpicturePDF.Dispose();
See Also