|
Диалог вида OpenFileDialog но для выбора папки, а не файла
|
|||
---|---|---|---|
#18+
Очень редко встречается, но в частности есть в студии при выборе расположения проекта при его создании, кнопка Обзор. Картинку прикладываю. Чуть ли не в единственном месте такое видел. Т.е. очевидно, что это OpenFileDialog Оно же - ф-ция GetOpenFileName , структура OPENFILENAME Но: надпись Папка, кнопка Выбор папки, при выделение вот именно папки имя ее бухается в поле "Папка", ну и в проводнике только папки и отображаются. Как сие сделать? Обычно я для этих целей использую маленький диалог SHBrowseForFolder function (в .Net классах он тоже вроде есть, не помню как называется, из-за какого-то глюка не использую) Но столкнулся с ситуацией, когда в качестве стартовой папки надо выбрать подпапку "скрытой", да и как бы "проводник" не лишний, диалог Open/SaveAs поприличней выглядит. И я вот думаю, или я туплю и это что-то штатное, м.б. готовый класс в .Net есть или в OpenFileDialog что-то не знаю, или это кастомизация типа как когда-то делал (но правда делал только с диалогами XP вида а не этими новыми кот. на висте появились). Внешний вид/стиль Common Dialog Save/Open 8409073 (жаль картинок не сохранилось) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2018, 12:05 |
|
Диалог вида OpenFileDialog но для выбора папки, а не файла
|
|||
---|---|---|---|
#18+
http://www.lyquidity.com/devblog/?p=136 Первая ссылка в тексте на архив с исходниками. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2018, 12:17 |
|
Диалог вида OpenFileDialog но для выбора папки, а не файла
|
|||
---|---|---|---|
#18+
Сон Веры Павловны http://www.lyquidity.com/devblog/?p=136 Первая ссылка в тексте на архив с исходниками. Фиговая какая-то ссылка, скрипт какой-то запускается вместо скачки зипа. Ну, то что это не тривиально, это я уже понял. Вот чего нашел. http://www.ookii.org/software/dialogs/ Но, блин, пишут люди dll-ы на все случаи жизни и тащатся от этого, нет чтоб простенький класс, замучаешься из этого вороха код вытаскивать. Сон Веры Павловны, а Вы мне вот что скажите. Классическими API ф-ция GetOpenFileName , структура OPENFILENAME эту штуку не достать (в них довольно хорошо ориентируюсь, но Callback, без которого те же кастомизации например не сделаешь, сразу сбрасывает к XP виду)? Только интерфейсами? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2018, 12:49 |
|
Диалог вида OpenFileDialog но для выбора папки, а не файла
|
|||
---|---|---|---|
#18+
Есть же Класс FolderBrowserDialog ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2018, 12:58 |
|
Диалог вида OpenFileDialog но для выбора папки, а не файла
|
|||
---|---|---|---|
#18+
Вот здесь FILEOPENDIALOGOPTIONS enumeration есть FOS_PICKFOLDERSPresent an Open dialog that offers a choice of folders rather than files.Очевидно это оно. А в OPENFILENAME structure в Flags аналога не вижу, а с "интерфейсами" не на столько на ты, в отличии от обычных API. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2018, 13:01 |
|
Диалог вида OpenFileDialog но для выбора папки, а не файла
|
|||
---|---|---|---|
#18+
Cat2Есть же Класс FolderBrowserDialog ?Да я про него упомянул уже, это маленькое окно "Обзор папок", соответствует SHBrowseForFolder Обычно я для этих целей использую маленький диалог SHBrowseForFolder function (в .Net классах он тоже вроде есть, не помню как называется, из-за какого-то глюка не использую) Это не то. Или он как на картинке тоже умеет выводить? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2018, 13:05 |
|
Диалог вида OpenFileDialog но для выбора папки, а не файла
|
|||
---|---|---|---|
#18+
Дмитрий77Сон Веры Павловны http://www.lyquidity.com/devblog/?p=136 Первая ссылка в тексте на архив с исходниками. Фиговая какая-то ссылка, скрипт какой-то запускается вместо скачки зипа. У меня качается нормально. Вот исходники: ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2018, 13:17 |
|
Диалог вида OpenFileDialog но для выбора папки, а не файла
|
|||
---|---|---|---|
#18+
P.S. В силу особенностей реализации это работает только на ОС от висты и выше. На ХР будет всё тот же FolderBrowserDialog. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2018, 13:20 |
|
Диалог вида OpenFileDialog но для выбора папки, а не файла
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныУ меня качается нормально. Вот исходники: Не знаю, у меня ссылка какую-то "надстройку офис" пыталась ("неудачно") установить, мне это не понравилось. Скачал работает, спасибо. Вот еще аналог нарыл: https://www.medo64.com/2011/12/openfolderdialog/ Тоже рабочий (C# проект). Код VB.Net приведенный там по правда нерабочий, с ходу точно не фурычит. Сон Веры ПавловныP.S. В силу особенностей реализации это работает только на ОС от висты и выше. На ХР будет всё тот же FolderBrowserDialog. Это понятно, диалогов такого вида в XP в принципе нет. Мне надо от Win7, XP не нужен. Жалко конечно что в OpenFileDialog флаг не добавили, из-за чего все эти интерфейсы делать надо. Более того, придется на VB.Net это перекраивать. Готового проекта на VB. кстати нету? Ну, во всяком случае стратегически решение есть. Сон Веры Павловны, спасибо еще раз за быстрый корректный ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2018, 13:54 |
|
Диалог вида OpenFileDialog но для выбора папки, а не файла
|
|||
---|---|---|---|
#18+
Нашел для VB.Net готовый код: https://stackoverflow.com/questions/16036853/folderbrowser-with-textbox-in-vb-net ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2018, 14:18 |
|
Диалог вида OpenFileDialog но для выбора папки, а не файла
|
|||
---|---|---|---|
#18+
Дмитрий77Нашел для VB.Net готовый код: https://stackoverflow.com/questions/16036853/folderbrowser-with-textbox-in-vb-net Исправил кой-какие глюки (SHCreateItemFromParsingName в VB была неправильно задекларирована, пара мелочей), добавил свойство Title. Сделал свой модуль с классом, убрав громкое "NativeMethods." (не люблю этих .Net-понтов в каждой строчке кода). В общем вполне таки аккуратно получилось, на всяк. случай выложу под спойлер, мож кому пригодится: Код: vbnet 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. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258.
Вообще конечно кухня нужная, хорошая стартовая точка для кастомизации "вистовских" Open/Save диалогов. У меня есть пара-тройка кастомизированных, но они все XP-стиля (не переделывал). Вот нашел с картинкой: 17456717 А вот тут подсказали куда двигаться чтоб кастомизировать "Вистовские": Using the new IFileDialog interface for customizable Open/Save (TLB, Vista+) Ну т.е. откуда плясать, теперь понятно. Дойдут ли руки когда-нибудь... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 06:57 |
|
|
start [/forum/topic.php?fid=20&msg=39650600&tid=1399357]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
79ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 320ms |
total: | 487ms |
0 / 0 |