Наше приложение позволяет выбирать несколько файлов в диалоговом окне выбора файлов, которое отображается с помощью функции GetOpenFileName (этот вопрос также применим к людям, использующим CFileDialog и т. Д.).Увеличение количества символов в поле имени файла диалогового окна выбора файла GetOpenFileName
Похоже, что количество символов, которые могут быть введены в поле имени файла, ограничено (259 - это магическое число - не знаете почему).
Мы постарались изменения следующих членов OPENFILENAME структуры:
lpstrFile - точка нашего собственного буфера размером в 4K байт nMaxFile - установлен в размере lpstrFile (мы составляем ANSI, так что это эффективен 4000
но эти ценности, по всей видимости, не увеличение ширины ввода поля имени файла в диалоговом окне.
Я буду экспериментировать с отправкой сообщения EM_SETLIMITTEXT с контролем, но хотел бы знать, если кто-то есть решение.
EDIT - решил это сам: solution Я не могу принять свой собственный ответ, но вот он для потомков. Если у кого-то еще есть лучшее решение, пожалуйста, напишите об этом - или не стесняйтесь модифицировать мое решение, чтобы будущие поисковики находили его наверху.
Обратите внимание, что я извлекаю несколько путей из диалога - каждый путь может быть до тех пор, пока MAX_PATH, но диалог может вернуть 10 или 15 из них. – 2008-12-13 03:23:50