![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Модальные формы [D6, Win2k]
Сатир © (2002-11-27 17:10:00)Есть модальная форма, на которой два поля ввода и два кнопки: ОК и Отменить.
В обработчике кнопки ОК есть такой код
procedure TEditColor.OKBtnClick(Sender: TObject);
begin
if edColorName.Text = "" then begin
ShowMessage("Enter Color Name!");
OKBtn.ModalResult:=mrCancel;
end else
if edColorFormula.Text = "" then begin
ShowMessage("Enter Color Formula!");
OKBtn.ModalResult:=mrCancel;
end else
OKBtn.ModalResult:=mrOK;
end;
вызов данной формы происходить так:
with TEditColor.Create(nil) do
try
if ShowModal = mrOk then begin
if edFromBase.Text<>"" then
ColorFormula:=edFromBase.Text+":"+edColorFormula.Text
else
ColorFormula:=edColorFormula.Text;
AddNewItem(lwColorFormulas,edColorName.Text, ColorFormula);
SaveItems;
end;
finally
Free;
end;
Вопрос: Как запретить закрытие модальной формы, если в одном из полей не введено значение?
Сатир (2002-11-27 17:40:00) [1]2McSimm © (27.11.02 17:13)
это теплее. thnX
2Переяслов Григорий © (27.11.02 17:14)
Ваш ответ неверный. Форма закроется в любом случае. Смотрите в место её вызова.
Переяслов Григорий (2002-11-27 17:14:00) [2]так и написать в обработчике кнопки Ok
ModalResult := mrNone;
McSimm (2002-11-27 17:13:00) [3]В OnCloseQuery формы
if (условие) then CanClose := False