本文整理汇总了C++中TextEntry::InvalidateLayout方法的典型用法代码示例。如果您正苦于以下问题:C++ TextEntry::InvalidateLayout方法的具体用法?C++ TextEntry::InvalidateLayout怎么用?C++ TextEntry::InvalidateLayout使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TextEntry
的用法示例。
在下文中一共展示了TextEntry::InvalidateLayout方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateArrayBlocks
void CSheet_Array::UpdateArrayBlocks( const int &dest_x, const int &dest_y )
{
int old_x, old_y;
old_x = old_y = 0;
char ***oldEntires = BuildStringSheet( old_x, old_y );
for ( int y = 0; y < old_y; y++ )
{
//for ( int x = 0; x < old_x; x++ )
m_hArray_Y_Major[y]->Purge();
delete m_hArray_Y_Major[y];
}
m_hArray_Y_Major.Purge();
int iCurItem = m_pArrayPanel->FirstItem();
while ( iCurItem != m_pArrayPanel->InvalidItemID() )
{
Panel *pA = m_pArrayPanel->GetItemLabel( iCurItem );
Panel *pB = m_pArrayPanel->GetItemPanel( iCurItem );
if ( pA != NULL )
pA->MarkForDeletion();
if ( pB != NULL )
pB->MarkForDeletion();
iCurItem = m_pArrayPanel->NextItem( iCurItem );
}
m_pArrayPanel->DeleteAllItems();
m_pArrayPanel->RemoveAll();
for ( int y = 0; y < dest_y; y++ )
{
CUtlVector< TextEntry* > *cur = new CUtlVector< TextEntry* >;
m_hArray_Y_Major.AddToTail( cur );
}
m_pArrayPanel->SetNumColumns( dest_y );
for ( int x = 0; x < dest_x; x++ )
{
for ( int y = 0; y < dest_y; y++ )
{
CUtlVector< TextEntry* > *cur = m_hArray_Y_Major[y];
TextEntry *pEntry = new TextEntry( m_pArrayPanel, "arrayslot" );
pEntry->AddActionSignalTarget( this );
cur->AddToTail( pEntry );
if ( x < old_x &&
y < old_y && oldEntires != NULL )
{
pEntry->SetText( oldEntires[x][y] );
}
else
pEntry->SetText( "0" );
Label *pHeader = NULL;
if ( y == 0 )
pHeader = new Label( m_pArrayPanel, "", VarArgs( "%i:", x ) );
m_pArrayPanel->AddItem( pHeader, pEntry );
pEntry->MakeReadyForUse();
pEntry->InvalidateLayout( true, true );
pEntry->SetBgColor( TOKENCHANNELS_SUPPORTED_COLOR );
}
}
m_pArrayPanel->SetFirstColumnWidth( 20 );
if ( oldEntires != NULL )
DestroyStringSheet( oldEntires, old_x, old_y );
}