AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Ereignis OnClick nur wenn gewollt ausführen
Thema durchsuchen
Ansicht
Themen-Optionen

Ereignis OnClick nur wenn gewollt ausführen

Ein Thema von haentschman · begonnen am 4. Okt 2009 · letzter Beitrag vom 4. Okt 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

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

Re: Ereignis OnClick nur wenn gewollt ausführen

  Alt 4. Okt 2009, 10:32
Zitat von haentschman:
das OnClick wird nur ausgeführt, wenn sich der Wert ändert. Wenn die Checkbox False ist und auf False gesetzt wird passiert gar nix. Das hat mich ein wenig in die Irre geführt.
Das liegt an der VCL, denn diese prüft vorher oftmals, ob sich etwas ändert und fürht nur dann diese Änderungen aus.

in deinem Fall: (SetChecked greift auf SetState zu)
Code:
procedure TCustomCheckBox.SetState(Value: TCheckBoxState);
begin
  [color=#ff0000][b]if FState <> Value then[/b][/color]
  begin
    FState := Value;
    if HandleAllocated then
      SendMessage(Handle, BM_SETCHECK, Integer(FState), 0);
    [color=#ff0000][b]if not ClicksDisabled then Click;[/b][/color]
  end;
end;
Und wenn man das so sieht, dann müßte man doch nur rausfinden, wie ClicksDisabled gesetzt wird
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.293 Beiträge
 
Delphi 12 Athens
 
#12

Re: Ereignis OnClick nur wenn gewollt ausführen

  Alt 4. Okt 2009, 10:39
Danke für Eure Anteilnahme

das einfachste wird wohl der OI sein. Bei den paar RadioButtons kann ich das manuell setzen.

einen schönen Sonntag
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Ereignis OnClick nur wenn gewollt ausführen

  Alt 4. Okt 2009, 10:43
joar, wird wohl das Einfachste sein, denn z.B. ist irgendwer auf die seltendämliche Idee gekommen ClicksDisabled nur Protected sein zu lassen

Delphi-Quellcode:
THackedCheckBox = class(TCheckBox)
public
  property ClicksDisabled;
end;

THackedCheckBox(YourCheckBox).ClicksDisabled := True;
YourCheckBox.Checked := ...;
THackedCheckBox(YourCheckBox).ClicksDisabled := False;
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
Seite 2 von 2     12   


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 07:06 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