Как обмануть File dialog?

 
RU Victor Blinov #18.05.2003 12:46
+
-
edit
 

Victor Blinov

опытный



Контект: Windows


Есть ли у кого какие идеи, как на лету не сильно грязными руками подменить в File dialog директорию и заставить эту заразу её прочитать?


Например, *.tga и *.jpg у меня лежат в разных директориях, при открытии файла я лезу в расширения и меняю. Директория (полный путь), где лежат файлы с нужным расширением известна. Хочется, чтоб автоматом открывалась нужная директория...
"Будьте самоучками - не ждите, чтобы вас научила жизнь." С.Е. Лец  
RU Victor Blinov #18.05.2003 12:47
+
-
edit
 

Victor Blinov

опытный

Способ примитивный: пришибить текущий и открыть новый дайлог с нужной директорией как-то не нравится...
"Будьте самоучками - не ждите, чтобы вас научила жизнь." С.Е. Лец  
+
-
edit
 

timochka

опытный

Victor Blinov, May 18 2003, 12:47:
Способ примитивный: пришибить текущий и открыть новый дайлог с нужной директорией как-то не нравится...
 

Диалог то какой ? В чужой программе или в собственных сорцах? Или стандартный MFC диалог ?

В общем случае стандартный OpenSaveDialog умеет переключать директории если ему вводят полный путь до директории и жмут Enter. То-же можно свершить и програмно накидав ему соответствующих сообщений.

Я хочется сделать без ненужных мерцаний и дерганий насколько я понял ?
 
RU Victor Blinov #19.05.2003 16:28
+
-
edit
 

Victor Blinov

опытный



timochka, May 19 2003, 18:57:
В чужой программе или в собственных сорцах? Или стандартный MFC диалог ?
 



В собственных. Стандартный MFC


timochka, May 19 2003, 18:57:
В общем случае стандартный OpenSaveDialog умеет переключать директории если ему вводят полный путь до директории и жмут Enter.
 



Это понятно :) Просто нужные (мне) поля у этого класса недостуны, а хочется не сильно грязно это проделать.


timochka, May 19 2003, 18:57:
Я хочется сделать без ненужных мерцаний и дерганий насколько я понял ?
 



А то ж!
"Будьте самоучками - не ждите, чтобы вас научила жизнь." С.Е. Лец  
+
-
edit
 

timochka

опытный

Victor Blinov, May 19 2003, 16:28:
Стандартный MFC
В общем случае стандартный OpenSaveDialog умеет переключать директории если ему вводят полный путь до директории и жмут Enter.
Это понятно :) Просто нужные (мне) поля у этого класса недостуны, а хочется не сильно грязно это проделать.
 

Я поглядел чего там мелкософты наусовершенствовали.
Вижу 3 путя
1) Порыться среди childs окна диалога и найти окно класса "Edit" (едитбокс наш). Кинуть ему WM_SETTEXT и положить туда новый путь. Потом кинуть что-то типа WM_CHAR ("код Enter'а"). Работать должно, но грязновато.

2) Есть метод CFileDialog::SetTemplate(). - задать самому шаблон диалога и иметь доступ (нормальный) к едитбоксу.

3) Сделать свой диалог - долго и геморойно (потратишь пару часов + отладка).

Странно другое, пролистал msdn там много написано про customizing этого диалога, но ничего не нашел как командовать диалогом, а не просто мнешний вид поменять и контролов добавить. Можно попробовать обновить содержимое m_ofn, а потом кинуть еще раз WM_INITDIALOG. но скорее всего не сработает.
Ну и наконец можно поковырять CDN_FOLDERCHANGE Notification на предмет кто его обрабатывает и что это нам дает.
 

в начало страницы | новое
 
Поиск
Поддержка
Поддержи форум!
ЯндексЯндекс. ДеньгиХочу такую же кнопку
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru