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;
}