Originally Posted by stotterer09
LP_FRAMEDESC TCMLParser::LoadFRAME( FILE *pFILE)
{
LP_FRAMEDESC pFRAME = new FRAMEDESC();
LP_FRAMEDESC *pNEXT = NULL;
char pBUF[MAX_TCML_SYMBOL];
DWORD dwID = 0;
int nCount = 0;
fread( &pFRAME->m_vCOMP.m_dwID, sizeof(DWORD), 1, pFILE);
fread( &pFRAME->m_vCOMP.m_bType, sizeof(BYTE), 1, pFILE);
fread( pFRAME->m_vCOMP.m_vMENU, sizeof(DWORD), TCML_MENU_COUNT, pFILE);
fread( pFRAME->m_vCOMP.m_dwImageID, sizeof(DWORD), 2, pFILE);
fread( &pFRAME->m_vCOMP.m_dwTooltipID, sizeof(DWORD), 1, pFILE);
fread( &pFRAME->m_vCOMP.m_dwFontID, sizeof(DWORD), 1, pFILE);
fread( &pFRAME->m_vCOMP.m_dwStyle, sizeof(DWORD), 1, pFILE);
fread( &pFRAME->m_vCOMP.m_dwCOLOR, sizeof(DWORD), 1, pFILE);
fread( &pFRAME->m_vCOMP.m_dwSND, sizeof(DWORD), 1, pFILE);
fread( &pFRAME->m_vCOMP.m_nMargineH, sizeof(int), 1, pFILE);
fread( &pFRAME->m_vCOMP.m_nMargineV, sizeof(int), 1, pFILE);
fread( &pFRAME->m_vCOMP.m_nPosX, sizeof(int), 1, pFILE);
fread( &pFRAME->m_vCOMP.m_nPosY, sizeof(int), 1, pFILE);
fread( &pFRAME->m_vCOMP.m_nWidth, sizeof(int), 1, pFILE);
fread( &pFRAME->m_vCOMP.m_nHeight, sizeof(int), 1, pFILE);
fread( &pFRAME->m_vCOMP.m_bDisplay, sizeof(BYTE), 1, pFILE);
fread( &pFRAME->m_vCOMP.m_bAlign, sizeof(BYTE), 1, pFILE);
fread( &pFRAME->m_vCOMP.m_vEX, sizeof(TSATR), 1, pFILE);
fread( &nCount, sizeof(int), 1, pFILE);
if( nCount > 0 )
{
fread( pBUF, sizeof(char), nCount, pFILE);
pBUF[nCount] = '\0';
pFRAME->m_vCOMP.m_strTooltip.Format( "%s", pBUF);
}
fread( &nCount, sizeof(int), 1, pFILE);
if( nCount > 0 )
{
fread( pBUF, sizeof(char), nCount, pFILE);
pBUF[nCount] = '\0';
pFRAME->m_vCOMP.m_strText.Format( "%s", pBUF);
}
fread( &nCount, sizeof(int), 1, pFILE);
pNEXT = &pFRAME->m_pCHILD;
for( int i=0; i<nCount; i++)
{
(*pNEXT) = LoadFRAME(pFILE);
pNEXT = &(*pNEXT)->m_pNEXT;
}
return pFRAME;
}
|