📄 childfrm.h
字号:
//-----------------------------------------------------------------------------
// (c) 2002 by Basler Vision Technologies
// Section: Vision Components
// Project: BCAM
// $Header: ChildFrm.h, 6, 31.10.2002 15:02:26, Albrecht, M.$
//-----------------------------------------------------------------------------
/**
\file ChildFrm.h
\brief Interface of the CChildFrame class
*
* CChildFrame represents a MDI child windows.
*
* Each child frame has a child window, the image view. The image view is responsible
* for displaying the bitmaps grabbed by the associated camera objects.
*
*/
//-----------------------------------------------------------------------------
#if !defined(AFX_CHILDFRM_H__8C4B8AD3_7C21_11D5_920C_0090278E5E96__INCLUDED_)
#define AFX_CHILDFRM_H__8C4B8AD3_7C21_11D5_920C_0090278E5E96__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "resource.h"
#include "ImageView.h"
//------------------------------------------------------------------------------
// class CChildFrame
// Author:
// Date: 20.09.2002
//------------------------------------------------------------------------------
/**
* \brief CChildFrame represents a MDI child windows.
*
* Each MDI child window is associated with a certain camera object.
* Each child frame has a child window, the image view. The image view is responsible
* for displaying the bitmaps grabbed by the associated camera object.
*/
//------------------------------------------------------------------------------
class CChildFrame : public CMDIChildWindowImpl<CChildFrame>
{
public:
DECLARE_FRAME_WND_CLASS(NULL, IDR_MDICHILD)
CImageView m_View;
CChildFrame(CCameraManager& CameraManager, CMainFrame& MainFrame ) :
m_CameraManager(CameraManager),
m_View(CameraManager.GetCurrentDevice(), MainFrame)
{ }
virtual void OnFinalMessage(HWND /*hWnd*/)
{
if (m_hMenu != NULL)
::DestroyMenu(m_hMenu);
delete this;
}
BEGIN_MSG_MAP(CChildFrame)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
MESSAGE_HANDLER(WM_CHILDACTIVATE, OnChildActivate)
MESSAGE_HANDLER(WM_FORWARDMSG, OnForwardMsg)
MESSAGE_HANDLER(WM_CLOSE, OnClose)
MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
MESSAGE_HANDLER(WM_MDIACTIVATE, OnActivate)
CHAIN_MSG_MAP(CMDIChildWindowImpl<CChildFrame>)
END_MSG_MAP()
LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled)
{
m_hWndClient = m_View.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_CLIENTEDGE);
bHandled = FALSE;
return 1;
}
LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled)
{
if (m_hWndClient != NULL && ::IsWindow(m_hWndClient))
m_View.DestroyWindow();
bHandled = FALSE;
return 1;
}
LRESULT OnForwardMsg(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/)
{
LPMSG pMsg = (LPMSG)lParam;
if(CMDIChildWindowImpl<CChildFrame>::PreTranslateMessage(pMsg))
return TRUE;
return m_View.PreTranslateMessage(pMsg);
}
LRESULT OnChildActivate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled)
{
bHandled = FALSE;
if ( GetFocus() != m_View )
m_View.SetFocus();
return 0;
}
LRESULT OnClose(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& bHandled)
{
bHandled = FALSE;
m_View.SaveLayout();
m_CameraManager.MDIChildClosed(this);
return 0;
}
LRESULT OnActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if ( (HWND) lParam == m_hWnd )
{
ATLTRACE("OnActivate: %ld \n", wParam);
m_CameraManager.MDIChildActivated(this);
m_View.OnActivate( true );
}
if ( ( HWND ) wParam == m_hWnd )
{
m_View.OnActivate( false );
}
bHandled = false;
return 0;
}
private:
CCameraManager& m_CameraManager;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_CHILDFRM_H__8C4B8AD3_7C21_11D5_920C_0090278E5E96__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -