|
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | hvordanregistrere man et musseklik på runt~ Fra : Wiljan |
Dato : 20-06-02 15:52 |
|
Hej
Jeg har brug for en masse panler i et program og har lavet følgende:(jeg
skal bruge mange flere end 4)
var
Panel_box : array[1..64] of TPanel;
for x:=1 to 4 do
begin
Panel_box[x]:=Tpanel.Create(form1);
Panel_box[x].width:=25;
Panel_box[x].height:=10;
Panel_box[x].top:=100;
Panel_box[x].Left:=100+(x*50);
Panel_box[x].parent:=form1;
Panel_box[x].Caption:=inttostr(x);
end
N er det jeg har brug for at registrere / hvilket panel der bliver klikket
på og jeg har jo ikke en nomal event som Panel4.OnMouseUp.
Gode råd modtages, tak
Wiljan
| |
Juno (20-06-2002)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Juno |
Dato : 20-06-02 17:32 |
|
"Wiljan" <Wiljan@post8.tele.dk> skrev i en meddelelse
news:3d11ebf5$0$53198$edfadb0f@dspool01.news.tele.dk...
> Jeg har brug for en masse panler i et program og har lavet følgende:(jeg
> skal bruge mange flere end 4)
>
--snip kode--
>
> N er det jeg har brug for at registrere / hvilket panel der bliver klikket
> på og jeg har jo ikke en nomal event som Panel4.OnMouseUp.
> Gode råd modtages, tak
Du kan navngive dine komponenter (bare for at kunne kende forskel på dem),
og lave en mousedown-event og tildele dem alle denne event.
Jeg har tilføjet to linier og en mousedownevent, til den kode du skrev:
var
Panel_Box: array[0..4] of TPanel;
procedure TForm1.PanelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ShowMessageFmt('You pressed %s',[TPanel(Sender).Name]);
if TPanel(Sender).Color = clGreen then
TPanel(Sender).Color := clBlue else
TPanel(Sender).Color := clGreen;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
x: Integer;
begin
for x :=0 to 4 do
begin
Panel_box[x]:=Tpanel.Create(Form1);
Panel_box[x].Width:=25;
Panel_box[x].Height:=10;
Panel_box[x].Top:=100;
Panel_box[x].Left:=100+(x*50);
Panel_box[x].Parent := Form1;
Panel_box[x].Caption := IntToStr(x);
Panel_Box[x].Name := Format('Panel%d',[x]);
Panel_Box[x].OnMouseDown := PanelMouseDown;
end;
end;
For at undersøge hvilket panel der blev trykket på, kan du blot "type
cast'e" Sender til TPanel:
PanelTrykketPå := TPanel(Sender);
--
*/*
jUno
spamfilter: Fjern din bh
| |
Wiljan (20-06-2002)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Wiljan |
Dato : 20-06-02 17:57 |
|
Det virker, tusind tak
Wiljan
| |
|
|