Структура программирования, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

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, Киньте примерчик.
карта виртуальной памяти

Платные хостинги     Раскрутка сайта     Книги по программированию


Диалог задания папки

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Как вызвать диалог задания папки с кнопкой "Создать новую папку"?А в идеале как вызвать диалог задания папки, который выглядит также как диалог открытия файла?

- Давным-давно, когда ещё не было мне ведомо про ф-цию 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;А здесьлежит модуль с функциями работы диалогом выбора папки.

- Вновь поднимаю эту тему. А как задать координаты этого диалога - он  стремится открыться где-то в правом нижнем углу экрана, а на одном из моих компьютеров открывается и вовсе практически полностью за экраном? Конечно можно посылать сообщения диалогу, но это как-то совсем дегенеративно...

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | opengl программирование | программирование бейсик | программирование интерфейса | программирование pocket | программирование заказы | задача динамического программирования | prolog программирование | стохастическое программирование | процедурное программирование | история языков программирования | структура программирования | языки программирования высокого уровня | программирование устройств | функции программирования | программирование siemens | списки программирование | язык программирования java | олимпиада программирование | программирование мобильных телефонов | дипломная работа программирование | программирование palm | Ссылки

Все про процедурное программирование