Autor Beitrag
combatman
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Mi 24.09.03 13:36 
Ich habe eine kleine Komponente programmiert, die von TPanel abgeleitet ist und neben einem anderen Aussehen auch eine Checkbox besitzt. Nun möchte ich mit der CheckBox das Panel und alle Unterkomponenten (also z.B. Buttons die darin liegen) deaktivieren. Das ist soweit kein Problem, nur wenn ich jetzt das Panel direkt mit inherited setEnabled(false); deaktivieren würde, könnte ich ja auch meine CheckBox nicht mehr anklicken. Andererseits möchte ich auch nicht die Unterkomponenten einfach immer deaktivieren (ist nur ein Modus von mehreren die ich vorgesehen habe), weil das meist nicht gut aussieht.
Gibt es eine Möglichkeit, Unterkomponenten einer Container-Komponente wie TPanel inaktiv (also nicht anklickbar) zu machen, ohne sie zu disablen? Ich habe schon alles mögliche versucht (den VCL-Source durchsucht, Mouseereignisse abgefangen [die kriege ich ja leider nicht mehr, wenn ich innerhalb des Buttons bin]), ... Hat da jemand einen Tipp?
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Mi 24.09.03 13:50 
hallo,

du könntest deine unterkomponente auf noch ein panel legen und dann das panel zu disablen. Dann sieht der anwender nicht, daß die disabled sind. Aber dennoch sind sie nicht anklickbar...

Gruß
Ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
combatman Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Mi 24.09.03 15:45 
Danke, diese Lösung ist zwar nicht die eleganteste, aber wenn es nicht anders geht...
Wie kriege ich es aber hin, dass, wenn man im Design-Modus Komponenten in das Panel wirft, die dann auch in dem eingeschachtelten Panel landen? Manuell ein weiteres Panel reinstellen und darein die Komponenten legen gefiele mir nun wirklich überhaupt nicht...