Внешний вид сайта:

Добавление CheckBox в диалоговое окно

Предположим, что у Вас имеется диалоговое окно, в котором пользователь может отметить CheckBox Не показывать это окно снова… Когда пользователь закрывает окно, программа может сохранить состояние переключателя (отмечено/не отмечено) в глобальной переменной. В следующий раз, когда должно будет отобразиться диалоговое окно, программа проверит переменную, если отмечено, то просто не отображает это окно.

Диалог с CheckBox

Идея реализации проста:

  1. Создаем диалоговое окно, используя CreateMessageDialog
  2. Эта функция возвратит объект формы диалогового окна
  3. В этот объект мы можем добавить CheckBox
  4. Отображаем диалоговое окно, используя ShowModal
  5. Проверяем результат и обрабатываем состояние CheckBox
  6. Уничтожаем созданный 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;

Все!!!

Комментарии

Нет комментариев. Ваш будет первым!