Есть ли способ отключить подсказку для TOpenDialog в Delphi?
У меня есть TOpenDialog
компонент, который я создаю во время выполнения, и я хочу отключить подсказку, которая всплывает над файлами при его использовании. Я не написал никакого кода для этого, кроме создания объекта, выполнения объекта и извлечения имени файла, а затем освобождения экземпляра.
Могу ли я делать то, что хочу? Если да, то как мне это сделать?
2 ответа
Я погуглил "подсказка при срыве opendialog", и первый удар дал мне это. Решение их проблемы (и, вероятно, вашей) заключается в следующем:
[...]
Вам нужно только добавить эту модификацию в первую форму вашего заявления:
uses ActiveX; initialization OleInitialize(nil); finalization OleUninitialize end.
Так как это обычный диалог Windows, вам, возможно, придется подключиться к диалоговому процессу и подключиться к нему вручную, чтобы попытаться обработать сообщения всплывающей подсказки. Вы можете посмотреть здесь, как настроить общие диалоги; http://msdn.microsoft.com/en-us/library/ms646951.aspx. Вы также можете посмотреть на создание собственного потомка TOpenDialog и переопределить защищенный метод WndProc, чтобы получить доступ к диалоговым сообщениям и уведомлениям. Я подозреваю, что вам также нужно сделать несколько более глубокий перехват и начать заниматься оболочкой проводника. Список файлов в этом диалоговом окне фактически является экземпляром частей оболочки Windows Explorer.
Другой вопрос: чего вы пытаетесь добиться, скрывая эту информацию от пользователя? Может быть, есть какое-то другое решение для того, что вы пытаетесь сделать, вместо того, чтобы отключить некоторые встроенные функции?