1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
procedure FormResize(Sender: TObject);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormCreate(Sender: TObject);
private
{ Déclarations privées }
bFormCreated: Boolean;
Panels : array[0..6] of TPanel;
procedure changePolicePanel;
procedure PanelsMouseMove(Sender: TObject; Shift: TShiftState;X, Y: Integer);
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormResize(Sender: TObject);
var i : integer;
begin
if bFormCreated then begin
For i:=0 to 6 do
begin
Panels[i].Left:=i*ClientWidth div 6;
Panels[i].Width:=ClientWidth div 6;
end;
end;
With GroupBox1 do
begin
Top:=50;
Height:=self.ClientHeight-Top; Width:=self.ClientWidth div 5;
end;
end;
procedure TForm1.changePolicePanel;
var i : integer;
begin
For i:=0 to 6 do
begin
Panels[i].Font.Size:=round(Panels[i].Width*Panels[i].Height*10/(107*50));
Panels[i].Font.Style:=[];
end;
end;
procedure TForm1.PanelsMouseMove(Sender: TObject; Shift: TShiftState;X, Y: Integer);
begin
ChangePolicePanel;
With TPanel(sender) do
begin
Font.Size:=round(Width*Height*10/(107*50)+2);
Font.Style:=[fsUnderLine];
end;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
ChangePolicePanel;
end;
procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
begin
bFormCreated := FALSE;
Width := Screen.Width;
Height := Screen.Height;
For i:=0 to 6 do
begin
Panels[i]:=TPanel.Create(self);
With Panels[i] do
begin
Parent:=self;
Top:=0; Height:=50;
Color:=clLime; Cursor:=CrHandPoint;
Font.Color:=clRed; Font.Name:='Arial';
Case i of
0 : Caption:='Afrique';
1 : Caption:='Asie';
2 : Caption:='Amérique';
3 : Caption:='Europe';
4 : Caption:='Océanie';
5 : Caption:='France';
6 : Caption:='Plus';
end;
OnMouseMove:=PanelsMouseMove;
end;
end;
bFormCreated := TRUE;
end;
end. |
Partager