| Структура программирования, программирование, языки программирования, книги программирование | На сайте представлена информация про программирование в Интернете и работу |
|
arrray в record Можноли присобачить компоненту Popupmenu обработку Есть проблемма с компонентом, Чего-то не стает ко мне в делфу.... Строка в ListBox Как Вы относитесь к курящим девушкам? Цветовая растяжка помогите снова, напишите ответ большое спасибо BAA, заранее говорю спасибо Поиск фаила.......... Ещё немного про работу со строками API Как удалить выбранный итем ЛистВьюва API Чат, Можно ли поставить Чат создание экзаменационных тестов, помощь в создании теста Как установить частоту для Мышки PS/2 Какие клавиши заданы для пререключения раскладки КАк управлять портом через паскаль, как посылать импульсы с порта через паск Как узнать сколько строчек в Listbox'е Ресурсное меню с Bitmap. DirectoryEdit1->InitialDir, (RxLib) Тест Как сделать замену текста в Tstring, есть Tstring класс у компонента Совместная разработка приложений, где найти инфу? Grey Scale 256 в Delphi, Как сделать градации серого? АДМИНИСТРАТОРАМ ФОРУМА!!!, не работает поиск по форуму. TreeView, 2 вопроса чайника Методы класса DLL, организация плагинов Картинки в трее....., Как узнать их хэндлы? Есть ли сидюк? Визуальное отображение процесса открытия базы, Как можно отобразить ход открытия таблиц Разбить строку string на символы... Помогите, плз, Плз. создание таблицы запись файла в двоичное поле базы данных, конкретно файла MS Word в BLOB поле Внешний вид приложения как Office 2003 Создание формы Программированние DLL под AutoCAD Map 5, где бы мне найти инфу? Как в run-time Action добавить в ActionList? Проблема в рисовании прямоугольника, наверное все дело в Handle. Диалог задания папки Как определить координаты курсора мыши, относительно начала системы координат? Обновился FAQ, Милости просим Алгебра логики Как выводить значок Copyright ?, буковка С в кружочке ActiveX Как закрыть приложение SynCor.exe, при нажатии кнопки (стоп) меди файл media player в Delphi 5, не могу изменить размер изображения Как Вы относитесь к курящим девушкам? Форма облегает картинку Сообщение после (при) смены обоев... Копирование файлов, Создание резервной копии Печать таблицы Память Видеокарты, Определение памяти Видеокарты Чтение значения в реестре, API Проблема отладки Проверка является ли ключ простым числом Отловить нажатие клавиши, типа CMDialogKey Как изменить у программы иконку? WebBrowser, Содержимое страницы через WebBrowser Паскаль, нахождение остатка от деления Показать две формы сразу, как в Dreamveawer Графика, Как определить цвет точки в TPaintBoxe Самодельный АОН, Помогите с написанием ближайшее к какому-нибудь целому, ближайшее к какому-нибудь целому HELP !!!!!, Печать из Delphi ! Delphi 6.0 + Oracle 8i, Connection string CD-RW, Киньте примерчик. карта виртуальной памяти |
Платные хостинги Раскрутка сайта Книги по программированию Диалог задания папки
- Как вызвать диалог задания папки с кнопкой "Создать новую папку"?А в идеале как вызвать диалог задания папки, который выглядит также как диалог открытия файла? - Давным-давно, когда ещё не было мне ведомо про ф-цию BrowseDirectory, извратнулся я таким образом: вызывается диалог выбора файла, потом из выбранного файла экстрагируется сам папк. А вообще я что-то не встречал цельных компонентов, подходящих для этой цели. - RxLib 2.75 - Что RxLib? Конкретней можешь ответить? - А куда конкретнее? RxLIB 2.75 - это библиотека компонентов созданная русскими разработчиками, кажется в Питере. Для русских бесплатно, для буржуев платно. Неужто не слышал про такую? Там конкретно есть компонент для выбора папки. Еще конкретнее? - Что такое RxLib я знаю. Но там нет компонента, который бы показывал диалог выбора папки, в котором есть кнопка "Создать новую папку". - Vit, Song не верю, что вы не знаете ответа. - Слушай, ты потратил несколько дней выясняя это, это школьная задача что-ли? За это время можно десяток своих диалогов нарисовать со всеми наворотами... Я никогда таким не озадачивался и ответа не знаю, и если мне нужен какой диалог, так мне легче его самому написать, чем несколько дней рыться по FAQ и виндовым API чтобы найти нужные параметры. Итог - я не знаю. Что бы я делал в таком случае - 1) Зашёл на www.torry.net - посмотрел, может там есть отдельный компонент с такими свойствами, или есть среди пакетов компонентов - некоторые из них предлагают сотни разных диалогов2) Написал бы свой со всеми нужными мне наворотами. - Vit не сердись. Свой диалог я написал еще 2 года назад и его везде использую. Но я знаю точно, что такой диалог как я хочу можно вызвать стандартными средствами, по этому и спросил. - Я не сержусь, просто не смотря на глас вопиющий, я не знаю - Между прочим пример в нашем FAQ делает именно то что тебе надо:http://www.forum.vingrad.ru/cgi-bin....B%EE%E3(см. второй пример) - Пример это конечно хорошо, но в нем полно ошибок, если хотите, могу прислать 100% рабочий пример. - Бросай сюда, я изменю пример в FAQ - Рабочий код:threadvar myDir: string;function BrowseCallbackProc(hwnd: HWND; uMsg: UINT; lParam: LPARAM; lpData: LPARAM): integer; stdcall;begin Result := 0; if uMsg = BFFM_INITIALIZED then SendMessage(hwnd, BFFM_SETSELECTION, 1, LongInt(PChar(myDir)));end;function SelectDirPlus(hWnd: HWND; const Caption: string; const Root: WideString; Directory: string): Boolean;// Диалог выбора директории с кнопкой "Создать папку"var WindowList: Pointer; BrowseInfo : TBrowseInfo; Buffer: PChar; RootItemIDList, ItemIDList: PItemIDList; ShellMalloc: IMalloc; IDesktopFolder: IShellFolder; Eaten, Flags: LongWord;begin myDir := Directory; Result := False; FillChar(BrowseInfo, SizeOf(BrowseInfo), 0); if (ShGetMalloc(ShellMalloc) = S_OK) and (ShellMalloc <> nil) then begin Buffer := ShellMalloc.Alloc(MAX_PATH); try RootItemIDList := nil; if Root <> '' then begin SHGetDesktopFolder(IDesktopFolder); IDesktopFolder.ParseDisplayName(hWnd, nil, POleStr(Root), Eaten, RootItemIDList, Flags); end; with BrowseInfo do begin hwndOwner := hWnd; pidlRoot := RootItemIDList; pszDisplayName := Buffer; lpfn := @BrowseCallbackProc; lParam:= Integer(PChar(Directory)); lpszTitle := PChar(Caption); ulFlags := BIF_RETURNONLYFSDIRS or $0040 or BIF_EDITBOX or BIF_STATUSTEXT; end; WindowList := DisableTaskWindows(0); try ItemIDList := ShBrowseForFolder(BrowseInfo); finally EnableTaskWindows(WindowList); end; Result := ItemIDList <> nil; if Result then begin ShGetPathFromIDList(ItemIDList, Buffer); ShellMalloc.Free(ItemIDList); Directory := Buffer; end; finally ShellMalloc.Free(Buffer); end; end;end;А здесьлежит модуль с функциями работы диалогом выбора папки. - Вновь поднимаю эту тему. А как задать координаты этого диалога - он стремится открыться где-то в правом нижнем углу экрана, а на одном из моих компьютеров открывается и вовсе практически полностью за экраном? Конечно можно посылать сообщения диалогу, но это как-то совсем дегенеративно... |