AGB  ·  Datenschutz  ·  Impressum  







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

CategoryPanel, disabled Komponenten

Ein Thema von Gausi · begonnen am 29. Mai 2022 · letzter Beitrag vom 30. Mai 2022
Antwort Antwort
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
885 Beiträge
 
Delphi 11 Alexandria
 
#1

CategoryPanel, disabled Komponenten

  Alt 29. Mai 2022, 17:10
Ich habe hier ein kleines Problemchen mit der TCategoryPanelGroup und den TCategoryPanels bei Delphi 11 (alle verfügbaren Patches installiert).

Wenn ich auf einem CategoryPanel eine Komponente (z.B. ein TEdit) hinzufüge, und die Eigenschaft Enabled des Edits im Objektinspektor auf False setze, dann ist es nicht erst nur zur Laufzeit disabled, sondern auch schon zur Designzeit. D.h. ich kann das Edit nicht mehr im Formdesigner auswählen und bearbeiten, sondern nur noch über den Eintrag im Struktur-Baum.

Kann das jemand nachvollziehen (dann wäre das wohl was für ein Ticket), oder habe ich bei mir irgendwas verstellt?

In 10.4 (CE) kann ich das nicht reproduzieren, da funktioniert alles wie erwartet.
The angels have the phone box.
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: CategoryPanel, disabled Komponenten

  Alt 30. Mai 2022, 11:29
Hi Gausi

Ich hab das eben so gut wie möglich unter vorhandenen Gegebenheiten nachgespielt, die da sind:
  • Mainform mit CategoryPanelGroup und 7 CategoryPanels, so seinerzeit in Sydney (nicht Australien) angelegt und in Alexandria neu gesetzt.
  • Auf noch leerem CategoryPanel neue Pagecontrol mit 2 Tabs gesetzt.
  • Funktioniert ohne Inhalt zur Design- und zur Laufzeit einwandfrei.
  • Andere CategoryPanels zeigen Frameinstanzen und/oder Pagecontrols mit Inhalt
Das funktioniert alles bestens.

Gruss
Delbor

Nachtrag: Wenn das CategoryPanelGroup Disabled ist, lässt es sich zur Designzeit normal bearbeiten (auf- und zuklappen), nicht aber zur Laufzeit.
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (30. Mai 2022 um 11:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
885 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: CategoryPanel, disabled Komponenten

  Alt 30. Mai 2022, 12:12
Hm, kann sein, dass ich mich nicht klar genug ausgedrückt habe.

Es ging mir um eine einzelne disabled-Komponente (direkt) auf einem enabled-CategoryPanel. Dieses (z.B.) Edit wird dann schon zur Designzeit ausgegraut und ist nicht mehr klickbar.

Wie das aussieht, wenn ich bei mir noch noch Groupboxen, PageControls o.ä. drauf habe, weiß ich nicht. Mein Szenario ist eine PageControl mit je einer CategoryPanelGroup auf den einzelnen TabSheets - also umgekehrt wie das, was du beschreibst. Ich habe das aber auch mit einem Minimal-Projekt nachvollziehen können: Form -> CategoryPanelGroup -> CategoryPanel -> Edit.

Ich füge das ggf. heute Abend mal per Anhang hinzu ...
The angels have the phone box.
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#4

AW: CategoryPanel, disabled Komponenten

  Alt 30. Mai 2022, 12:16
Ist aber doch Standard.
Wenn das Parent eines Objekt auf disabled steht ist alles was drauf liegt das ebenfalls war noch nie anders.
Ist ein unabhängiges verhalten von Delphi.
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
885 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: CategoryPanel, disabled Komponenten

  Alt 30. Mai 2022, 12:24
Das Parent (in dem Fall das CategoryPanel) ist Enabled. Nur eine Komponente darauf ist es nicht, bzw. soll es nicht sein.

Und zur Designzeit war das afaik noch nie so, dass eine Komponente, bei der man im Objektinspektor "Enabled = False" gesetzt hat, auch im Formdesigner (also innerhalb der IDE) nicht mehr anklickbar war ...

Es geht mir ausdrücklich nicht um das Verhalten zur Laufzeit.

Vielleicht ist das hier auch die falsche Rubrik, "Delphi-IDE" wäre evtl. passender.
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#6

AW: CategoryPanel, disabled Komponenten

  Alt 30. Mai 2022, 12:25
Ich kann das geschilderte Problem nachvollziehen. Da hat wohl jemand vergessen, den ComponentState auszuwerten.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
427 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: CategoryPanel, disabled Komponenten

  Alt 30. Mai 2022, 12:28
Ja, kann das hier unter D11.1 P1 nachvollziehen:

- TCategoryPanelGroup
- zwei Panels darin erstellen
- in das erste ein TEdit legen
- Dann das TEdit auf Enabled=False setzen

--> nun kann man es im Formdesigner nicht mehr auswählen. Aber die Auswahl via Strukturansicht bzw. Objektinspektor geht und so lassen sich dann auch Eigenschaften wieder ändern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: CategoryPanel, disabled Komponenten

  Alt 30. Mai 2022, 12:48
Neu eingefügte Edits
oder wenn gespeichert und die Unit neu geladen?



Wenn die Komponente (das Panel) die Subkomponenten nicht richtig verwalet, kann es passieren, dass das Edit garnicht weiß, dass es im Edit-Modus ist und sich somit so verhält, als wäre es zur Laufzeit.
Normal empfangen disablete Komponenten keine Maus/Tastaturereignisse und können somit auch via Klick nicht fokusiert werden (man klickt quasi durch, auf den Parent).

Im DesignModus ist die Komponente also nicht wirklich disabled (und leider vergessen einige Komponenten sich dort dennoch wie Disabled darzustellen, genauso, wie sie bei Visible=False im Editor nicht wirklich unsichtbar sind)




Und ja, es lässt sich nachstellen:
TCategoryPanelGroup -> eine/zwei Bereiche erstellen -> ein TEdit direkt rein -> Enabled = False -> und peng


Man könnte sich jetzt z.B. via Debugger in die IDE hängen und schauen was die Komponente intern sagt,
oder sich einen eignen TEdit-Nachfahren bauen, welcher seinen ComponentState (z.B. csDesigning/csDesignInstance) anzeigt.
$2B or not $2B

Geändert von himitsu (30. Mai 2022 um 12:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
885 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: CategoryPanel, disabled Komponenten

  Alt 30. Mai 2022, 19:35
Danke fürs testen bzw. bestätigen. Beim weiteren rumspielen fürs Ticket habe ich festgestellt, dass das Ansteuern per Tab oder Pfeiltasten weiter funktioniert. Ebenso sind dann die Resize-Anfasser aktiviert (darüber könnte man das letztlich auch noch per Maus verschieben), und verschieben per Strg+Pfeiltasten geht auch. Nur die Maus-Events scheinen ignoriert zu werden.

Hab mal ein Ticket aufgemacht - mal sehen, was draus wird. Groß selbst dran debuggen möchte ich nicht. Dazu fehlt mir die Erfahrung, und der Leidensdruck ist nicht groß genug für die ein oder zwei Controls, die ich per Default deaktiviert haben will auf meiner Form.

https://quality.embarcadero.com/browse/RSP-38333
The angels have the phone box.
  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 02:43 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