Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Farben mehrerer Panels Ändern (https://www.delphipraxis.net/131430-farben-mehrerer-panels-aendern.html)

Gehstock 24. Mär 2009 22:53


Farben mehrerer Panels Ändern
 
Versuche das grad so was zu einer Exeption führt

Delphi-Quellcode:
procedure TEditor.ObenAlleAnClick(Sender: TObject);
var
I : Integer;
begin
 For I := 2 to 10 do
  Begin
   TPanel(I).Color := CLBlack;
  End;
end;

Gehstock 24. Mär 2009 23:04

Re: Farben mehrerer Panels Ändern
 
hat sich erledigt

Delphi-Quellcode:
procedure TEditor.ObenAlleAnClick(Sender: TObject);
var
I : Integer;
begin
 For I := 2 to 10 do
  Begin
   TPanel(FindComponent('Panel' + IntToStr(I))).Color := clBlack;
  End;
end;

Gehstock 24. Mär 2009 23:37

Re: Farben mehrerer Panels Ändern
 
Delphi-Quellcode:
Procedure TEditor.PanelClick(Sender: TObject);
Begin
 with Sender as TPanel do
  begin
   case Tag of
    2..10,12..20,22..30:
                        Begin
                         if TPanel(FindComponent('Panel' + InttoStr(Tag))).Color = clBtnFace then
                          TPanel(FindComponent('Panel' + InttoStr(Tag))).Color := clBlack
                         else
                          TPanel(FindComponent('Panel' + InttoStr(Tag))).Color := clBtnFace;
                        End;
   end;
  end;
 End;
ich will Eine Procedur für 27 Panels nutzen aber wieder der fehler mit der Exeption

mr_emre_d 24. Mär 2009 23:41

Re: Farben mehrerer Panels Ändern
 
:glaskugel: Fehlerbeschreibung?

:spin:

EDIT:
Ich vermute, dass du nur die Farbe des angeklickten Panels swappen(zb blau<->rot) willst.
Wenn dies der Fall ist, dann reicht es schon aus, den Sender statt FindComponent()
zu verwenden!

Dazu würde ich einfach ne Procedure ~PanelsClick(Sender: TObject); definieren
und beim Programmstart allen Panels -> OnClick via Findcomponent die zuvor
definierte Procedure zuweisen.

Gehstock 24. Mär 2009 23:46

Re: Farben mehrerer Panels Ändern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Die Markierten Panels sollen auf OnClick Schwarz werden bzw. wenn schon aktiviert wieder Grau

Gehstock 24. Mär 2009 23:56

Re: Farben mehrerer Panels Ändern
 
Danke das wars

_frank_ 25. Mär 2009 11:04

Re: Farben mehrerer Panels Ändern
 
findcomponent zu verwenden und ohne das Objekt vor dem Zugriff zu prüfen ist sehr gefährlich...

Gruß Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz