Статьи
|
Предположим, что у Вас имеется диалоговое окно, в котором пользователь может отметить CheckBox Не показывать это окно снова.... Когда пользователь закрывает окно, программа может сохранить состояние переключателя (отмечено/не отмечено) в глобальной переменной. В следующий раз, когда должно будет отобразиться диалоговое окно, программа проверит переменную, если отмечено, то просто не отображает это окно.
Идея реализации проста:
- Создаем диалоговое окно, используя CreateMessageDialog
- Эта функция возвратит объект формы диалогового окна
- В этот объект мы можем добавить CheckBox
- Отображаем диалоговое окно, используя ShowModal
- Проверяем результат и обрабатываем состояние CheckBox
- Уничтожаем созданный CheckBox и диалоговое окно
procedure TForm1.Button1Click(Sender: TObject);
var
AMsgDialog: TForm;
ACheckBox: TCheckBox;
begin
AMsgDialog := CreateMessageDialog(
'Это тестовое сообщение.', mtWarning, [mbYes, mbNo]) ;
ACheckBox := TCheckBox.Create(AMsgDialog) ;
with AMsgDialog do
try
Caption := 'Заголовок' ;
Height := 150;
with ACheckBox do
begin
Parent := AMsgDialog;
Caption := 'Не показывать больше...';
Top := 90;
Left := 8;
Width:= 200;
end;
if (ShowModal = ID_YES) then
begin
if ACheckBox.Checked then
// делаем, если отмечено
else
// делаем, если НЕ отмечено
end;
finally
Free;
end;
end;
Все!!!
|