Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
08.07.2011, 15:38
|
|||
---|---|---|---|
Диалог Browse for Folder (Выбор папки) BIF_NEWDIALOGSTYLE вопросы. |
|||
#18+
Мучаю в режиме теста. Дабы не быть голословным, пример прилагается. Мучаю кнопку CommandTest, т.е. ф-цию Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
Пока определился что мне нужен стиль Or BIF_NEWDIALOGSTYLE Вопросы мучают такие: 1) Как сделать так, чтобы при старте была выбрана(и выделена) папка "My Computer"? CSIDL_DRIVES -это понятно но Код: plaintext 1.
2) Как сделать так, чтобы при старте была выбрана(и выделена) другая произвольная папка, выбранная пользователем ранее ? 3) Нужен .ulFlags = BIF_RETURNONLYFSDIRS http://msdn.microsoft.com/en-us/library/bb762115(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/bb773205(v=vs.85).aspx Only return file system directories. If the user selects folders that are not part of the file system, the OK button is grayed. При использовании BIF_NEWDIALOGSTYLE ни фига она не grayed, т.е. остается Enabled на "невменяемых" узлах типа "Мой компьютер" и "Сетевое окружение". Что делать? 4) Public Const MAX_PATH = 260 А если это "ну очень длинный путь"? Забабахать =1024 или "все путем"? Для быстрой проверки бабахнул =26, и обломался - строка обрезалась. Есть основательное подозрение, что нужен BFFCALLBACK Function: http://msdn.microsoft.com/en-us/library/bb762598(v=vs.85).aspx Но тогда желателен пример на VB6, выходные честно тратить на это не охота.. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.07.2011, 19:41
|
|||
---|---|---|---|
Диалог Browse for Folder (Выбор папки) BIF_NEWDIALOGSTYLE вопросы. |
|||
#18+
Дмитрий77Есть основательное подозрение, что нужен BFFCALLBACK Function: Видимо так и есть. Дмитрий772) Как сделать так, чтобы при старте была выбрана(и выделена) другая произвольная папка, выбранная пользователем ранее ? С этим справился Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Дмитрий773) Нужен .ulFlags = BIF_RETURNONLYFSDIRS http://msdn.microsoft.com/en-us/library/bb762115(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/bb773205(v=vs.85).aspx Only return file system directories. If the user selects folders that are not part of the file system, the OK button is grayed. При использовании BIF_NEWDIALOGSTYLE ни фига она не grayed, т.е. остается Enabled на "невменяемых" узлах типа "Мой компьютер" и "Сетевое окружение". Что делать? Справился, но не совсем!!! Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Проблемы: 1. Работает только в IDE, но в exe почему-то кнопка OK не disable-ится. Странно Хотя нет...фу. Заработало. 2. 'Call CoTaskMemFree(lParam) -нужна ли она здесь? Если оставить, то все гнусно рушится (системные ошибки памяти) Дмитрий771) Как сделать так, чтобы при старте была выбрана(и выделена) папка "My Computer"? .. А вот здесь ничего не получается, pidl вроде находит но код что ниже не фурычит Код: plaintext 1. 2.
Текущий тест прилагаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.07.2011, 19:47
|
|||
---|---|---|---|
Диалог Browse for Folder (Выбор папки) BIF_NEWDIALOGSTYLE вопросы. |
|||
#18+
Сорри, вот пример, где выбор начальной папки работает через SendMessage, с "функцией" выбора что-то не то. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.07.2011, 19:42
|
|||
---|---|---|---|
Диалог Browse for Folder (Выбор папки) BIF_NEWDIALOGSTYLE вопросы. |
|||
#18+
Дмитрий771) Как сделать так, чтобы при старте была выбрана(и выделена) папка "My Computer"? .. Добил вроде. Для пидла 0 в SendMessage надо ставить + всякие нечестные игры с Long-String-Any. + Дмитрий77Но уже вычитал про какой-то подвох с прокруткой на выделенную папку на WIN 7... Есть такое дело. http://connect.microsoft.com/VisualStudio/feedback/details/518103/bffm-setselection-does-not-work-with-shbrowseforfolder-on-windows-7 Через Sleep(200)+PostMessage(дубликат) грубо лечится. Скорее всего какие-то стилевые эффекты с TreeView типа фейдера, но с этим заморачиваться здесь желания нет. Тем более эта фишка в родных Microsoft-овских прогах на Win7 глючит на хитрых путях..(проверил). Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.
Дмитрий774) Public Const MAX_PATH = 260... Да и бог с ним... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=60&tablet=1&tid=2158568]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 173ms |
0 / 0 |