www.pudn.com > UltraSound.rar > ImageListCtrl.cpp


// ImageListCtrl.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "UltraSound.h" 
#include "ImageListCtrl.h" 
 
#include "MainFrm.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
extern CMapStringToString g_map; 
///////////////////////////////////////////////////////////////////////////// 
// CImageListCtrl 
 
CImageListCtrl::CImageListCtrl() 
{ 
} 
 
CImageListCtrl::~CImageListCtrl() 
{ 
} 
 
 
BEGIN_MESSAGE_MAP(CImageListCtrl, CListCtrl) 
	//{{AFX_MSG_MAP(CImageListCtrl) 
	ON_NOTIFY_REFLECT(NM_DBLCLK, OnDblclk) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CImageListCtrl message handlers 
 
void CImageListCtrl::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)  
{ 
	// TODO: Add your control notification handler code here 
 
	CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd(); 
	CImageListCtrl* pList = pFrame->GetWorkSpace()->GetList(); 
 
	DWORD pos = GetMessagePos();  
    CPoint pt(LOWORD(pos), HIWORD(pos)); 
    pList->ScreenToClient(&pt); 
 
	UINT uFlags=0;  
	int hItemht = pList->HitTest(pt,&uFlags); 
 
	CString str = pList->GetItemText(hItemht,0); 
 
	int count = pList->GetItemCount(); 
	CString name; 
	g_map.Lookup(str,name); 
 
	IplImage* img; 
	img = cvLoadImage(name,-1); 
	cvNamedWindow( str, 1 ); // creation of a visualisation window 
	cvShowImage( str, img ); // image visualisation 
     
	unsigned char ar[960]; 
	for(int i=0;i<320*3;i++) 
	{ 
		ar[i] = *(img->imageData + i + 122*360*3); 
	} 
	 
	*pResult = 0; 
 
}