Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];

Вниз

Как вызвать окно Обзор Папок   Найти похожие ветки 

 
SZap   (2002-02-17 17:19) [0]

Как вызвать окно Обзор Папок для выбора нужной папки?


 
VuDZ   (2002-02-17 19:16) [1]

SHBrowseForFolderA()


CString strTmpPath;

BOOL GetFolder(CString* strSelectedFolder,
const char* lpszTitle,
const HWND hwndOwner,
const char* strRootFolder,
const char* strStartFolder)
{
char pszDisplayName[MAX_PATH];
LPITEMIDLIST lpID;
BROWSEINFOA bi;

bi.hwndOwner = hwndOwner;
if (strRootFolder == NULL){
bi.pidlRoot = NULL;
}else{
LPITEMIDLIST pIdl = NULL;
IShellFolder* pDesktopFolder;
char szPath[MAX_PATH];
OLECHAR olePath[MAX_PATH];
ULONG chEaten;
ULONG dwAttributes;

strcpy(szPath, (LPCTSTR)strRootFolder);
if (SUCCEEDED(SHGetDesktopFolder(&pDesktopFolder)))
{
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, szPath, -1, olePath, MAX_PATH);
pDesktopFolder->ParseDisplayName(NULL, NULL, olePath, &chEaten, &pIdl, &dwAttributes);
pDesktopFolder->Release();
}
bi.pidlRoot = pIdl;
}
bi.pszDisplayName = pszDisplayName;
bi.lpszTitle = lpszTitle;
bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT;
bi.lpfn = BrowseCallbackProc;
if (strStartFolder == NULL){
bi.lParam = FALSE;
}else{
strTmpPath.Format("%s", strStartFolder);
bi.lParam = TRUE;
}
bi.iImage = NULL;
lpID = SHBrowseForFolderA(&bi);
if (lpID != NULL){
BOOL b = SHGetPathFromIDList(lpID, pszDisplayName);
if (b == TRUE){
strSelectedFolder->Format("%s",pszDisplayName);
return TRUE;
}
}else{
strSelectedFolder->Empty();
}
return FALSE;
}

int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
TCHAR szDir[MAX_PATH];
switch(uMsg){
case BFFM_INITIALIZED:
if (lpData){
strcpy(szDir, strTmpPath.GetBuffer(strTmpPath.GetLength()));
SendMessage(hwnd,BFFM_SETSELECTION,TRUE,(LPARAM)szDir);
}
break;
case BFFM_SELCHANGED: {
if (SHGetPathFromIDList((LPITEMIDLIST) lParam ,szDir)){
SendMessage(hwnd,BFFM_SETSTATUSTEXT,0,(LPARAM)szDir);
}
break;
}
default:
break;
}

return 0;
}


 
SZap   (2002-02-17 20:47) [2]

ИЗВЕНИТЕ, а можно поподробнее?


 
VuDZ   (2002-02-17 22:10) [3]

нет.
а что собсно надо подробнее?


 
MadCrew - NuClon   (2002-02-18 17:33) [4]

Блин ну вы чё!!! Это сайт про дельфи а вы тут... :) Хотя полезно %)


 
Юрий Зотов   (2002-02-18 18:03) [5]

Или проще - SelectDirectory.


 
VuDZ   (2002-02-18 19:52) [6]

2MadCrew - NuClon
это раздел про winAPI :>



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
3-69693
roman001
2002-03-18 18:27
2002.04.22
RxMemoryTable


1-69791
Remy
2002-04-09 18:50
2002.04.22
Подскажите как поменять font в MainMenu !


6-69950
zam
2002-02-11 04:24
2002.04.22
Конвертировать ISAPI в webappdebugger executable


1-69931
snoup
2002-04-09 19:19
2002.04.22
Как скрыть/показать курсор мышки?


1-69835
Lego
2002-04-11 02:50
2002.04.22
Как остановить ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский