CShellManager Sınıfı
Tanımlayıcı listeleri (PIDL) işaretçileriyle çalışmanızı sağlayan çeşitli yöntemler uygular.
Sözdizimi
class CShellManager : public CObject
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CShellManager::CShellManager | Bir CShellManager nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CShellManager::BrowseForFolder | Kullanıcının bir kabuk klasörü seçmesini sağlayan bir iletişim kutusu görüntüler. |
CShellManager::ConcatenateItem | İki PIDL'i birleştirir. |
CShellManager::CopyItem | Yeni bir PIDL oluşturur ve sağlanan PIDL'yi buna kopyalar. |
CShellManager::CreateItem | Belirtilen boyutta yeni bir PIDL oluşturur. |
CShellManager::FreeItem | Sağlanan PIDL'yi siler. |
CShellManager::GetItemCount | Sağlanan PIDL'deki öğe sayısını döndürür. |
CShellManager::GetItemSize | Sağlanan PIDL'nin boyutunu döndürür. |
CShellManager::GetNextItem | PIDL'den sonraki öğeyi döndürür. |
CShellManager::GetParentItem | Sağlanan öğenin üst öğesini alır. |
CShellManager::ItemFromPath | Sağlanan yol tarafından tanımlanan öğenin PIDL'sini alır. |
Açıklamalar
sınıfının tüm yöntemleri CShellManager
PIDL'lerle ilgilenir. PIDL, kabuk nesnesi için benzersiz bir tanımlayıcıdır.
Nesneyi el ile oluşturmamalısınız CShellManager
. Uygulamanızın çerçevesi tarafından otomatik olarak oluşturulur. Ancak, uygulamanızın başlatma işlemi sırasında CWinAppEx::InitShellManager çağrısı yapmalısınız. Uygulamanızın kabuk yöneticisine yönelik bir işaretçi almak için CWinAppEx::GetShellManager'ı çağırın.
Devralma Hiyerarşisi
Gereksinimler
Üst bilgi: afxshellmanager.h
CShellManager::BrowseForFolder
Kullanıcının bir kabuk klasörü seçmesini sağlayan bir iletişim kutusu görüntüler.
BOOL BrowseForFolder(
CString& strOutFolder,
CWnd* pWndParent = NULL,
LPCTSTR lplszInitialFolder = NULL,
LPCTSTR lpszTitle = NULL,
UINT ulFlags = BIF_RETURNONLYFSDIRS,
LPINT piFolderImage = NULL);
Parametreler
strOutFolder
[out] Yöntemi tarafından seçilen klasörün yolunu depolamak için kullanılan dize.
pWndParent
[in] Üst pencere işaretçisi.
lplszInitialFolder
[in] İletişim kutusu görüntülendiğinde varsayılan olarak seçilen klasörü içeren bir dize.
lpszTitle
[in] İletişim kutusunun başlığı.
ulFlags
[in] İletişim kutusu için seçenekleri belirten bayraklar. Ayrıntılı açıklama için bkz . BROWSEINFO .
piFolderImage
[out] Yöntemin seçili klasörün görüntü dizinini yazdığı tamsayı değerinin işaretçisi.
Dönüş Değeri
Kullanıcı iletişim kutusundan bir klasör seçerse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu yöntemi çağırdığınızda, uygulama kullanıcının klasör seçmesini sağlayan bir iletişim kutusu oluşturur ve gösterir. yöntemi, klasörün yolunu strOutFolder parametresine yazar.
Örnek
Aşağıdaki örnekte, yöntemini kullanarak bir CShellManager
nesneye başvurunun nasıl alındığı ve yönteminin CWinAppEx::GetShellManager
nasıl kullanılacağı gösterilmektedir BrowseForFolder
. Bu kod parçacığı Explorer örneğinin bir parçasıdır.
CString strPath;
// The this pointer points to the CExplorerView class which extends the CView class.
// CMFCShellListCtrl m_wndList
if (m_wndList.GetCurrentFolder(strPath) &&
theApp.GetShellManager()->BrowseForFolder(strPath,
this, strPath, _T("Copy the selected item(s) to the folder:")))
{
MessageBox(CString(_T("The selected path is: ")) + strPath);
}
CShellManager::ConcatenateItem
İki PIDL içeren yeni bir liste oluşturur.
LPITEMIDLIST ConcatenateItem(
LPCITEMIDLIST pidl1,
LPCITEMIDLIST pidl2);
Parametreler
pidl1
[in] İlk öğe.
pidl2
[in] İkinci öğe.
Dönüş Değeri
İşlev başarılı olursa yeni öğe listesinin işaretçisi, aksi takdirde NULL.
Açıklamalar
Bu yöntem hem pidl1 hem de pidl2 içerecek kadar büyük yeni bir ITEMIDLIST oluşturur. Ardından pidl1 ve pidl2 değerlerini yeni listeye kopyalar.
CShellManager::CopyItem
Öğe listesini kopyalar.
LPITEMIDLIST CopyItem(LPCITEMIDLIST pidlSource);
Parametreler
pidlSource
[in] Özgün öğe listesi.
Dönüş Değeri
Başarılı olursa yeni oluşturulan öğe listesinin işaretçisi; aksi takdirde NULL.
Açıklamalar
Yeni oluşturulan öğe listesi, kaynak öğe listesiyle aynı boyuta sahiptir.
CShellManager::CreateItem
Yeni bir PIDL oluşturur.
LPITEMIDLIST CreateItem(UINT cbSize);
Parametreler
cbSize
[in] Öğe listesinin boyutu.
Dönüş Değeri
Başarılı olursa, oluşturulan öğe listesinin işaretçisi; aksi takdirde NULL.
CShellManager::CShellManager
Bir CShellManager
nesne oluşturur.
CShellManager();
Açıklamalar
Çoğu durumda, doğrudan bir CShellManager
oluşturmanız gerekmez. Varsayılan olarak, çerçeve sizin için bir tane oluşturur. öğesine bir işaretçi almak için CShellManager
CWinAppEx::GetShellManager'ı çağırın. El ile bir CShellManager
oluşturursanız, bunu CWinAppEx::InitShellManager yöntemiyle başlatmanız gerekir.
CShellManager::FreeItem
Öğe listesini siler.
void FreeItem(LPITEMIDLIST pidl);
Parametreler
pidl
[in] Silinecek öğe listesi.
CShellManager::GetItemCount
Öğe listesindeki öğelerin sayısını döndürür.
UINT GetItemCount(LPCITEMIDLIST pidl);
Parametreler
pidl
[in] Öğe listesinin işaretçisi.
Dönüş Değeri
Öğe listesindeki öğelerin sayısı.
CShellManager::GetItemSize
Öğe listesinin boyutunu döndürür.
UINT GetItemSize(LPCITEMIDLIST pidl);
Parametreler
pidl
[in] Öğe listesinin işaretçisi.
Dönüş Değeri
Öğe listesinin boyutu.
CShellManager::GetNextItem
Bir işaretçiden öğe tanımlayıcı listesine (PIDL) sonraki öğeyi alır.
LPITEMIDLIST GetNextItem(LPCITEMIDLIST pidl);
Parametreler
pidl
[in] Yinelenir öğelerin listesi.
Dönüş Değeri
Listede bir sonraki öğeye işaret eden bir işaretçi.
Açıklamalar
Listede başka öğe yoksa, bu yöntem NULL döndürür.
CShellManager::GetParentItem
Bir öğe tanımlayıcısı listesine (PIDL) yönelik bir işaretçinin üst öğesini alır.
int GetParentItem(
LPCITEMIDLIST lpidl,
LPITEMIDLIST& lpidlParent);
Parametreler
lpidl
[in] Üst öğesi alınacak bir PIDL.
lpidlParent
[out] Yöntemin sonucu depoladığı bir PIDL başvurusu.
Dönüş Değeri
Üst PIDL düzeyi.
Açıklamalar
PIDL düzeyi masaüstüne göre belirlenir. Masaüstü PIDL'sinin 0 düzeyine sahip olduğu kabul edilir.
CShellManager::ItemFromPath
İşaretçiyi bir dize yolu tarafından tanımlanan öğeden bir öğe tanımlayıcı listesine (PIDL) alır.
HRESULT ItemFromPath(
LPCTSTR lpszPath,
LPITEMIDLIST& pidl);
Parametreler
lpszPath
[in] Öğenin yolunu belirten bir dize.
pidl
[out] PIDL başvurusu. yöntemi, işaretçiyi dönüş değerine depolamak için bu PIDL'yi kullanır.
Dönüş Değeri
Başarılı olursa NOERROR döndürür; OLE tanımlı bir hata değeri.