Aracılığıyla paylaş


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

Ad Tanım
CShellManager::CShellManager Bir CShellManager nesne oluşturur.

Genel Yöntemler

Ad Tanım
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

Cobject

Cshellmanager

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.

İade 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.

İade Değeri

İşlev başarılı olursa yeni öğe listesinin işaretçisi, aksi takdirde NULL.

Açıklamalar

Bu yöntem hem pidl1hem 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.

İade 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.

İade 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 CShellManagerCWinAppEx::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.

İade 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.

İade 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.

İade 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.

İade 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.

İade Değeri

Başarılı olursa NOERROR döndürür; OLE tanımlı bir hata değeri.

Ayrıca bkz.

Hiyerarşi Grafiği
Sınıflar