Окно в виде звезды




Что делать, если система не работает? Программист должен из нее выйти и опять войти. Что делать, если программист не работает? Начальник должен в него войти и выйти. Несколько раз.


unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
Label1: TLabel; //Это метка для отображения времени
Timer1: TTimer; //Это таймер - с помощью него мы отображаем время
Image1: TImage; //Компонент Image - нужен для вывода рисунка на форме
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{Для перемещения формы вне заголовка объявляем процедуру}
procedure WMNCHitTest(var M:TWMNCHitTest);message wm_NCHitTest;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{Для перемещения формы вне заголовка описываем процедуру}
procedure TForm1.WMNCHitTest(var M: TWMNCHitTest);
begin
inherited;
if M.Result = htClient then
M.Result := htCaption;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
hsWindowRegion, hsWindowRegion2: integer;
p: array [0..11] of TPoint;
begin
p[0].x:=30; p[0].y:=40;
p[1].x:=80; p[1].y:=70;
p[2].x:=95; p[2].y:=20;
p[3].x:=110; p[3].y:=70;
p[4].x:=160; p[4].y:=40;
p[5].x:=130; p[5].y:=85;
p[6].x:=260; p[6].y:=230;
p[7].x:=110; p[7].y:=100;
p[8].x:=95; p[8].y:=200;
p[9].x:=80; p[9].y:=100;
p[10].x:=30; p[10].y:=130;
p[11].x:=60; p[11].y:=85;
hsWindowRegion:=CreatePolygonRgn(P,12,Alternate);
hsWindowRegion2:=CreateEllipticRgn(50,50,140,120);
CombineRgn(hsWindowRegion, hsWindowRegion, hsWindowRegion2, rgn_or);
SetWindowRgn(Handle, hsWindowRegion, true);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption:=TimeToStr(Time);
end;
end.


Далее: Окно в виде кольца »»