Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];

Вниз

замена MessageDlg   Найти похожие ветки 

 
kot andrei   (2005-06-08 12:26) [0]

В программе есть эдит, в который можно вводить все кроме символов которые запрещено использовать при переименовании любого файла в Винде. Так вот когда пользователь набирает один из этих символов ему сразу выдается messageDlg и удаляется последний символ в эдите. Так вот что мне не нравится это сам MessageDlg: отнимает фокус у окна, громоздский, короче слишком много ему внимания.

Посоветуйте пожалуйста что нибудь более ненавящевое, не отнимающее фокус и без использования сторонних компонент.

Заранее благодарен, с уважением.


 
Amoeba ©   (2005-06-08 13:12) [1]

Можно просто подавать звуковой сигнал вместо показа диалога.


 
Digitman ©   (2005-06-08 13:13) [2]


> В программе есть эдит


.. и у этого эдита есть событие OnKeyPress, в обработчике которого можно блокировать ввод "запрещенных" символов


> когда пользователь набирает один из этих символов ему сразу
> выдается messageDlg и удаляется последний символ в эдите ..мне не нравится ..


просто не выводи messageDlg - и всех делов !


> ненавящевое


это сильно !
или стильно ?)


 
kot andrei   (2005-06-08 13:40) [3]

>>Amoeba ©   (08.06.05 13:12) [1]
>>Можно просто подавать звуковой сигнал вместо показа диалога.
>>Digitman ©   (08.06.05 13:13) [2]
>>.. и у этого эдита есть событие OnKeyPress, в обработчике которого можно блокировать ввод "запрещенных" символов

надо еще сказать пользователю какие еще символы вводить нельзя, чтобы он не парился и не бил локтями по клаве.

>>просто не выводи messageDlg - и всех делов !

так вот в этом и вопрос: предложите замену пожалуйста!


 
Digitman ©   (2005-06-08 13:45) [4]


> надо еще сказать пользователю какие еще символы вводить
> нельзя, чтобы он не парился и не бил локтями по клаве.


ну и скажи ! какие проблемы-то ?

размести рядом с эдитом лейбл с текстом-подсказкой .. или хинт ..

можно и от диалога не отказываться, просто по его закрытию возвращать фокус эдиту вызовом метода SetFocus()


 
kot andrei   (2005-06-08 13:54) [5]

>>Digitman ©   (08.06.05 13:45) [4]
>>размести рядом с эдитом лейбл с текстом-подсказкой ..
что за хрень?

>>можно и от диалога не отказываться, просто по его закрытию
>>возвращать фокус эдиту вызовом метода SetFocus()
а ты думаешь я фокус куда передавал?

Вот на счет хинта подумать можно...
Тогда подскажите как его вызвать и подержать подольше


 
Digitman ©   (2005-06-08 14:00) [6]


> kot andrei   (08.06.05 13:54) [5]


> что за хрень?


совсем нюх потерял ?)
обычный TLabel !)


> а ты думаешь я фокус куда передавал?


а мне почем знать, в какой момент ты пытаешься фокус установить ?


> как его вызвать


Edit.ShowHint = True
Edit.Hint = "Боня, ты тупой ! Сколько раз тебе еще говорить, что строка пути к файлу НЕ может содержать такие-то символы ?"


 
kot andrei   (2005-06-08 14:10) [7]

>>Digitman ©   (08.06.05 14:00) [6]
>>совсем нюх потерял ?)
>>обычный TLabel !)

да что такое label я знаю, я про саму идею оповещения пользователя, ты где нибудь такое видел? я нет...

>>Edit.ShowHint = True
>>Edit.Hint = "Боня, ты тупой ! Сколько раз тебе еще говорить, что
>>строка пути к файлу НЕ может содержать такие-то символы ?"

это тоже понятно... подержать та его как подольше?


 
Digitman ©   (2005-06-08 14:21) [8]


> я про саму идею оповещения пользователя


пользователь твой настолько туп, что не может ассоциировать смысл текста подсказки, находящегося рядом с полем ввода, с тем что от него тобой требуется при вводе ?

купи ему контроллер, который будет управлять колотушкой, всякий раз смачно делающей "хрясь" по макушке юзера, когда он в очер.раз введет "неправильный" символ)


> подержать та его как подольше?


на уровне ОС, наверно, можно.
но - опять же ! - юзер такой тупой ? он не в состоянии прочитать за те пару-тройку секунд текст хинта и вникнуть в него ?


 
kot andrei   (2005-06-08 14:33) [9]

>>Digitman ©   (08.06.05 14:21) [8]
Я то тебя понимаю Digitman.
Но вот уровень IQ пользователя, предсказать я, ну не как не могу... Просто хочется сделать это наиболее удобочитаемым.


 
Digitman ©   (2005-06-08 14:43) [10]

подскажи ссылку на существующее ПО, в котором, по твоему мнению, подобная ситуация обрабатывается "грамотно" с т.з. потенциально "тупого Бони"...

пример это разберем с тобой, разложим по полкам, как-что и где там делается в этом плане ..


 
kot andrei   (2005-06-08 14:49) [11]

Ну например: создаем на рабочем столе *.txt файл, пытаемся его переименовать и в имени вводим символ ">", и смотрим что происходит...
Вот надо что-то подобное...

P.S. повторюсь: без доп. компонент.


 
Digitman ©   (2005-06-08 14:51) [12]


> и смотрим что происходит


и что, кстати, происходит ?


 
kot andrei   (2005-06-08 15:09) [13]

Выплывает маленькая подсказка о том, что вводить нельзя такие символы. Вроде как BaloonHint(или как там его). Digitman ну попробуй сам увидишь.


 
kot andrei   (2005-06-08 15:15) [14]

или в верхней части этого окна наведи на "Новости" , "Поиск" , "Faq" и появиться многострочный типа-хинт, который висит ровно столько сколько мыша находится над гиперссылкой.
Вот надо что то вроде этого реализовать.


 
Digitman ©   (2005-06-08 15:19) [15]


> kot andrei   (08.06.05 15:09) [13]


у меня в винтукее никаких "балонов" нет.

как только эдит-контрол, в который я ввел ">" в ходе редактирования имени файла, теряет фокус, я имею тот же самый диалог, в титле имеющий "Переименование", в тексте имеющий "Имя файла не должно содержать такие-то символы .." ...

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


 
kot andrei   (2005-06-08 15:21) [16]

У тебя XP?


 
Digitman ©   (2005-06-08 15:28) [17]

нет, Винтукей ... Воркстейшн Про ..


 
kot andrei   (2005-06-08 15:33) [18]

Жаль...
Ну тода на основе этого сайта
kot andrei   (08.06.05 15:15) [14]


 
Digitman ©   (2005-06-08 15:35) [19]


> kot andrei   (08.06.05 15:33) [18]


это не хинт ... точнее - не хинт станд. ОС-механизма.

обычное окно.


 
kot andrei   (2005-06-08 15:39) [20]

Предлагаешь делать None форму и скрывать через время?
Вообщем то тоже вариант. Ну какой-то блин, все равно корявый...
Ну да ладно, буду думать дальше...
P.S. Ну хочется мне сделать красиво и удобно...

Спасибо тебе огромное за внимание и участие!!!


 
Digitman ©   (2005-06-08 15:44) [21]


> kot andrei   (08.06.05 15:39) [20]


> Спасибо тебе огромное за внимание и участие


да..

защита от дурака - штука посложней батонокидательства) ... согласен) ...

успехов !


 
msguns ©   (2005-06-08 16:20) [22]

А как на счет того, чтобы в подвал формы с эдитами всандалить статуспанель и туда писать текст ошибки. Годится при любом количестве эдитов и не только. Если уж хочется покрасивше, то можно сделать текст моргающим или переливающимся всеми цветами радуги (TTimer в помощь)

Просто и сердито ;))


 
Digitman ©   (2005-06-08 16:22) [23]


> msguns ©   (08.06.05 16:20) [22]


если уж Боня-тупой не видит то что у него перед носом, красными аршинными буквами, с саундом и колотушкой по макушке репы, то подвал с текстом ему - что мертвому припарка)


 
Koala ©   (2005-06-08 18:47) [24]


>
>  [7] kot andrei   (08.06.05 14:10)
> >>Edit.ShowHint = True
> >>Edit.Hint = "Боня, ты тупой ! Сколько раз тебе еще говорить,
> что
> >>строка пути к файлу НЕ может содержать такие-то символы
> ?"
>
> это тоже понятно... подержать та его как подольше?


Application.HintHidePause := 10000; в милисекундах


 
kot andrei   (2005-06-11 09:39) [25]

Вот нашел более менее подходящую замену, правда юзеру на ОК все равно прийдется нажимать, но визуально поприятней сделано.
http://www.delphikingdom.com/asp/viewitem.asp?UrlItem=/treasury/hsdialogs.htm


 
Anatoly Podgoretsky ©   (2005-06-11 09:45) [26]

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


 
kot andrei   (2005-06-11 09:52) [27]

>>Обычный модальный диалог особой формы

что и требовалось...)


 
Anatoly Podgoretsky ©   (2005-06-11 10:01) [28]

Только нажатую клавишу возвращай обратно.



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

Форум: "Основная";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.043 c
3-1117517931
Max Zyuzin
2005-05-31 09:38
2005.07.11
ADO и обновление одной записи


1-1119452828
Суслик
2005-06-22 19:07
2005.07.11
Фокус при выводе диалоговых окон в MDI приложениях


4-1115761172
Serge KV
2005-05-11 01:39
2005.07.11
работа с LPT портом


6-1112683463
doktor
2005-04-05 10:44
2005.07.11
как узнать все IP в локальной сети


14-1118446282
Piter
2005-06-11 03:31
2005.07.11
Помогите определить что за песня





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский