AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Child-Controls während DesignTime anklickbar

Ein Thema von Andreas L. · begonnen am 10. Dez 2013 · letzter Beitrag vom 10. Dez 2013
Antwort Antwort
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#1

Child-Controls während DesignTime anklickbar

  Alt 10. Dez 2013, 10:13
Hallo,

ich habe mir eine Komponente von TPanel abgeleitet. Auf diesem Panel werden bereits während der DesignTime u. a. Buttons erstellt. Das funktioniert auch, nur sind die Buttons in der IDE klickbar. Gibt es eine Möglichkeit ein Control während der DesignTime zu deaktivieren ohne dessen Enabled-Eigenschaft zu verwenden (denn damit wird der Button auch deaktiviert dargestellt)?

Schöne Grüße und schon mal Danke,
Andreas
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: Child-Controls während DesignTime anklickbar

  Alt 10. Dez 2013, 11:48
Das verstehe ich jetzt nicht: Wieso möchtest du erreichen, daß eine Komponente auf deinem Formular nicht mehr anwählbar ist? In meinem RadStudio2009 gibt es unter Bearbeiten den Menüpunkt Elemente fixieren. Das betrifft aber alle auf der Form befindlichen Komponenten: die sind dann nicht mehr editierbar.

Auch wenn du zur Designtime das Property Enabled einer Komponente auf False setzt, bleibt diese noch immer anwähl- und bearbeitbar.

Also: Was möchtest du wirklich? Worum geht es hier?
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Child-Controls während DesignTime anklickbar

  Alt 10. Dez 2013, 11:55
Ich verstehe es so, dass es um eine Komponente geht, die sich aus mehreren fixen Elementen zusammensetzen soll. Und diese Unter-Elemente, die vollständig von der Komponente konfiguriert und verwaltet werden, sollen im Formular-Designer zwar sichtbar, aber nicht veränderbar sein.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Child-Controls während DesignTime anklickbar

  Alt 10. Dez 2013, 12:02
Hi Perlsau,

die Buttons sollen schon noch editierbar sein. Ich meinte das die Buttons nicht wie zur Laufzeit reagieren sollen. z. B. bei MouseOver ändert sich die Farbe oder bei Klick wird der Button im "Gedrückt"-Stil angezeigt. Siehe Anhang. Hast du eine Idee was man da machen kann.

So sollen die Buttons während der DesignTime immer aussehen, egal ob sich die Maus darüber befindet oder gar geklickt wird:
delphi-button-designtime-normal.png

Und so siehts derzeit aus:

delphi-button-designtime-hover.png
Hover

delphi-button-designtime-down.png
Geklickt

Ich verstehe es so, dass es um eine Komponente geht, die sich aus mehreren fixen Elementen zusammensetzen soll. Und diese Unter-Elemente, die vollständig von der Komponente konfiguriert und verwaltet werden, sollen im Formular-Designer zwar sichtbar, aber nicht veränderbar sein.
Genau so ist es
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: Child-Controls während DesignTime anklickbar

  Alt 10. Dez 2013, 12:15
Zwar habe ich dieselbe IDE wie du (2009pro), kann es hier aber nicht nachvollziehen, daß ein Button (oder BitBtn) zur Designtime auf MouseOver reagiert. Bei mir bleibt das Aussehen der Buttons zur Designtime immer gleich. Einzig wenn ich einen Button auf Enabled := False stelle, ändert sich dessen Erscheinungsbild, wenn es sich z.B. um einen BitBtn mit 3 Glyphs handelt.

Offenbar ist bei mir Standard, was du erreichen möchtest. Jetzt müssen wir nur noch herausfinden, wie du es angestellt hast, daß deine Buttons (oder andere Komponenten) zur Designtime so reagieren.

Eines fällt mir jetzt erst auf: Oben schreibst du: "die Buttons sollen schon noch editierbar sein". Dann aber stimmst du Daniels Interpretation "sollen im Formular-Designer zwar sichtbar, aber nicht veränderbar sein" zu, indem du sagst: "Genau so ist es". Irgendwie kann ich mich des Eindrucks nicht erwehren, daß sich diese beiden Aussagen widersprechen: Also entweder sollen die Buttons weiterhin editierbar sein oder eben nicht ...

Geändert von Perlsau (10. Dez 2013 um 12:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Child-Controls während DesignTime anklickbar

  Alt 10. Dez 2013, 15:43
Owner der Komponenten ist die Form und dazu noch Delphi-Referenz durchsuchenTComponent.SetDesigning.
Hier aber nicht vergessen, daß die Sub-Komponenten nicht mehr im Constuktor erstellt werden sollten, sondern im Loadet (wenn csLoading und Subkomponenten noch nicht vom DFM-Loader geladen) oder im AfterConstruction (wenn kein csLoading).

Oder du erstellst die Komponenten über die ToolsAPI, bzw. lässt sie dir FormEditor erstellen.


Eventuell auch noch mit SetSubComponent arbeiten (dabei ist der Owner dann dein Panel).


Oder du verwendest ein Frame, anstatt des Panels.
$2B or not $2B

Geändert von himitsu (10. Dez 2013 um 15:48 Uhr)
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Child-Controls während DesignTime anklickbar

  Alt 10. Dez 2013, 17:10
Owner der Komponenten ist die Form und dazu noch Delphi-Referenz durchsuchenTComponent.SetDesigning.
Das ist die Lösung. Owner der Buttons auf das Eltern-Element (Self) setzen und außerdem SetDesigning "überschreiben" und damit den 2. Parameter immer auf True setzen. Vielen Dank

Eines fällt mir jetzt erst auf: Oben schreibst du: "die Buttons sollen schon noch editierbar sein". Dann aber stimmst du Daniels Interpretation "sollen im Formular-Designer zwar sichtbar, aber nicht veränderbar sein" zu, indem du sagst: "Genau so ist es". Irgendwie kann ich mich des Eindrucks nicht erwehren, daß sich diese beiden Aussagen widersprechen: Also entweder sollen die Buttons weiterhin editierbar sein oder eben nicht ...
Die Buttons sollen verschoben und in der Größe geändert werden können. Aber z. B. Hover-Effekte sollen zur Design-Time nicht sichtbar sein. So meinte ich das mit editierbar sein.
Andreas Lauß
Blog
  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 16:07 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