資源簡介
使用VC6.0集成開發環境初步實現了基于圖片輪廓和圖片顏色直方圖的圖像檢索系統;對于給定的例子圖像,系統搜索指定目錄并根據與例子圖像的顏色直方圖或輪廓相似性程度數值按升序排列相符合的

代碼片段和文件信息
//?DirDialog.cpp:?implementation?of?the?CDirDialog?class.
//
//////////////////////////////////////////////////////////////////////
#include?“stdafx.h“
#include?“DirDialog.h“
#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif
//?Callback?function?called?by?SHBrowseForFolder‘s?browse?control
//?after?initialization?and?when?selection?changes
int?__stdcall?CDirDialog::BrowseCtrlCallback(HWND?hwnd?UINT?uMsg?LPARAM?lParam?LPARAM?lpData)
{
????CDirDialog*?pDirDialogObj?=?(CDirDialog*)lpData;
????if?(uMsg?==?BFFM_INITIALIZED?)
????{
????????if(?!?pDirDialogObj->m_strSelDir.IsEmpty()?)
????????????::SendMessage(hwnd?BFFM_SETSELECTION?TRUE?(LPARAM)(LPCTSTR)(pDirDialogObj->m_strSelDir));
????????if(?!?pDirDialogObj->m_strWindowtitle.IsEmpty()?)
????????????::SetWindowText(hwnd?(LPCTSTR)?pDirDialogObj->m_strWindowtitle);
????}
????else?if(?uMsg?==?BFFM_SELCHANGED?)
????{
????????LPITEMIDLIST?pidl?=?(LPITEMIDLIST)?lParam;
????????char?selection[MAX_PATH];
????????if(?!?::SHGetPathFromIDList(pidl?selection)?)
????????????selection[0]?=?‘\0‘;
????????CString?csStatusText;
????????BOOL?bOk?=?pDirDialogObj->SelChanged(selection?csStatusText);
????????if(?pDirDialogObj->m_bStatus?)
????????????::SendMessage(hwnd?BFFM_SETSTATUSTEXT??0?(LPARAM)(LPCSTR)csStatusText);
????????::SendMessage(hwnd?BFFM_ENABLEOK?0?bOk);
????}
??return?0;
}
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDirDialog::CDirDialog()
{
m_bStatus?=?FALSE;
}
CDirDialog::~CDirDialog()
{
}
BOOL?CDirDialog::DoBrowse(CWnd?*pwndParent)
{
????if(?!?m_strSelDir.IsEmpty()?)
????{
????????m_strSelDir.TrimRight();
????????if(?m_strSelDir.Right(1)?==?“\\“?||?m_strSelDir.Right(1)?==?“//“?)
????????????m_strSelDir?=?m_strSelDir.Left(m_strSelDir.GetLength()?-?1);
????}
????LPMALLOC?pMalloc;
????if?(SHGetMalloc?(&pMalloc)!=?NOERROR)
????????return?FALSE;
????BROWSEINFO?bInfo;
????LPITEMIDLIST?pidl;
????ZeroMemory?(?(PVOID)?&bInfosizeof?(BROWSEINFO));
????if?(!m_strInitDir.IsEmpty?())
????{
????????OLECHAR???????olePath[MAX_PATH];
????????ULONG?????????chEaten;
????????ULONG?????????dwAttributes;
????????HRESULT???????hr;
????????LPSHELLFOLDER?pDesktopFolder;
????????//
????????//?Get?a?pointer?to?the?Desktop‘s?IShellFolder?interface.
????????//
????????if?(SUCCEEDED(SHGetDesktopFolder(&pDesktopFolder)))
????????{
????????????//
????????????//?IShellFolder::ParseDisplayName?requires?the?file?name?be?in?Unicode.
????????????//
????????????MultiByteToWideChar(CP_ACP?MB_PRECOMPOSED?m_strInitDir.GetBuffer(MAX_PATH)?-1
????????????????????????????????olePath?MAX_PATH);
????????????m_strInitDir.ReleaseBuffer?(-1);
????????????//
????????????//?Convert?the?path?to?an?ITEMIDLIST.
????????????//
????????????hr?=?pDeskt
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4513??2013-04-27?14:10??retrieval_1\DirDialog.cpp
?????文件????????968??2013-04-27?14:08??retrieval_1\DirDialog.h
?????文件???????3669??2013-04-27?12:41??retrieval_1\ReadMe.txt
?????文件???????1078??2013-04-27?12:41??retrieval_1\res\retrieval_1.ico
?????文件????????403??2013-04-27?12:41??retrieval_1\res\retrieval_1.rc2
?????文件???????1471??2013-04-30?08:53??retrieval_1\resource.h
?????文件??????37588??2013-05-13?23:08??retrieval_1\retrieval_1.aps
?????文件???????2175??2013-05-14?14:01??retrieval_1\retrieval_1.clw
?????文件???????2100??2013-04-27?12:41??retrieval_1\retrieval_1.cpp
?????文件???????4460??2013-04-28?22:59??retrieval_1\retrieval_1.dsp
?????文件????????530??2013-04-27?12:41??retrieval_1\retrieval_1.dsw
?????文件???????1379??2013-04-27?12:41??retrieval_1\retrieval_1.h
?????文件??????66560??2013-05-14?14:01??retrieval_1\retrieval_1.ncb
?????文件??????54784??2013-05-14?14:01??retrieval_1\retrieval_1.opt
?????文件????????256??2013-05-14?14:00??retrieval_1\retrieval_1.plg
?????文件???????7195??2013-05-13?23:08??retrieval_1\retrieval_1.rc
?????文件??????17895??2013-05-14?13:55??retrieval_1\retrieval_1Dlg.cpp
?????文件???????2541??2013-05-14?13:46??retrieval_1\retrieval_1Dlg.h
?????文件????????213??2013-04-27?12:41??retrieval_1\StdAfx.cpp
?????文件????????999??2013-04-27?12:41??retrieval_1\StdAfx.h
?????文件???????4107??2013-04-27?18:27??retrieval_1\TokenEx.cpp
?????文件???????2261??2013-04-27?18:27??retrieval_1\TokenEx.h
?????目錄??????????0??2013-06-05?20:39??retrieval_1\res
?????目錄??????????0??2013-07-17?19:24??retrieval_1
-----------?---------??----------?-----??----
???????????????217145????????????????????24
- 上一篇:原創c++二叉樹抽象數據類型實現
- 下一篇:C語言編程規范個人規約
評論
共有 條評論