www.gusucode.com > 马走日棋盘搜索算法C++源码程序 > 马走日棋盘搜索算法/ChessDisplay/ChessDisplay/MainFrm.cpp
// MainFrm.cpp : implementation of the CMainFrame class // #include "stdafx.h" #include "ChessDisplay.h" #include "MainFrm.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CMainFrame IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd) BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) //{{AFX_MSG_MAP(CMainFrame) ON_WM_CREATE() //}}AFX_MSG_MAP END_MESSAGE_MAP() //=========================================================== static UINT indicators[] = { ID_SEPARATOR, ID_SEARCHED_TIMES,//搜索次数; ID_INDICATOR_CAPS, ID_INDICATOR_NUM, }; ///////////////////////////////////////////////////////////////////////////// // CMainFrame construction/destruction CMainFrame::CMainFrame() { // TODO: add member initialization code here } CMainFrame::~CMainFrame() { } BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs return TRUE; } ///////////////////////////////////////////////////////////////////////////// // CMainFrame diagnostics #ifdef _DEBUG void CMainFrame::AssertValid() const { CFrameWnd::AssertValid(); } void CMainFrame::Dump(CDumpContext& dc) const { CFrameWnd::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CMainFrame message handlers int CMainFrame::CreateStatusBar() { //状态条 if( !m_wndStatusBar.Create( this ) || ! m_wndStatusBar.SetIndicators( indicators,sizeof( indicators )/sizeof(UINT))) { TRACE0( "Failed to create status bar\n"); return -1; } CPoint point( 0 , 0 ); UpdateStatusBar( 0 ); return 1; } int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code here CreateStatusBar(); return 0; } void CMainFrame::UpdateStatusBar( int searchTimes ) { CString times; BOOL bPM = TRUE; times.Format( _T("搜索解空间大小 : %d") , searchTimes ); UINT nID ; UINT nStyle; int nWidth ; int nIndexSearTimes; nIndexSearTimes = m_wndStatusBar.CommandToIndex( ID_SEARCHED_TIMES); CClientDC dc(&m_wndStatusBar); CFont* pOldFont = dc.SelectObject( m_wndStatusBar.GetFont()); CSize szExtentSearchTimes = dc.GetTextExtent( times , times.GetLength() ); dc.SelectObject( pOldFont ); m_wndStatusBar.GetPaneInfo( nIndexSearTimes , nID , nStyle , nWidth ); m_wndStatusBar.SetPaneInfo( nIndexSearTimes , nID , nStyle ,szExtentSearchTimes.cx ); m_wndStatusBar.SetPaneText( nIndexSearTimes , times ); }