Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.26;
Скачать: CL | DM;

Вниз

TOpenDialog   Найти похожие ветки 

 
Gepard ©   (2004-09-08 11:10) [0]

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


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

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


 
Gepard ©   (2004-09-08 11:26) [2]

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

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


 
TUser ©   (2004-09-08 11:31) [3]

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


 
Mim1 ©   (2004-09-08 17:24) [4]

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


 
MU ©   (2004-09-08 17:28) [5]

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


 
PVOzerski ©   (2004-09-08 17:32) [6]

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


 
GEN++ ©   (2004-09-08 19:36) [7]

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


 
Gepard ©   (2004-09-08 20:05) [8]

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

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

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



Страницы: 1 вся ветка

Текущий архив: 2004.09.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.053 c
1-1094977227
DVM
2004-09-12 12:20
2004.09.26
Русский язык в консольных приложениях под XP как сделать?


4-1092632719
Гость
2004-08-16 09:05
2004.09.26
NTBACKUP


1-1094556792
greenrul
2004-09-07 15:33
2004.09.26
миграция с Delphi на Cbuilder


1-1094588788
Антон
2004-09-08 00:26
2004.09.26
Подскажите как сделать тест с возможностью нескольких ответов.


3-1093835888
Sirus
2004-08-30 07:18
2004.09.26
Насчет индексов Interbase...