⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resorgmdiframewnd.cpp

📁 ResOrg 图形化管理Vc项目的资源ID的工具的源代码。 ResOrg - Manage and Renumber Resource Symbol IDs Introduction The
💻 CPP
📖 第 1 页 / 共 2 页
字号:
								nWidth);

	m_wndStatusBar.SetPaneInfo(	m_wndStatusBar.CommandToIndex(ID_INDICATOR_NEXT_SYMBOLS),
								uID,
								eStyle,
								nWidth * 2);

	// The "Symbol Count" pane shows as white on a blue background, unless it's disabled
	m_wndStatusBar.SetFgColor(	m_wndStatusBar.CommandToIndex(ID_INDICATOR_SYM_COUNT),
								RGB(255, 255, 255),					// White
								::GetSysColor(COLOR_GRAYTEXT) );	// Dark Grey (usually)

	m_wndStatusBar.SetBkColor(	m_wndStatusBar.CommandToIndex(ID_INDICATOR_SYM_COUNT),
								RGB(0, 0, 128),						// Dark blue
								::GetSysColor(COLOR_3DFACE) );		// Grey (usually)

	m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);

	EnableDocking(CBRS_ALIGN_ANY);
	DockControlBar(&m_wndToolBar);

	// The only line of code you need to support 
	// TabbedMDI interface automatically
	//
	VERIFY(m_MTIClientWnd.Attach(this));

	return 0;
}


/******************************************************************************
 *	The framework calls this override as a signal that files have been dropped
 *	within the window
 *
 ******************************************************************************/

void CResOrgMDIFrameWnd::OnDropFiles(HDROP hDropInfo) 
{
	SetActiveWindow();							// Activate us first
	UINT uFiles = ::DragQueryFile(hDropInfo, (UINT)-1, NULL, 0);

	CStringArray arrayUnsuitableFiles;

	CWinApp* pApp = AfxGetApp();
	ASSERT(NULL != pApp);
	if (NULL != pApp)
	{
		for (UINT n = 0; n < uFiles; n++)
		{
			// Extract the name of the file
			TCHAR szFileName[_MAX_PATH];
			::DragQueryFile(hDropInfo, n, szFileName, _MAX_PATH);

			// Check to see if we can open it; if so proceed
			CNGSplitPath split(szFileName);
			if (0 == split.GetExtension().CompareNoCase( _T(".h") ) )
			{
				pApp->OpenDocumentFile(szFileName);
			}
			else
			{
				arrayUnsuitableFiles.Add(split.GetFileName() + split.GetExtension() );
			}
		}
	}
	if (arrayUnsuitableFiles.GetSize() > 0)
	{
		CString sMsg;
		sMsg.LoadString(IDP_RESORG_FILE_BAD_TYPE);

		for (int n = 0; n < arrayUnsuitableFiles.GetSize(); n++)
		{
			sMsg += _T("\t") + arrayUnsuitableFiles[n] + _T("\n");
		}
		AfxMessageBox(sMsg, MB_OK | MB_ICONSTOP);
	}
	::DragFinish(hDropInfo);
}


void CResOrgMDIFrameWnd::OnUpdateFileClose(CCmdUI* pCmdUI)
{
	CResOrgSymbolsDoc* pDoc = DYNAMIC_DOWNCAST(CResOrgSymbolsDoc, MDIGetActiveDocument());

	pCmdUI->Enable(NULL != pDoc);
}


void CResOrgMDIFrameWnd::OnUpdateSymbolCount(CCmdUI* pCmdUI)
{
	int nPane = m_wndStatusBar.CommandToIndex(ID_INDICATOR_SYM_COUNT);
	ASSERT(nPane >= 0);

	CResOrgSymbolsDoc* pDoc = DYNAMIC_DOWNCAST(CResOrgSymbolsDoc, MDIGetActiveDocument());
	if (pDoc != NULL)
	{
		CString sText;
		sText.Format(pCmdUI->m_nID, pDoc->GetSymbolBuffer()->GetSymbolCount() );

		m_wndStatusBar.SetMode(nPane, XSB_ICON_AND_TEXT);
		m_wndStatusBar.SetIconAndText(nPane, IDI_SYM_RESOURCE, sText);
		pCmdUI->Enable(TRUE);
	}
	else
	{
		m_wndStatusBar.SetMode(nPane, XSB_TEXT);
		m_wndStatusBar.SetText(nPane, _T(""), _T("") );

		pCmdUI->SetText( _T("") );
		pCmdUI->Enable(FALSE);
	}
}


void CResOrgMDIFrameWnd::OnUpdateProblemSymbolCount(CCmdUI* pCmdUI)
{
	int nPane = m_wndStatusBar.CommandToIndex(ID_INDICATOR_SYM_PROBLEMS);
	ASSERT(nPane >= 0);

	CResOrgSymbolsDoc* pDoc = DYNAMIC_DOWNCAST(CResOrgSymbolsDoc, MDIGetActiveDocument());
	if (pDoc != NULL)
	{
		int nProblemSymbols = pDoc->GetSymbolBuffer()->GetProblemSymbolCount();

		CString sText;
		sText.Format(pCmdUI->m_nID, nProblemSymbols);

		UINT uIconID = 0;
		if (nProblemSymbols > 0)
		{
			uIconID = IDI_SYM_WARNING;
			
			m_wndStatusBar.SetFgColor(nPane, RGB(255, 255, 0) );	// Yellow
			m_wndStatusBar.SetBkColor(nPane, RGB(255, 0, 0) );		// Red
		}
		else
		{
			uIconID = IDI_SYM_INFORMATION;

			m_wndStatusBar.SetFgColor(nPane, RGB(255, 255, 255) );	// White
			m_wndStatusBar.SetBkColor(nPane, RGB(0, 128, 0) );		// Dark Green
		}

		m_wndStatusBar.SetMode(nPane, XSB_ICON_AND_TEXT);
		m_wndStatusBar.SetIconAndText(nPane, uIconID, sText);
		pCmdUI->Enable(TRUE);
	}
	else
	{
		m_wndStatusBar.SetMode(nPane, XSB_TEXT);
		m_wndStatusBar.SetText(nPane, _T(""), _T("") );
		m_wndStatusBar.SetFgColor(nPane, ::GetSysColor(COLOR_GRAYTEXT) );	// Dark Grey (usually)
		m_wndStatusBar.SetBkColor(nPane, GetSysColor(COLOR_3DFACE) );

		pCmdUI->SetText( _T("") );
		pCmdUI->Enable(FALSE);
	}
}


void CResOrgMDIFrameWnd::OnUpdateNextSymbolIndicator(CCmdUI* pCmdUI)
{
	int nPane = m_wndStatusBar.CommandToIndex(ID_INDICATOR_NEXT_SYMBOLS);
	ASSERT(nPane >= 0);

	CResOrgSymbolsDoc* pDoc = DYNAMIC_DOWNCAST(CResOrgSymbolsDoc, MDIGetActiveDocument());
	if (pDoc != NULL)
	{
		CString sText;
	//	sText.Format(pCmdUI->m_nIDs);
		UINT uIconID = 0;

		if (pDoc->CheckNextSymbolValues(FALSE) )
		{
			uIconID = IDI_SYM_WARNING;
			
			sText = _T("Next Symbol values in use");

			m_wndStatusBar.SetFgColor(nPane, RGB(255, 255, 0) );	// Yellow
			m_wndStatusBar.SetBkColor(nPane, RGB(255, 0, 0) );		// Red
		}
		else
		{
			uIconID = IDI_SYM_INFORMATION;

			sText = _T("Next Symbol Values OK");

			m_wndStatusBar.SetFgColor(nPane, RGB(255, 255, 255) );	// White
			m_wndStatusBar.SetBkColor(nPane, RGB(0, 128, 0) );		// Dark Green
		}

		m_wndStatusBar.SetMode(nPane, XSB_ICON_AND_TEXT);
		m_wndStatusBar.SetIconAndText(nPane, uIconID, sText);
		pCmdUI->Enable(TRUE);
	}
	else
	{
		m_wndStatusBar.SetMode(nPane, XSB_TEXT);
		m_wndStatusBar.SetText(nPane, _T(""), _T("") );
		m_wndStatusBar.SetFgColor(nPane, ::GetSysColor(COLOR_GRAYTEXT) );	// Dark Grey (usually)
		m_wndStatusBar.SetBkColor(nPane, GetSysColor(COLOR_3DFACE) );

		pCmdUI->SetText( _T("") );
		pCmdUI->Enable(FALSE);
	}
}


LRESULT CResOrgMDIFrameWnd::OnMsgToolBarTextOptionChanged(WPARAM wParam, LPARAM lParam)
{
	UNREFERENCED_PARAMETER(wParam);
	UNREFERENCED_PARAMETER(lParam);

	m_wndToolBar.ShowLabels( Options.ShowTextOnToolbars() );

	RecalcLayout();

	return LRESULT(0);
}


LRESULT CResOrgMDIFrameWnd::OnMsgXpStyleMenuOptionChanged(WPARAM wParam, LPARAM lParam)
{
	UNREFERENCED_PARAMETER(wParam);
	UNREFERENCED_PARAMETER(lParam);

	CCJMenu::SetMenuDrawMode(Options.UseXpStyleMenus() ? CCJMenu_DRAWMODE_XP : CCJMenu_DRAWMODE_ORIGINAL);

	return LRESULT(0);
}


void CResOrgMDIFrameWnd::OnLButtonDblClk(UINT nFlags, CPoint point)
{
	CDocument* pDoc = MDIGetActiveDocument();

	if (NULL != pDoc)
	{
		int nPane = m_wndStatusBar.GetPaneAtPosition(point);
		if (nPane > 0)
		{
			UINT uID	= 0;
			UINT uStyle	= 0;
			int nWidth	= 0;

			m_wndStatusBar.GetPaneInfo(nPane, uID, uStyle, nWidth);

			switch (uID)
			{
				case ID_INDICATOR_SYM_COUNT:
					PostMessage(WM_COMMAND, ID_FILE_PROPERTIES_STATISTICS);
					break;

				case ID_INDICATOR_SYM_PROBLEMS:
					PostMessage(WM_COMMAND, ID_SYM_PROBLEM_NEXT);
					break;

				case ID_INDICATOR_NEXT_SYMBOLS:
					PostMessage(WM_COMMAND, ID_FILE_PROPERTIES_NEXT_SYMBOLS);
					break;

				default:
					break;
			}
		}
	}
	CResOrgMDIFrameWnd_BASE::OnLButtonDblClk(nFlags, point);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -