Здравствуйте, Lautsprecher, Вы писали:
Попробуй переделать
http://www.codeproject.com/treectrl/shelltreectrl.asp в API
Здравствуйте, Lautsprecher, Вы писали:
L>Привет всем
L>Я хочу в свое окно вставить контрол, который мы привыкли видеть в левой части Windows Explorer'а — в нем отображаются диски и папки. Я говорю о "древовидном отображении" в русской терминологии, или TreeView контроле, в котором обычно есть Рабочий Стол и его дочерние элементы — Мой Компьютер, Сетевое Окружение, и т.п.
L>Я знаю о функции SHBrowseForFolder, но она создает новое окно, а мне не хотелось бы плодить окна. Мне нужно вставить этот контрол в мое собственное окно.
L>Конечно, я мог бы создать TreeView контрол, и наполнить его дисками и папками, но мне эта идея кажется неправильной — во-первых, это означает уже с самого начала поворение того, что было сделано, и сделано неплохо, а во-вторых, все равно мой собственный контрол не будет автоматически обновляться в результате создания/удаления папок и т.п.
Ну почему же не будет? А ты используй FindFirstChangeNotification/FindNextChangeNotification и WaitForSingleObject для отслеживания изменений. Или настоящий программист испугался трудностей?
L>То есть, так или иначе, я хочу воспользоваться существующим контролом. Я не уверен на 100%, но мне кажется, что должна быть возможность внедрить этот контрол в свое окно.
Это только кажется. Кстати, не только одному тебе. На самом деле такой возможности нету и контрола такого в системе тоже нету. Такие вопросы иногда всплывают на этом форуме. Когда-то всплыл и у меня.
здесьАвтор: programmater
Дата: 25.10.04
то, что мне ответили.
L>Я знаю, что на точке нет это сделать можно — у меня есть пример. Вопрос в том, как это сделать на Си/WinAPI.
Попробуй ссылки на кодепрожект, если что, есть рабочий вариант на WTL. Есть и на WinAPI, но там вся обработка notifications делается в процедуре родительского окна.
L>К сожалению, мои поиски в инете ни к чему не привели — видимо, не так искал.
Я тож долго искал и ничего не нашел. Видимо нет-таки такого контрола в системе (во всяком случае доступного стандартными средствами).
L>Любые идеи приветствуются.
L>Игорь