AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Click-Ereignis für Panel und untergeordnete Komponenten
Thema durchsuchen
Ansicht
Themen-Optionen

Click-Ereignis für Panel und untergeordnete Komponenten

Offene Frage von "messinger"
Ein Thema von messinger · begonnen am 4. Jul 2011
Antwort Antwort
messinger

Registriert seit: 17. Sep 2008
13 Beiträge
 
#1

Click-Ereignis für Panel und untergeordnete Komponenten

  Alt 4. Jul 2011, 16:35
Hallo Leute,

ich hoffe ihr könnt mir helfen. Erstmal zu dem was ich machen will:

Ich entwickle zur Zeit eine neue Komponente, abgeleitet von TPanel. Auf dem Panel befinden sich weitere Komponenten, wie bspw. Labels, Edits, ... Beim Click auf das Panel wird eine bestimmt Aktion ausgeführt (bspw. Farbe soll sich ändern). Meine neue Komponente soll sich grundsätzlich ansonsten wie ein normales Panel verhalten können. Bspw. soll der Nutzer auch das OnClick-Event selber setzen können. Also habe ich die Prozedur Click überschrieben (und nicht einfach OnClick einen festen Ereignis-Handler zugewiesen). Das funktioniert auch soweit.
Jetzt soll das gleiche auch passieren (also das Panel bspw. farbig werden), wenn man auf eine der untergeordneten Komponenten klickt. Dazu könnte ich natürlich deren OnClick-Ereignisse verwenden. Die sollen aber jeweils außerhalb der Komponente (weiterhin) verwendet werden können. Wenn ich bspw. UntergeordnetesLabel.Click innnerhalb der Komponente verwende und dann dabei das Click vom Panel aufrufe, funktioniert das doch nur, solange niemand von außen das OnClick des Labels neu setzt, oder?.

So jetzt die Fragen:
1. Hat jemand eine elegante Lösung(-sidee) für das Problem?
2. Probiert hatte ich die Verwendung von WM_Command oder CN_Command. Also
Delphi-Quellcode:
  protected
    procedure WMCommand(var Message: TWMCommand); message WM_COMMAND;
bzw.

Delphi-Quellcode:
  protected
    procedure CNCommand(var Message: TWMCommand); message CN_COMMAND;
Irgendwie wird das Ereignis aber nie getriggert, weder beim Click auf das Panel noch auf eine der untergeordneten Komponenten. Was mache ich da falsch?

Vielen Dank!
  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 03:08 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