Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TOpenDialog [D6, Win2k]


Gepard ©   (2004-09-08 11:10:00) 

Вопрос-то простецкий - как сделать неактивной кнопку "Открыть" в зависимости, скажем, от размера выбранного файла?


Gepard   (2004-09-08 20:05:00) [1]

2 PVOzerski & GEN++
Спасибо огромное! В следующей версии так и сделаю - сейчас вывешиваю табличку "Плохой файл" после закрытия диалога (2 Mim1)

Дело в том, что это открытие файлов формата HPGL, параметры которого не должны превышать определенных значений. Есть предпросмотр и там кроме дизэйбленной кнопки "Open" светится баннерок, если файл не подходит. Но нажать-то случайно все равно смогут, впрочем, как и ввести имя файла врукопашную (опять спасибо PVOzerski - не учел :).

Спасибо всем!


GEN++   (2004-09-08 19:36:00) [2]

>[6]
Именно так, копка "Open/Открыть"  стоит 8-й в
списке дочерних окон. Кстати, если список файлов доступен,
то из него можно исключить "ненужные" файлы - тогда и
кнопку "гасить" не придется.


PVOzerski   (2004-09-08 17:32:00) [3]

До кнопки Open и прочих элементов достучаться-то просто. Берем хэндл окошка диалога ( GetParent(OpenDialog1.Handle) - именно так!) и перебираем контролы, мнэ... через EnumChildWindows. Так можно и список в текущем каталоге файлов вытянуть, и кнопку задизэйблить. Естественно, хак этот придется делать из отдельного потока. Правда, как придется запрещать пользователю ввести имя файла вручную. Я бы обиделся, пожалуй ;^). Лучше уж отругать пользователя сообщением "Слишком большой файл" после закрытия диалога. IMHO.


MU   (2004-09-08 17:28:00) [4]

можно еще отфильтровать файлы неподходящего размера
см. property OnIncludeItem: TIncludeItemEvent


Mim1   (2004-09-08 17:24:00) [5]

Вешайте сообщение что размер файла слишком велик, и запускайте снова диалог выбора файла. Проще для вас, и понятнее для пользователя. А от представляете как он будет недоумевать когда при выделении файла кнопка станет неактивной.


TUser   (2004-09-08 11:31:00) [6]

> наследоваться от Subj
Это вряд ли - TOpenDialog инкапсулирует соотв. диалог из апи. А он этого вроде не умеет.


Gepard   (2004-09-08 11:26:00) [7]

ну видится мне два варианта по такому случаю - наследоваться от Subj или писать все ручками(выбор файлов, валидность и т.д.) В первом случае не знаю как получить указатель на кнопку, второй - долго и ..
Наследник уже есть - как достучаться до кнопки?

P.S.
В этом всем фигурирует какой-то Template


Семен Сорокин   (2004-09-08 11:20:00) [8]

ответ тоже не сложен - написать свой TOpenDialog


Наверх

Титульная страница Поиск, карта сайта Написать письмо