예제 #1
0
void CControlState::Load( CEditX *pCtrl )
{
   if ( !pCtrl )
      return;
   ASSERT( IsWindow( pCtrl->m_hWnd ) );
   CEdit *pEdit = pCtrl->m_pEdit;
   if ( !pEdit )
      return;

   CBuffer *pBuff = pEdit->GetBuffer();

   m_bColorSyntax = pEdit->m_bColorSyntax;
   m_bAllowHSplit = pEdit->m_bAllowHSplit;
   m_bAllowVSplit = pEdit->m_bAllowVSplit;
   m_bHScroll = (BYTE)pEdit->ShowHScrollBar();
   m_bVScroll = (BYTE)pEdit->ShowVScrollBar();
   m_bSmoothScroll = pEdit->m_bSmoothScroll;
   m_bLineToolTips = pEdit->m_bLineToolTips;
   m_bShowLeftMargin = pEdit->m_bShowLeftMargin;
   m_bAllowColumnSel = pEdit->m_bAllowColumnSel;
   m_bAllowDragDrop = pEdit->m_bAllowDragDrop;
   m_bExpandTabs = pEdit->m_bExpandTabs;
   m_xPosHSplitter = pEdit->m_xPosHSplitter;
   m_yPosVSplitter = pEdit->m_yPosVSplitter;
   m_eIndentStyle = pEdit->m_eIndentStyle;
   m_nTabSize = (WORD)pBuff->GetTabSize();
   m_bDisplayWhitespace = pEdit->m_bDisplayWhitespace;
   m_bWantCarriageReturn = pBuff->WantCarriageReturn();
   m_bEnabled = IsWindowEnabled( pEdit->m_hWnd );
   m_bGlobalProps = pEdit->m_bGlobalProps;
    m_bModified = pBuff->IsModified();
    m_bOverType = pEdit->m_bOverType;
    m_bReadOnly = pBuff->IsReadOnly();
    m_bPreserveCase = pEdit->g_FindReplaceData.m_bPreserveCase;
    m_bCaseSensitiveSearch = pEdit->g_FindReplaceData.m_bCaseSensitiveSearch;
    m_bWholeWordOnly = pEdit->g_FindReplaceData.m_bWholeWordOnly;
    m_bRegExp = pEdit->g_FindReplaceData.m_bRegExp;
    m_nMaxUndo = pBuff->GetMaxUndo();
   m_Colors = pEdit->m_Colors;
   m_FontStyles = pEdit->m_FontStyles;
   m_bSelBounds = pEdit->m_bSelBounds;
   m_bHideSel = pEdit->m_bHideSel;
   m_bNormalizeCase = pEdit->m_Buffer.NormalizeCase();
   m_LineNum = pEdit->m_LineNum;
   m_bOvertypeCaret = pEdit->m_bOvertypeCaret;
   m_nHighlightedLine = pEdit->m_nHighlightedLine;
   m_dwBorderStyle = CM_GetBorderStyle( pCtrl->m_hWnd );
   m_bStealKeys = pCtrl->m_bStealKeys;

   HFONT hFont = ( HFONT ) SendMessage( pCtrl->m_hWnd, WM_GETFONT, 0, 0 );
   int cbSize = GetObject( hFont, sizeof( LOGFONT ), NULL );
   VERIFY( GetObject( hFont, cbSize, &m_lf ) );
      pCtrl->get_Text( &m_bstrText );
      pCtrl->get_Language( &m_bstrLang );
}