AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Hä? Warum ist das Ändern von Checked ein Click?
Thema durchsuchen
Ansicht
Themen-Optionen

Hä? Warum ist das Ändern von Checked ein Click?

Ein Thema von Alallart · begonnen am 29. Jun 2023 · letzter Beitrag vom 5. Jul 2023
Antwort Antwort
klaus schaaff

Registriert seit: 25. Jul 2009
24 Beiträge
 
#1

AW: Hä? Warum ist das Ändern von Checked ein Click?

  Alt 3. Jul 2023, 14:11
Hallo,

@Uwe Raabe
@jaenicke

ich habe StdCtrls.pas in allen Versionen von Delphi 5 bis Delphi 10 duchsuchen lassen nach 'ClicksDisabled' und 'FClicksDisabled'. Keine der Versionen von TCustomCheckBox enthält diese property. Eine Frage bleibt offen, die ich nicht exakt beantworten kann. Hatten Updates dieser Delphi Versionen vielleicht doch TCustomCheckBox property ClicksDisabled eingebunden?
Ich finde es schade, dass es kein offizielles Tool gibt, um diese Fragen korrekt zu bentworten.

Dagegen haben TButtonControl und TRadioButton ClicksDisabled.

Ein Kuriosum gibt es dennoch:

Delphi-Quellcode:
procedure TCustomCheckBox.SetState(Value: TCheckBoxState);
begin
  if FState <> Value then
  begin
    FState := Value;
    if HandleAllocated then
      SendMessage(Handle, BM_SETCHECK, Integer(FState), 0);
    if not ClicksDisabled then Click; // <- Hier
  end;
end;
Das ist die einzige Stelle.

In Delphi wurden schon immer Quelltext-Dateien *.pas mit leicht verändertem Code ausgeliefert, als die complierten *.dcu. Das scheint ein solcher Fall zu sein.

Alle Versuche mit Casts TButtonControl(CheckBox1).ClicksDisabled führten zu nichts, auch Debug dcu's dazu zuschalten brachten keinen Erfolg. Vielleicht hat jemand eine Idee, wie man doch zu CheckBox1.ClicksDisabled kommt.


Liebe Grüße
Klaus Schaaff
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.369 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Hä? Warum ist das Ändern von Checked ein Click?

  Alt 3. Jul 2023, 14:32
Dagegen haben TButtonControl und TRadioButton ClicksDisabled.
Und TCustomCheckBox ist von TButtonControl abgeleitet...

Wie schon geschrieben, die TCheckBox funktioniert mit ClicksDisabled seit Delphi 4 so.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
freejay

Registriert seit: 26. Mai 2004
Ort: Nürnberg
269 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Hä? Warum ist das Ändern von Checked ein Click?

  Alt 3. Jul 2023, 14:40
Also wenn ich im Code versuche, bei einer TCheckBox eine Property oder Methode mit "click" zu finden bekomme ich nur "OnClick" , kein "ClicksDisabled"...
[Delphi 11.3.1 Enterprise; Win10/11; MySQL; VCL]
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.434 Beiträge
 
Delphi 7 Professional
 
#4

AW: Hä? Warum ist das Ändern von Checked ein Click?

  Alt 3. Jul 2023, 15:16
Also wenn ich im Code versuche, bei einer TCheckBox eine Property oder Methode mit "click" zu finden bekomme ich nur "OnClick" , kein "ClicksDisabled"...
Ist beim VorVorfahren von TCheckBox als Protected deklariert.
Delphi-Quellcode:
...
  TButtonControl = class(TWinControl)
  private
    FClicksDisabled: Boolean;
...
  protected
...
    property ClicksDisabled: Boolean read FClicksDisabled write FClicksDisabled;

...
  TCustomCheckBox = class(TButtonControl)
...
  TCheckBox = class(TCustomCheckBox)
...
Eigenschaft in 'nem Nachfahren veröffentlichen?
Delphi-Quellcode:
type
  TMyCheckBox = class(TCheckBox)
  published
    property ClicksDisabled: Boolean;
  end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Hä? Warum ist das Ändern von Checked ein Click?

  Alt 3. Jul 2023, 15:26
Click ist nur Protected, also aus "deinem" Code auch nicht zugänglich.
Bei TButton dagegen wurde es nach Puplic verschoben, somit kann dort direkt aufgerufen werden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 04:26 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