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

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Автор: Роман Василенко

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;

{/codecitation}

Добавить комментарий