Datasheet::Create
Create
Description
Create a worksheet from the special template
Create a worksheet from the special template
Syntax
BOOL Create( LPCSTR lpcszTemplate = NULL, int nOption = CREATE_VISIBLE )
BOOL Create( LPCSTR lpcszTemplate, LPCSTR lpcszSheetName, int nOption = CREATE_VISIBLE )
Parameters
- lpcszTemplate
- [input] The template file name, "" or NULL to use a default template and "0"
- to create without template. Its default value is NULL.
- nOption
- [input] Template and visibility options from enum properties CREATE_TEMP etc (OC_const.h).
- Its default value is CREATE_VISIBLE.
- lpcszTemplate
- [input] The template file name, "" or NULL to use a default template and "0" to create without template
- lpcszSheetName
- [input] The named sheet to load existing in a multisheet template, or NULL or "" to load the first sheet in a multisheet template
- nOption
- [input] Template and visibility options from enum properties CREATE_TEMP etc.(OC_const.h).
- Its default value is CREATE_VISIBLE.
Return
TRUE for success, otherwise FALSE.
TRUE for success, otherwise FALSE.
Examples
EX1
int Datasheet_Create_Ex1()
{
Worksheet wks;
if( wks.Create("FFT", CREATE_VISIBLE_SAME) )
printf("New worksheet %s with FFT template is created\n", wks.GetPage().GetName());
Worksheet wksNew;
if(wksNew.Create()) //create with default template
printf("New worksheet %s with default template is created\n", wksNew.GetPage().GetName());
Worksheet wksNoTemplate;
if(wksNoTemplate.Create("0", CREATE_HIDDEN))
printf("New hidden worksheet %s without template is created\n", wksNoTemplate.GetPage().GetName());
MatrixLayer mat;
if(mat.Create(NULL, CREATE_HIDDEN)) //create with default template
printf("Hidden matrix %s of %d columns by %d rows is created\n", mat.GetPage().GetName(), mat.GetNumCols(), mat.GetNumRows());
return 0;
}
EX2
// the following example make use of the new CREATE_NO_DEFAULT_TEMPLATE flag introduced for Origin8
int Datasheet_Create_Ex2(BOOL bNoDefaultTemplate = TRUE)
{
DWORD dwCntrl = CREATE_VISIBLE; // Page should be visible
if(bNoDefaultTemplate)
dwCntrl |= CREATE_NO_DEFAULT_TEMPLATE;
Worksheet wks;
BOOL bResult;
string strTemplateName = "bogus_name_that_origin_will_not_find.otw";
if(bResult = wks.Create(strTemplateName, dwCntrl))
{
if(bNoDefaultTemplate)
printf("Worksheet %s created from template %s\n", wks.GetPage().GetName(), strTemplateName);
else
printf("Worksheet %s created.\nNot sure if specified template [%s] was used though, as it may be missing and default was substituded\n", wks.GetPage().GetName(), strTemplateName);
}
if( !bResult && bNoDefaultTemplate )
printf("Template [%s] not found, cannot ceate worksheet\n", strTemplateName);
return (int) bResult;
}
EX3
//Rename the specified created worksheet with new name.
void Datasheet_Creat_Ex3()
{
Worksheet wks;
bool bRet = wks.Create("FFT.otw","Sheet1");
if(bRet)
wks.SetName("Data1");
}
Remark
Create a new worksheet or matrix using the supplied template and attach it to the object.
Supports selection of a specified layer from multi-layered template with lpcszSheetName. Please note that CREATE_KEEP_LAYER_NAMES
is enforced if lpcszSheetName is specified
See Also
Worksheet::CreateCopy
header to Include
origin.h
|