Главная страницаОбратная связьКарта сайта

Вывод пояснения о текущей операции

Автор: Роман Василенко
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Вывод пояснения о текущей операции.

При вызове этой функции на экране появляется табличка с указанной
в параметре msg надписью. В параметрах TxColor, BgColor и BvColor
определяются цвета текста, заливки и рамки, соответственно.
Возвращает функция ссылку на объект типа TForm, который необходимо
освободить, когда табличка уже не нужна.

Вероятная проблема: Если у Вас слишком много текста в табличке,
она может не уместиться на экране и вылезет краями за его предел.

Зависимости: Forms, StdCtrls, ExtCtrls, Controls, Graphics, Classes;
Автор:       Роман Василенко, romix@nm.ru, Пятигорск
Copyright:   Роман Василенко
Дата:        23 сентября 2002 г.
***************************************************** }

//ИМХО, нечего комментировать здесь.

function ShowWaitMsg(msg: string; TxColor, BgColor, BvColor: tcolor): tform;
var
  frm: tform;
  lb: tlabel;
  sh: tshape;
begin
  frm := tform.CreateNew(Application);
  with frm do
  begin
    BorderIcons := [];
    borderstyle := bsNone;
    position := poScreenCenter;
    sh := tshape.create(frm);
    sh.parent := frm;
    sh.Align := alClient;
    sh.brush.color := BgColor;
    sh.pen.color := BvColor;
    sh.pen.style := pssolid;
    sh.Pen.Width := 2;
    lb := tlabel.Create(frm);
    lb.parent := frm;
    lb.Left := 10;
    lb.top := 5;
    lb.Caption := msg;
    lb.Font.Size := 14;
    lb.Font.Style := [fsbold];
    lb.Alignment := taCenter;
    lb.AutoSize := true;
    lb.Transparent := true;
    lb.WordWrap := true;
    clientwidth := lb.Canvas.TextWidth(msg) + 20;
    clientheight := lb.Canvas.TextHeight(msg) + 10;
    lb.Font.color := TxColor;
    show;
  end;
  application.processmessages;
  result := frm;
end;

Пример использования:

// Например, заводим переменную:
var
  f: tform;

// Для появления таблички, делаем:
f := ShowWaitMsg("Привет! Это программа Васи Пупкина!",
  clWhite, ClNavy, clBlack);

// Для того, чтобы потом избавиться от нее:
f.free;

Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Вывод пояснения о текущей операции", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info