AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Panel.OnClick als If-Bedingung. WIE????
Thema durchsuchen
Ansicht
Themen-Optionen

Panel.OnClick als If-Bedingung. WIE????

Ein Thema von Hilfesucher · begonnen am 11. Mai 2007 · letzter Beitrag vom 11. Mai 2007
Antwort Antwort
Hilfesucher

Registriert seit: 11. Mai 2007
1 Beiträge
 
#1

Panel.OnClick als If-Bedingung. WIE????

  Alt 11. Mai 2007, 20:41
He Leute,

ich brache Hilfe bei eine If-Bedingung.
Ich will für etwa 52 Panel eine Procedure schreiben, mit der ich das angeklickte Panel Gelb färbe und beim zweiten klick wieder auf die Standartfarbe.

Damit ich nicht 52 Proceduren schreiben muss wollte ich mit FindCompnent arbeiten, doch dazu muss ich dann auch wissen welches Panel die Procedure gestartet hat.

Mein Versuch war:

Delphi-Quellcode:
var i, Panel_Zahl : integer;
begin
for i := 1 to 52 do
    begin
    if ((Form4.FindComponent('Panel'+IntToStr(i)) as TPanel).OnClick = [b]true[/b]) {Hier ist mein Problem}
    then if (Form4.FindComponent('Panel'+IntToStr(i)) as TPanel).color = clBtnFace
         then (Form4.FindComponent('Panel'+IntToStr(i)) as TPanel).color := clyellow;
         else (Form4.FindComponent('Panel'+IntToStr(i)) as TPanel).color := clBtnFace;
    end;
end;
Kann mir jemand helfen?


MsfG Hilfesucher
  Mit Zitat antworten Zitat
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#2

Re: Panel.OnClick als If-Bedingung. WIE????

  Alt 11. Mai 2007, 20:48
Also wenn mich nicht alles täuscht, dann kannst du doch beim FormCreate mit einer for..to Schleife den Panels eine Prozedur zuweisen, und dazu erstellst du dann halt deine gewünschte.

z.B. so:
Delphi-Quellcode:
for i := 1 to 52 do
  F(orm4.FindComponent('Panel' + IntToStr(i)) as TPanel).OnClick := DeineProzedur;
Hoffe ich verzapf da nun keinen Müll Und das ist das was du möchtest!
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#3

Re: Panel.OnClick als If-Bedingung. WIE????

  Alt 11. Mai 2007, 20:49
Die Eventhandler haben einen Parameter Sender vom Typ TObject. Das ist der Auslöser des Events, also in dem Fall dein Panel. Kannst du auf TPanel casten.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#4

Re: Panel.OnClick als If-Bedingung. WIE????

  Alt 11. Mai 2007, 20:58
und so sieht die Prozedure zum Farbwechsle beim Click aus
Delphi-Quellcode:
procedure DeineProzedure(Sender: TObject)
begin
  if (Sender as TPanel).Color = clSilver then
    (Sender as TPanel).Color := clYellow
  else
    (Sender as TPanel).Color := clSilver;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:17 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