Ejemplo n.º 1
0
//---------------------------------------------------------------------------
void SetNewPageFromDLL(AnsiString DLLName)
{
 if (!FileExists(DLLName)) return;

 TPageControl *myPages=FormSelected->PageControlSelected;

 if (!Pages) CountPagesBefore=myPages->PageCount;

 TForm *Form;
 dllInstance = LoadLibrary(DLLName.c_str());

 if (!Pages) Pages = new TList();
 if (!dllInstances) dllInstances=new TList();
 dllInstances->Add(dllInstance);

 CreatePage = NULL;
 CreatePage = (TCreate *)GetProcAddress(dllInstance, "_CreatePage");
 GetTitlePage = (TGetTitle *)GetProcAddress(dllInstance, "_GetTitlePage");
 if (CreatePage)
 {
  Form = CreatePage(myPages->PageCount,FormSelected);
  Pages->Add(Form);
  Form->ManualDock(myPages, NULL, alClient);
  Form->Visible = true;
//  myPages->ActivePageIndex = myPages->PageCount - 1;
 }
 if (GetTitlePage)
   myPages->Pages[myPages->PageCount-1]->Caption=AnsiString(GetTitlePage());
}
Ejemplo n.º 2
0
ERTFToken PageInformation::Write (CRtfWriter* fp)
{
	CRtfWriter_NestingCheck _cfp(fp);

	//fp->fprintf(  "\n" );
 	if( m_iWidth != UNSPECIFIED_SHORT_VALUE )						fp->WriteTag("pgwsxn", m_iWidth );
 	if( m_iHeight != UNSPECIFIED_SHORT_VALUE )					fp->WriteTag("pghsxn", m_iHeight );
 	if( m_iMarginLeft != UNSPECIFIED_SHORT_VALUE )				fp->WriteTag("marglsxn", m_iMarginLeft );
 	if( m_iMarginRight != UNSPECIFIED_SHORT_VALUE )				fp->WriteTag("margrsxn", m_iMarginRight );
 	if( m_iMarginTop != UNSPECIFIED_SHORT_VALUE )					fp->WriteTag("margtsxn", m_iMarginTop );
 	if( m_iMarginBottom != UNSPECIFIED_SHORT_VALUE ) 				fp->WriteTag("margbsxn", m_iMarginBottom );
 	if( m_iGutter != UNSPECIFIED_SHORT_VALUE ) 					fp->WriteTag("guttersxn", m_iGutter );
 	if( m_iHeaderY != UNSPECIFIED_SHORT_VALUE )					fp->WriteTag("headery", m_iHeaderY );
 	if( m_iFooterY != UNSPECIFIED_SHORT_VALUE )					fp->WriteTag("footery", m_iFooterY );
	if (m_bPageNumberingSeen)
	{
 		if( m_bContinuousNumbering )			fp->WriteTag("pgncont" ); else fp->WriteTag("pgnrestart" );
	}
 	if( m_iFirstPageNumber > -1 )			fp->WriteTag("pgnstarts", m_iFirstPageNumber );
 	if( m_iPageNumberXOffset != UNSPECIFIED_SHORT_VALUE )			fp->WriteTag("pgnx", m_iPageNumberXOffset );
 	if( m_iPageNumberYOffset != UNSPECIFIED_SHORT_VALUE )			fp->WriteTag("pgny", m_iPageNumberYOffset );
 	if( m_iHeadingToShowWithPageNo > -1 )	fp->WriteTag("pgnhn", m_iHeadingToShowWithPageNo );
 	if( m_iTextFlow > -1 )					fp->WriteTag("stextflow", m_iTextFlow );
	
 	if( m_bSwitchMarginDefs )				fp->WriteTag("margmirsxn" );
 	if( m_bLandscape )						fp->WriteTag("lndscpsxn" );
 	if( GetTitlePage().IsTrue())
		fp->WriteTag("titlepg" );
	if (m_iSectLinePitch != UNSPECIFIED_SHORT_VALUE)	fp->WriteTag("sectlinegrid", m_iSectLinePitch );
 	if( m_bLeftToRightCols )				fp->WriteTag("ltrsect" );  else fp->WriteTag("rtlsect" );

	switch( m_Format )
	{
	case decimal:
 		fp->WriteTag("pgndec" );
		break;
	case uRoman:
 		fp->WriteTag("pgnucrm" );
		break;
	case lRoman:
 		fp->WriteTag("pgnlcrm" );
		break;
	case uAlpha:
 		fp->WriteTag("pgnucltr" );
		break;
	case lAlpha:
 		fp->WriteTag("pgnlcltr" );
		break;
	default:
		;
	}
	
	switch( m_HeadingAndPageSeparator )
	{
	case hyphen:
 		fp->WriteTag("pgnhnsh" );
		break;
	case period:
 		fp->WriteTag("pgnhnsp" );
		break;
	case colon:
 		fp->WriteTag("pgnhnsc" );
		break;
	case emdash:
 		fp->WriteTag("pgnhnsm" );
		break;
	case endash:
 		fp->WriteTag("pgnhnsn" );
		break;
	default:
		;
	}
	
	switch(	m_Alignment )
	{
	case vTop:
 		fp->WriteTag("vertalt" );
		break;
	case vCentre:
 		fp->WriteTag("vertalc" );
		break;
	case vBottom:
 		fp->WriteTag("vertalb" );
		break;
	case vJustify:
 		fp->WriteTag("vertalj" );
		break;
	default:
		;
	}
	the_PageBorders.Write( fp );
	// fp->EndGroup();

	return rtferr_OK;
}