Вывод пояснения о текущей операции
Автор: Роман Василенко
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;
|