3. März 200619 j hallo zusammen.... ich möchte einen browse-butten programmieren, wo dann ein dialog aufgeht, wie bei "Datei -> Öffnen", nur statt einer datei auszuwählen soll ein verzeichnis ausgewählt werden. anschließend wird der pfad dann in ein eingabefeld geschrieben. gibt es eine klasse (wie CFileDialog) nur mit dem unterschied, dass man bei dem dialog nicht eine datei auswählen muss, sondern nur ein verzeichnis? bitte um hilfe. danke im voraus. Gruß Scotty
3. März 200619 j char szPath[128]; char szFolder[_MAX_PATH+1]; BROWSEINFO browsinfo; LPITEMIDLIST pidl; memset(szFolder,0,sizeof(szFolder)); browsinfo.hwndOwner = this->m_hWnd; browsinfo.ulFlags = 0; browsinfo.pidlRoot = NULL; browsinfo.pszDisplayName = szFolder; browsinfo.lpszTitle = "Bitte geben Sie den Ordner an ...."; browsinfo.lpfn = NULL; pidl = SHBrowseForFolder(&browsinfo); if(pidl) { SHGetPathFromIDList(pidl, szPath); CString csOrdner = CString(szPath); } UpdateData(FALSE);
3. März 200619 j Zu erwähnen wäre noch, dass man SHBrowseForFolder erst benutzen kann, wenn man COM für diesen Thread initialisiert hat (CoInitialize/CoInitializeEx). Außerdem muss man die LPITEMIDLIST, die man zurückbekommt, mit CoTaskMemFree freigeben, sonst gibt's ein Speicherleck.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.