www.gusucode.com > 一个VC++语法分析模块程序实例源码程序 > 一个VC++语法分析模块程序实例/CompileSys/CompileSys/IDE/OutBar.cpp

    // mybar.cpp : implementation file
// Download: http://www.codesc.net

#include "stdafx.h"
#include "OutBar.h"
#include "Resource.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// COutBar

COutBar::COutBar()
{
}

COutBar::~COutBar()
{
}


BEGIN_MESSAGE_MAP(COutBar, baseCOutBar)
    //{{AFX_MSG_MAP(COutBar)
    ON_WM_CREATE()
    ON_WM_SIZE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// COutBar message handlers

int COutBar::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
    if (baseCOutBar::OnCreate(lpCreateStruct) == -1)
        return -1;

	// define the style used by the controls.
	DWORD dwStyle = WS_CHILD | WS_VISIBLE | ES_MULTILINE | WS_VSCROLL | WS_HSCROLL
		| ES_WANTRETURN | WS_TABSTOP | ES_READONLY;

	// Create the hex edit control.
	if (!m_ColorRichEdit.CreateEx(WS_EX_CLIENTEDGE,_T("Edit"),NULL, 
		dwStyle,CRect(0,0,0,0), this,IDC_RICHEDIT))
	{
		TRACE(_T("Failed to create output window.\n"));
		return -1;
	}

	CFont *font = CFont::FromHandle((HFONT)::GetStockObject(DEFAULT_GUI_FONT));
	m_ColorRichEdit.SetFont(font);

    return 0;
}

void COutBar::OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler)
{
	baseCOutBar::OnUpdateCmdUI(pTarget, bDisableIfNoHndler);

	UpdateDialogControls(pTarget, bDisableIfNoHndler);
}

void COutBar::OnSize(UINT nType, int cx, int cy) 
{
    baseCOutBar::OnSize(nType, cx, cy);

    // TODO: Add your message handler code here
    CRect rc;
	GetClientRect(rc);

	if(IsFloating()) 
	{
		rc.DeflateRect(2,2);
	}

	if(m_ColorRichEdit.GetSafeHwnd( )) 
	{
		m_ColorRichEdit.MoveWindow(rc.left,rc.top,rc.Width(),rc.Height());
	}
}

void COutBar::SetColorRichEditText(CString str)
{
	m_ColorRichEdit.SetWindowText(str);
}

CString COutBar::GetColorRichEditText()
{
	CString str;

	m_ColorRichEdit.GetWindowText(str);

	return str;
}