3 #ifndef __WINDOWS_SHELL_H
\r
4 #define __WINDOWS_SHELL_H
\r
9 #include "Common/MyString.h"
\r
10 #include "Windows/Defs.h"
\r
15 /////////////////////////
\r
21 LPITEMIDLIST m_Object;
\r
23 CItemIDList(): m_Object(NULL) {}
\r
24 // CItemIDList(LPCITEMIDLIST itemIDList);
\r
25 // CItemIDList(const CItemIDList& itemIDList);
\r
26 ~CItemIDList() { Free(); }
\r
28 void Attach(LPITEMIDLIST object)
\r
33 LPITEMIDLIST Detach()
\r
35 LPITEMIDLIST object = m_Object;
\r
39 operator LPITEMIDLIST() { return m_Object;}
\r
40 operator LPCITEMIDLIST() const { return m_Object;}
\r
41 LPITEMIDLIST* operator&() { return &m_Object; }
\r
42 LPITEMIDLIST operator->() { return m_Object; }
\r
44 // CItemIDList& operator=(LPCITEMIDLIST object);
\r
45 // CItemIDList& operator=(const CItemIDList &object);
\r
48 /////////////////////////////
\r
54 bool m_MustBeFinished;
\r
58 CDrop(bool mustBeFinished) : m_MustBeFinished(mustBeFinished), m_Assigned(false) {}
\r
59 ~CDrop() { Free(); }
\r
61 void Attach(HDROP object);
\r
62 operator HDROP() { return m_Object;}
\r
63 bool QueryPoint(LPPOINT point)
\r
64 { return BOOLToBool(::DragQueryPoint(m_Object, point)); }
\r
65 void Finish() { ::DragFinish(m_Object); }
\r
66 UINT QueryFile(UINT fileIndex, LPTSTR fileName, UINT fileNameSize)
\r
67 { return ::DragQueryFile(m_Object, fileIndex, fileName, fileNameSize); }
\r
69 UINT QueryFile(UINT fileIndex, LPWSTR fileName, UINT fileNameSize)
\r
70 { return ::DragQueryFileW(m_Object, fileIndex, fileName, fileNameSize); }
\r
72 UINT QueryCountOfFiles();
\r
73 UString QueryFileName(UINT fileIndex);
\r
74 void QueryFileNames(UStringVector &fileNames);
\r
79 /////////////////////////////
\r
82 bool GetPathFromIDList(LPCITEMIDLIST itemIDList, CSysString &path);
\r
83 bool BrowseForFolder(LPBROWSEINFO lpbi, CSysString &resultPath);
\r
84 bool BrowseForFolder(HWND owner, LPCTSTR title, LPCTSTR initialFolder, CSysString &resultPath);
\r
87 bool GetPathFromIDList(LPCITEMIDLIST itemIDList, UString &path);
\r
88 bool BrowseForFolder(LPBROWSEINFO lpbi, UString &resultPath);
\r
89 bool BrowseForFolder(HWND owner, LPCWSTR title, LPCWSTR initialFolder, UString &resultPath);
\r