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

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

MessageDlg [D7, WinXP]


bushmen ©   (2005-09-18 23:22:00) 

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

if MessageDlg('Вы действительно хотите удалить запись?',mtConfirmation,[mbYes,mbNo],0,mbNo)=mrYes then begin

так при попытке компиляции выдается ошибка: "[Error] Unit1.pas(96): Too many actual parameters". Но ведь в соответствии с help'ом все должно проходить или я ошибаюсь?


Джо   (2005-09-19 23:51:00) [1]


>  [7] Defunct ©   (19.09.05 22:46)
> дык..
> вижу что вопрос не в этом, тока кнопка "YES" и так будет
> кнопкой по дефолту.

А ему как раз нужно не mbYes, а mbNo по дефолту :)


Defunct   (2005-09-19 22:46:00) [2]

Джо ©   (19.09.05 15:26) [6]

дык..
вижу что вопрос не в этом, тока кнопка "YES" и так будет кнопкой по дефолту.


Джо   (2005-09-19 15:26:00) [3]


>  [5] Defunct ©   (19.09.05 10:19)
> флажки легко запоминаются..

А зачем их запоминать?
И вопрос-то, в общем, не в этом, а в том, чтобы установить текущуюкнопку. Т.е., DEFBUTTON1, DEFBUTTON2и т.д.


Defunct   (2005-09-19 10:19:00) [4]

> Джо
флажки легко запоминаются..
0 - default
16 - "красный крест"
32 - "знак вопроса"
48 - "воскл. знак"
64 - "инфо"

if Application.MessageBox('Text','Caption', MB_YESNO + 32 ) = idYES  ...

в сабжевом варианте самое оно ;>


Джо   (2005-09-18 23:35:00) [5]


>  [3] Джо ©   (18.09.05 23:33)

Спешил, вот более корректный пример:

 Application.MessageBox('Text','Caption',(MB_YESNO or MB_DEFBUTTON2 or MB_ICONHAND))


Джо   (2005-09-18 23:33:00) [6]

По сабжу. Используй MessageBox - там можно задать (в флагах) кнопку по умолчанию.
Application.MessageBox(0,'Text',(MB_YESNO + MB_DEFBUTTON2))


Джо   (2005-09-18 23:26:00) [7]


>  Но ведь в соответствии с help'ом все должно проходить или

Плохо смотрел в Help. Последним параметром идет HelpCtx: Integer (help context для диалогового окна).


Yanis   (2005-09-18 23:25:00) [8]

В Help'е ошибка.


Наверх

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