78 lines
1.7 KiB
C++
78 lines
1.7 KiB
C++
#ifndef _PREVIEW_H
|
|
#define _PREVIEW_H
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
// Preview.h : header file
|
|
//
|
|
|
|
#define PREVIEW_SELECT_OFFSET 1
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CRectTrackerEx
|
|
|
|
class CRectTrackerEx : public CRectTracker
|
|
{
|
|
public :
|
|
void SetClippingWindow(CRect Rect);
|
|
protected:
|
|
CRect m_rectClippingWindow;
|
|
virtual void AdjustRect( int nHandle, LPRECT lpRect );
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CPreview window
|
|
|
|
class CPreview : public CWnd
|
|
{
|
|
// Construction
|
|
public:
|
|
void SetHBITMAP(HBITMAP hBitmap);
|
|
void PaintHBITMAPToDC();
|
|
void ScaleBitmapToDC(HDC hDC, HDC hDCM, LPRECT lpDCRect, LPRECT lpDIBRect);
|
|
|
|
void ScreenRectToClientRect(HWND hWnd,LPRECT pRect);
|
|
|
|
CRectTrackerEx m_RectTracker;
|
|
CPreview();
|
|
|
|
// Attributes
|
|
public:
|
|
|
|
// Operations
|
|
public:
|
|
void GetSelectionRect(RECT *pRect);
|
|
void SetSelectionRect(RECT *pRect);
|
|
|
|
void InvalidateSelectionRect();
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CPreview)
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
public:
|
|
void SetPreviewRect(CRect Rect);
|
|
virtual ~CPreview();
|
|
|
|
// Generated message map functions
|
|
protected:
|
|
HBITMAP m_hBitmap;
|
|
CRect m_PreviewRect;
|
|
//{{AFX_MSG(CPreview)
|
|
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
|
|
afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
|
|
afx_msg void OnPaint();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif
|