|  | @@ -50,6 +50,7 @@ BEGIN_MESSAGE_MAP(CMainFrame, CFrameWndEx)
 | 
	
		
			
				|  |  |  	ON_COMMAND(ID_TRAYMENU_EXIT, &CMainFrame::OnTraymenuExit)
 | 
	
		
			
				|  |  |  	ON_MESSAGE(MSG_STATUS_BAR, &CMainFrame::OnMsgStatusBar)
 | 
	
		
			
				|  |  |  	ON_WM_CLOSE()
 | 
	
		
			
				|  |  | +	ON_WM_GETMINMAXINFO()
 | 
	
		
			
				|  |  |  END_MESSAGE_MAP()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // CMainFrame 构造/析构
 | 
	
	
		
			
				|  | @@ -224,13 +225,20 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
 | 
	
		
			
				|  |  |  		return -1;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +#if __FC_WIN__
 | 
	
		
			
				|  |  |  	m_wndFileView.EnableDocking(CBRS_ALIGN_ANY);
 | 
	
		
			
				|  |  |  	m_wndClassView.EnableDocking(CBRS_ALIGN_ANY);
 | 
	
		
			
				|  |  |  	DockPane(&m_wndFileView);
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  | +#if __FC_WIN__
 | 
	
		
			
				|  |  |  	CDockablePane* pTabbedBar = nullptr;
 | 
	
		
			
				|  |  |  	m_wndClassView.AttachToTabWnd(&m_wndFileView, DM_SHOW, TRUE, &pTabbedBar);
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#if __OUT_PUT_WIN__
 | 
	
		
			
				|  |  |  	m_wndOutput.EnableDocking(CBRS_ALIGN_ANY);
 | 
	
		
			
				|  |  |  	DockPane(&m_wndOutput);
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  |  	m_wndIRControl.EnableDocking(CBRS_ALIGN_ANY);
 | 
	
		
			
				|  |  |  	DockPane(&m_wndIRControl);
 | 
	
		
			
				|  |  |  #endif
 | 
	
	
		
			
				|  | @@ -249,7 +257,8 @@ BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
 | 
	
		
			
				|  |  |  	//  CREATESTRUCT cs 来修改窗口类或样式
 | 
	
		
			
				|  |  |  	//不把子框架标题添加到主框架标题(主框架中就不会再处理WM_SETTEXT消息)
 | 
	
		
			
				|  |  |  	cs.style &= ~FWS_ADDTOTITLE;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +	cs.cx = 640;
 | 
	
		
			
				|  |  | +	cs.cy = 480;
 | 
	
		
			
				|  |  |  	return TRUE;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -258,6 +267,7 @@ BOOL CMainFrame::CreateDockingWindows()
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |  	BOOL bNameValid;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +#if __FC_WIN__
 | 
	
		
			
				|  |  |  	// 创建类视图
 | 
	
		
			
				|  |  |  	CString strClassView;
 | 
	
		
			
				|  |  |  	bNameValid = strClassView.LoadString(IDS_CLASS_VIEW);
 | 
	
	
		
			
				|  | @@ -277,7 +287,9 @@ BOOL CMainFrame::CreateDockingWindows()
 | 
	
		
			
				|  |  |  		TRACE0("未能创建“文件视图”窗口\n");
 | 
	
		
			
				|  |  |  		return FALSE; // 未能创建
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +#if __OUT_PUT_WIN__
 | 
	
		
			
				|  |  |  	// 创建输出窗口
 | 
	
		
			
				|  |  |  	CString strOutputWnd;
 | 
	
		
			
				|  |  |  	bNameValid = strOutputWnd.LoadString(IDS_OUTPUT_WND);
 | 
	
	
		
			
				|  | @@ -287,11 +299,12 @@ BOOL CMainFrame::CreateDockingWindows()
 | 
	
		
			
				|  |  |  		TRACE0("未能创建输出窗口\n");
 | 
	
		
			
				|  |  |  		return FALSE; // 未能创建
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	// 创建遥控器窗口
 | 
	
		
			
				|  |  |  	CString strPropertiesWnd = _T("遥控器");
 | 
	
		
			
				|  |  | -	if (!m_wndIRControl.Create(strPropertiesWnd, this, CRect(0, 0, 350, 200), TRUE, ID_VIEW_PROPERTIESWND, 
 | 
	
		
			
				|  |  | -		WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_RIGHT | CBRS_FLOAT_MULTI , AFX_CBRS_REGULAR_TABS, AFX_CBRS_RESIZE))
 | 
	
		
			
				|  |  | +	if (!m_wndIRControl.Create(strPropertiesWnd, this, CRect(0, 0, 332, 350), TRUE, ID_VIEW_PROPERTIESWND, 
 | 
	
		
			
				|  |  | +		WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_RIGHT | CBRS_FLOAT_MULTI ))
 | 
	
		
			
				|  |  |  	{
 | 
	
		
			
				|  |  |  		TRACE0("未能创建“遥控器”窗口\n");
 | 
	
		
			
				|  |  |  		return FALSE; // 未能创建
 | 
	
	
		
			
				|  | @@ -303,14 +316,18 @@ BOOL CMainFrame::CreateDockingWindows()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  void CMainFrame::SetDockingWindowIcons(BOOL bHiColorIcons)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | +#if __FC_WIN__
 | 
	
		
			
				|  |  |  	HICON hFileViewIcon = (HICON) ::LoadImage(::AfxGetResourceHandle(), MAKEINTRESOURCE(bHiColorIcons ? IDI_FILE_VIEW_HC : IDI_FILE_VIEW), IMAGE_ICON, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON), 0);
 | 
	
		
			
				|  |  |  	m_wndFileView.SetIcon(hFileViewIcon, FALSE);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	HICON hClassViewIcon = (HICON) ::LoadImage(::AfxGetResourceHandle(), MAKEINTRESOURCE(bHiColorIcons ? IDI_CLASS_VIEW_HC : IDI_CLASS_VIEW), IMAGE_ICON, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON), 0);
 | 
	
		
			
				|  |  |  	m_wndClassView.SetIcon(hClassViewIcon, FALSE);
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +#if __OUT_PUT_WIN__
 | 
	
		
			
				|  |  |  	HICON hOutputBarIcon = (HICON) ::LoadImage(::AfxGetResourceHandle(), MAKEINTRESOURCE(bHiColorIcons ? IDI_OUTPUT_WND_HC : IDI_OUTPUT_WND), IMAGE_ICON, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON), 0);
 | 
	
		
			
				|  |  |  	m_wndOutput.SetIcon(hOutputBarIcon, FALSE);
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	HICON hPropertiesBarIcon = (HICON) ::LoadImage(::AfxGetResourceHandle(), MAKEINTRESOURCE(bHiColorIcons ? IDI_PROPERTIES_WND_HC : IDI_PROPERTIES_WND), IMAGE_ICON, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON), 0);
 | 
	
		
			
				|  |  |  	m_wndIRControl.SetIcon(hPropertiesBarIcon, FALSE);
 | 
	
	
		
			
				|  | @@ -506,7 +523,9 @@ void CMainFrame::OnApplicationLook(UINT id)
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #if __DOCKINGBAR__
 | 
	
		
			
				|  |  | +#if __OUT_PUT_WIN__
 | 
	
		
			
				|  |  |  	m_wndOutput.UpdateFonts();
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	RedrawWindow(nullptr, nullptr, RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_UPDATENOW | RDW_FRAME | RDW_ERASE);
 | 
	
	
		
			
				|  | @@ -569,8 +588,10 @@ void CMainFrame::OnSettingChange(UINT uFlags, LPCTSTR lpszSection)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |  	CFrameWndEx::OnSettingChange(uFlags, lpszSection);
 | 
	
		
			
				|  |  |  #if __DOCKINGBAR__
 | 
	
		
			
				|  |  | +#if __OUT_PUT_WIN__
 | 
	
		
			
				|  |  |  	m_wndOutput.UpdateFonts();
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  LRESULT CMainFrame::OnMsgStatusBar(WPARAM wParam, LPARAM lParam)
 | 
	
	
		
			
				|  | @@ -631,3 +652,13 @@ void CMainFrame::OnClose()
 | 
	
		
			
				|  |  |  	CFrameWnd::OnClose();
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	// TODO: 在此添加消息处理程序代码和/或调用默认值
 | 
	
		
			
				|  |  | +	lpMMI->ptMinTrackSize.x = 640;
 | 
	
		
			
				|  |  | +	lpMMI->ptMinTrackSize.y = 480;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	CFrameWndEx::OnGetMinMaxInfo(lpMMI);
 | 
	
		
			
				|  |  | +}
 |