Форум: "Основная";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
ВнизOpenDialog Найти похожие ветки
← →
#Deus (2002-12-07 16:38) [0]1)Как сделать чтобы через OpenDialog можно было выбирать целые директории? А не только файлы?
Спасибо!
← →
PaRL (2002-12-07 16:51) [1]Никак. Зачем. Сделай своё окно и используй например DirectoryListBox, DriveComboBox.
Страница Win 3.1
← →
neodiX (2002-12-07 16:56) [2]делай так:
uses ShellAPI, ShlObj;
...
function BrowseDialog
(const Title: string; const Flag: integer): string;
var
lpItemID : PItemIDList;
BrowseInfo : TBrowseInfo;
DisplayName : array[0..MAX_PATH] of char;
TempPath : array[0..MAX_PATH] of char;
begin
Result:="";
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
with BrowseInfo do begin
hwndOwner := Application.Handle;
pszDisplayName := @DisplayName;
lpszTitle := PChar(Title);
ulFlags := Flag;
end;
lpItemID := SHBrowseForFolder(BrowseInfo);
if lpItemId <> nil then begin
SHGetPathFromIDList(lpItemID, TempPath);
Result := TempPath;
GlobalFreePtr(lpItemID);
end;
end;
← →
neodiX (2002-12-07 17:00) [3]а потом так:
procedure TfrMain.btnBrowseClick(Sender: TObject);
var sTitle, sFolder: string;
iFlag : integer;
begin
sTitle:="Choose a " +
rgBrowseFor.Items[rgBrowseFor.ItemIndex];
case rgBrowseFor.ItemIndex of
0: iFlag := BIF_RETURNONLYFSDIRS;
1: iFlag := BIF_BROWSEINCLUDEFILES;
2: iFlag := BIF_BROWSEFORCOMPUTER;
3: iFlag := BIF_BROWSEFORPRINTER;
end;
sFolder := BrowseDialog(sTitle, iFlag);
if sFolder <> "" then
edSelected.text := sFolder
else
edSelected.text := "Nothing selected";
end;
← →
#Deus (2002-12-07 17:25) [4]Большое спасибо!
← →
Vcoder (2002-12-07 22:03) [5]А если
ofAllowMiltiSelect:=True;
Не пойдет?
Позволяет выбирать несколько файлов, хоть все сразу.
← →
Song (2002-12-07 22:19) [6]>>Позволяет выбирать несколько файлов, хоть все сразу.
А при чём тут файлы? Автор директории просил..
Можно SelectDirectory() использовать.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c