Aspose::Words::Tables::PreferredWidth class
Contents
[
Hide
]PreferredWidth class
Represents a value and its unit of measure that is used to specify the preferred width of a table or a cell. To learn more, visit the Working with Tables documentation article.
class PreferredWidth : public System::Object
Methods
Method | Description |
---|---|
static Auto() | Returns an instance that represents the “preferred width is not specified” value. |
Equals(const System::SharedPtr<Aspose::Words::Tables::PreferredWidth>&) | Determines whether the specified PreferredWidth is equal in value to the current PreferredWidth. |
Equals(System::SharedPtr<System::Object>) override | Determines whether the specified object is equal in value to the current object. |
static FromPercent(double) | A creation method that returns a new instance that represents a preferred width specified as a percentage. |
static FromPoints(double) | A creation method that returns a new instance that represents a preferred width specified using a number of points. |
get_Type() const | Gets the unit of measure used for this preferred width value. |
get_Value() const | Gets the preferred width value. The unit of measure is specified in the Type property. |
GetHashCode() const override | Serves as a hash function for this type. |
GetType() const override | |
Is(const System::TypeInfo&) const override | |
ToString() const override | Returns a user-friendly string that displays the value of this object. |
static Type() |
Remarks
Preferred width can be specified as a percentage, number of points or a special “none/auto” value.
The instances of this class are immutable.
Examples
Shows how to set a table to auto fit to 50% of the width of the page.
auto doc = MakeObject<Document>();
auto builder = MakeObject<DocumentBuilder>(doc);
SharedPtr<Table> table = builder->StartTable();
builder->InsertCell();
builder->Write(u"Cell #1");
builder->InsertCell();
builder->Write(u"Cell #2");
builder->InsertCell();
builder->Write(u"Cell #3");
table->set_PreferredWidth(PreferredWidth::FromPercent(50));
doc->Save(ArtifactsDir + u"DocumentBuilder.InsertTableWithPreferredWidth.docx");
Shows how to set a preferred width for table cells.
auto doc = MakeObject<Document>();
auto builder = MakeObject<DocumentBuilder>(doc);
SharedPtr<Table> table = builder->StartTable();
// There are two ways of applying the "PreferredWidth" class to table cells.
// 1 - Set an absolute preferred width based on points:
builder->InsertCell();
builder->get_CellFormat()->set_PreferredWidth(PreferredWidth::FromPoints(40));
builder->get_CellFormat()->get_Shading()->set_BackgroundPatternColor(System::Drawing::Color::get_LightYellow());
builder->Writeln(String::Format(u"Cell with a width of {0}.", builder->get_CellFormat()->get_PreferredWidth()));
// 2 - Set a relative preferred width based on percent of the table's width:
builder->InsertCell();
builder->get_CellFormat()->set_PreferredWidth(PreferredWidth::FromPercent(20));
builder->get_CellFormat()->get_Shading()->set_BackgroundPatternColor(System::Drawing::Color::get_LightBlue());
builder->Writeln(String::Format(u"Cell with a width of {0}.", builder->get_CellFormat()->get_PreferredWidth()));
builder->InsertCell();
// A cell with no preferred width specified will take up the rest of the available space.
builder->get_CellFormat()->set_PreferredWidth(PreferredWidth::Auto());
// Each configuration of the "PreferredWidth" property creates a new object.
ASSERT_NE(System::ObjectExt::GetHashCode(table->get_FirstRow()->get_Cells()->idx_get(1)->get_CellFormat()->get_PreferredWidth()),
System::ObjectExt::GetHashCode(builder->get_CellFormat()->get_PreferredWidth()));
builder->get_CellFormat()->get_Shading()->set_BackgroundPatternColor(System::Drawing::Color::get_LightGreen());
builder->Writeln(u"Automatically sized cell.");
doc->Save(ArtifactsDir + u"DocumentBuilder.InsertCellsWithPreferredWidths.docx");
See Also
- Namespace Aspose::Words::Tables
- Library Aspose.Words for C++