資源簡介
1、圖片在指定區域顯示、采用刷圖方式、可以隨指針拖動、放大 縮小、
2、文件路徑是通過參數傳遞的
3、程序中SHOW按鈕顯示圖片 BT1 BT2 沒有很好的代碼效果 測試使用
4、Imageshow.h和CPP 可以再其他工程中直接使用、前提引用CXimage的Lib庫
5、使用了CXimage的Lib庫 在項目屬性中配置下
6、可直接使用
代碼片段和文件信息
//?ImageShow.cpp?:?實現文件
//
#include?“stdafx.h“
#include?“ImageShow.h“
//?CImageShow
#define?BACK_CLORO_BLK?RGB(105105105)
IMPLEMENT_DYNAMIC(CImageShow?CWnd)
CImageShow::CImageShow(HWND?pParentWnd?/*?=?NULL?*/)
:?m_bIsLButtonDown(FALSE)
?m_DrowRc(0000)
?m_VisableRc(0000)
?m_ImRc(0000)
?m_pt(00)
{
}
CImageShow::~CImageShow()
{
}
BEGIN_MESSAGE_MAP(CImageShow?CWnd)
ON_WM_ERASEBKGND()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_MOUSEMOVE()
ON_WM_MOUSEWHEEL()
ON_WM_DESTROY()
END_MESSAGE_MAP()
//?CImageShow?消息處理程序
BOOL?CImageShow::CreateEx(CString?filepathDWORD?dwExstyle?LPCTSTR?lpszWindowName?DWORD?dwstyle?RECT?&rc?
??HWND?hWndParent?HMENU?nIDorHMenu?LPVOID?lpParam/*?=?NULL*/)
{
BOOL?bRt?=?CWnd::CreateEx(dwExstyleAfxRegisterWndClass(CS_CLASSDC)lpszWindowNamedwstyle
rc.leftrc.top(rc.right?-?rc.left)(rc.bottom-rc.top)hWndParentnIDorHMenulpParam);
//BOOL?bRt?=?CWnd::Create(_T(“Static“)?_T(“showWind“)?dwstyle?rc?CWnd::FromHandle(hWndParent)?88888);
if?(bRt)
{
m_VisableRc?=?rc;
GetClientRect(&m_DrowRc);
/*m_ImageBK.Load(_T(“F:\\ScanImage\\show\\004.jpg“));*/
m_ImageBK.Load(filepath);
}
return?bRt;
}
void?CImageShow::OnDestroy()
{
CWnd::OnDestroy();
}
void?CImageShow::OnLButtonDown(UINT?nFlags?CPoint?point)
{
if?(m_ImRc.PtInRect(point))?//?點擊點是否在圖片顯示區
{
SetFocus();
m_bIsLButtonDown?=?TRUE;
m_pt?=?point;
}?
else
{
return;
}
CWnd::OnLButtonDown(nFlagspoint);
}
void?CImageShow::OnLButtonUp(UINT?nFlags?CPoint?point)
{
m_bIsLButtonDown?=?FALSE;
CWnd::OnLButtonUp(nFlagspoint);
}
void?CImageShow::onmousemove(UINT?nFlags?CPoint?point)
{
if?(m_bIsLButtonDown)
{
SetFocus();
//移動量
int?move_x?=?point.x?-?m_pt.x;??
int?move_y?=?point.y?-?m_pt.y;
CRect?rc(m_ImRc);
//計算刷圖新區域
rc.left?+=?move_x;
rc.right?=?rc.left?+?m_ImRc.Width();
rc.top?+=?move_y;
rc.bottom?=?rc.top?+?m_ImRc.Height();
CDC?*pDC?=?GetDC();
m_ImageBK.Draw(pDC->GetSafeHdc()rc);
//計算新的需填充區域
if?(point.x?>?m_pt.x)
{
CRect?rcTemp(m_ImRc);
rcTemp.right?=?m_ImRc.left?+?move_x;
pDC->FillRect(&rcTemp?(CBrush*)&CBrush(BACK_CLORO_BLK));
}
else?if?(point.x? {
CRect?rcTemp(m_ImRc);
rcTemp.left?=?m_ImRc.right?+?move_x;
pDC->FillRect(&rcTemp?(CBrush*)&CBrush(BACK_CLORO_BLK));
}
if?(point.y?>?m_pt.y)
{
CRect?rcTemp(m_ImRc);
rcTemp.bottom?=?m_ImRc.top?+?move_y;
pDC->FillRect(&rcTemp?(CBrush*)&CBrush(BACK_CLORO_BLK));
}
else?if?(point.y? {
CRect?rcTemp(m_ImRc);
rcTemp.top?=?m_ImRc.bottom?+?move_y;
pDC->FillRect(&rcTemp?(CBrush*)&CBrush(BACK_CLORO_BLK));
}
m_ImRc?=?rc;
m_DrowRc?=?rc;
ReleaseDC(pDC);
}
m_pt.x?=?point.x;
m_pt.y?=?point.y;
CWnd::onmousemove(nFlagspoint);
}
BOOL?CImageShow::OnEraseBkgnd(CDC*?pDC)???//重繪?
{
if?(m_ImRc.Width())
{
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-11-14?10:34??PicShow\
?????目錄???????????0??2014-11-10?16:30??PicShow\CxImage\
?????文件????????2836??2008-01-29?21:32??PicShow\CxImage\xfile.h
?????文件????????2574??2004-06-27?19:31??PicShow\CxImage\ximabmp.h
?????文件????????1855??2008-01-28?23:05??PicShow\CxImage\ximacfg.h
?????文件????????4200??2008-01-29?00:00??PicShow\CxImage\ximadef.h
?????文件???????28464??2008-02-02?15:00??PicShow\CxImage\ximage.h
?????文件????????8034??2008-01-30?23:31??PicShow\CxImage\ximagif.h
?????文件????????1771??2007-12-28?22:43??PicShow\CxImage\ximaico.h
?????文件????????7135??2008-01-13?09:58??PicShow\CxImage\ximaiter.h
?????文件????????2622??2007-12-15?13:29??PicShow\CxImage\ximajas.h
?????文件????????1300??2007-11-01?10:06??PicShow\CxImage\ximajbg.h
?????文件????????9517??2008-01-28?22:57??PicShow\CxImage\ximajpg.h
?????文件????????2157??2007-12-28?22:42??PicShow\CxImage\ximamng.h
?????文件????????2166??2008-01-28?22:39??PicShow\CxImage\ximapcx.h
?????文件????????2380??2008-01-17?21:52??PicShow\CxImage\ximapng.h
?????文件????????3158??2007-12-17?20:35??PicShow\CxImage\ximaraw.h
?????文件????????1219??2007-09-25?20:07??PicShow\CxImage\ximaska.h
?????文件????????2104??2008-01-20?09:02??PicShow\CxImage\ximatga.h
?????文件?????????802??2004-06-01?22:05??PicShow\CxImage\ximath.h
?????文件????????2139??2007-11-01?10:06??PicShow\CxImage\ximatif.h
?????文件????????1424??2007-12-28?22:01??PicShow\CxImage\ximawbmp.h
?????文件????????4981??2008-01-28?23:46??PicShow\CxImage\ximawmf.h
?????文件????????2999??2007-12-15?14:44??PicShow\CxImage\xiofile.h
?????文件????????1000??2007-12-15?14:40??PicShow\CxImage\xmemfile.h
?????目錄???????????0??2014-11-12?09:41??PicShow\Debug\
?????文件?????1744896??2014-11-14?10:29??PicShow\Debug\PicShow.exe
?????文件????????5429??2014-11-12?09:41??PicShow\Debug\PicShow.exp
?????文件?????3464400??2014-11-14?10:29??PicShow\Debug\PicShow.ilk
?????文件????????9510??2014-11-12?09:41??PicShow\Debug\PicShow.lib
?????文件?????6097920??2014-11-14?10:29??PicShow\Debug\PicShow.pdb
............此處省略81個文件信息
評論
共有 條評論