Читать «Виртуальная библиотека Delphi» онлайн - страница 73

Unknown

  inherited;

  // Формируем параметры диалога

  CreateDialogParams(FDlgParams);

  // Создаем диалог

  with FDlgParams do

    CreateDialogParam(hInstance, Template, WndParent, WndCallback, 0);

end;

////////////////////////////////////////////////////////////////////////////////

// Деструктор

////////////////////////////////////////////////////////////////////////////////

destructor TLiteDialog.Destroy;

begin

  // Уничтожаем диалог

  if IsWindow(FWndHandle) then DestroyWindow(FWndHandle);

  // Уничтожение по умолчанию

  inherited;

end;

////////////////////////////////////////////////////////////////////////////////

// Формирование параметров диалога по умолчанию

////////////////////////////////////////////////////////////////////////////////

procedure TLiteDialog.CreateDialogParams(var DialogParams: TDialogParams);

begin

  DialogParams.WndParent := FWndParent;

  DialogParams.Template  := '';

end;

////////////////////////////////////////////////////////////////////////////////

// Обработка сообщений по умолчанию

////////////////////////////////////////////////////////////////////////////////

procedure TLiteDialog.DefaultHandler(var Msg);

begin

  // Возвращаемые значения по умолчанию

  with TMessage(Msg) do

    if Msg = WM_INITDIALOG then Result := 1

                           else Result := 0;

end;

Реализация модального диалогового класса TLiteDialogBox

////////////////////////////////////////////////////////////////////////////////

// TLiteDialogBox

// _________________________________________________________

// Инициализация / финализация

////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////

// Формирование параметров диалога по умолчанию

////////////////////////////////////////////////////////////////////////////////

procedure TLiteDialogBox.CreateDialogParams(

var DialogParams: TDialogParams);

begin

  DialogParams.WndParent := FWndParent;

  DialogParams.Template  := '';

end;

////////////////////////////////////////////////////////////////////////////////

// Активизация модального диалога

////////////////////////////////////////////////////////////////////////////////

function TLiteDialogBox.ShowModal: Integer;

begin

  // Формируем параметры диалога

  CreateDialogParams(FDlgParams);

  // Показываем диалог

  with FDlgParams do

    Result := DialogBoxParam(hInstance, Template, WndParent,

WndCallback, 0);

end;

////////////////////////////////////////////////////////////////////////////////