How do I change visual appearance of check boxes and radio buttons?

Q: I would like to know how to change visual appearance of check
boxes or radio buttons. I would like to be able to set the following
properties: eheck, circle, cross, diamond, square, star, etc
------
A: In order to set other types of radio buttons (such as circle,
diamond, cross, etc) you can pass a different string in the
CreateCheckmarkAppearance/CreateTextRun (part of InteractiveForms
sample project - http://www.pdftron.com/net/samplecode.html#InteractiveForms).

Actually the visual appearance of checkmarks and radio-buttons in PDF
documents is not limited to any of the above styles. It is possible to
create a visual appearance using arbitrary glyph, text, raster image,
or path object. Although many PDF producers limit the options to the
above 'standard' styles, using PDFNet you can generate arbitrary
appearances. For example, you can extend your sample code as follows
to support other check styles in ZapfDingbats font:

enum CheckStyle {
e_check,
e_circle,
e_cross,
e_diamond,
e_square,
e_star
};

// Note: The visual appearance of check-marks and radio-buttons in PDF
documents is
// not limited to CheckStyle-s. It is possible to create a visual
appearance using
// arbitrary glyph, text, raster image, or path object. Although most
PDF producers
// limit the options to the above 'standard' styles, using PDFNet you
can generate
// arbitrary appearances.
Obj CreateCheckmarkAppearance(PDFDoc& doc, CheckStyle style)
{
// Create a checkmark appearance stream
------------------------------------
ElementBuilder build;
ElementWriter writer;
writer.Begin(doc);
writer.WriteElement(build.CreateTextBegin());

char symbol;
switch (style) {
  case e_circle: symbol = '\154'; break;
  case e_diamond: symbol = '\165'; break;
  case e_cross: symbol = '\65'; break;
  case e_square: symbol = '\156'; break;
  case e_star: symbol = '\110'; break;
  // ...
  // See section D.4 "ZapfDingbats Set and Encoding" in PDF Reference
Manual
  // (http://www.pdftron.com/downloads/PDFReference16.pdf) for the
complete
  // graphical map for ZapfDingbats font. Please note that all
character codes
  // are represented using the 'octal' notation.
  default: // e_check
   symbol = '\64';
}

Element checkmark = build.CreateTextRun(&symbol, 1, Font::Create(doc,
PDF::Font::e_zapf_dingbats), 1);
writer.WriteElement(checkmark);
writer.WriteElement(build.CreateTextEnd());

Obj stm = writer.End();
stm.PutRect("BBox", -0.2, -0.2, 1, 1); // Clip
stm.PutName("Subtype", "Form");
return stm;
}

Apart from minor language specific syntax differences the code is
essentially the same in C#, VB.NET, or JAVA.