Наше приложение позволяет выбирать несколько файлов в диалоге выбора файлов, который отображается с помощью функции GetOpenFileName (этот вопрос также относится к людям, использующим CFileDialog и т. Д.) *
По-видимому, существует ограничение на количество символов, которые можно ввести в поле имени файла (259 кажется магическим числом - не знаю, почему).
Мы попытались изменить следующие элементы структуры OPENFILENAME :
lpstrFile - указывает на наш собственный буфер размером 4K байт
nMaxFile - установить размер lpstrFile (мы компилируем ANSI, так что это эффективно 4000
Но эти значения, по-видимому, не увеличивают ширину ввода поля имени файла в диалоговом окне.
Я собираюсь поэкспериментировать с отправкой сообщения EM_SETLIMITTEXT элементу управления, но хотел бы знать, есть ли у кого-нибудь еще решение.
РЕДАКТИРОВАТЬ - решил это сам: решение Я не могу принять свой собственный ответ, но здесь он для потомков. Если у кого-то есть более подходящее решение, пожалуйста, опубликуйте его - или смело модифицируйте мое решение, чтобы будущие поисковики нашли его вверху.