Entwickler-Ecke

Open Source Units - CheckGroup - RadioGroup mit Checkboxen


Jakob Schöttl - Mo 01.01.07 17:33
Titel: CheckGroup - RadioGroup mit Checkboxen
CheckGroup - RadioGroup mit Checkboxen
beihaltet TCheckGroup, als installierbare Komponente.


Wird verwendet, um Sets, die als ganze Zahl gespeichert sind, zB. Attribute von Dateien oder Fenstern zu bearbeiten und anschaulich darzustellen.

Beschreibung:
Ihr kennt vielleicht das Problem, dass ihr die Attribute einer Datei oder eines Fensters vom Benutzer ändern lassen wollt. Man musste mühsam logische Verknüpfungen wie zB.

Delphi-Quelltext
1:
2:
  ptz := Round(Power(2,3));
    if (Value and ptz) = ptz then {Attribut gesetzt!}
, um Attribute auszulsesen (den Wert des 4. Bits) - Erst dann konnte man zB eine Checkbox einhaken, um es anschaulich darzustellen...

Funktionen:


jaenicke - Fr 05.01.07 05:08

Ja, gut gemacht. Ich hab sowas auch schonmal programmiert, aber deins hat mehr Funktionen. :zustimm:

Sollte jemand eine ältere Version von Delphi verwenden, wo die Komponente so nicht kompiliert werden kann:
Hier ist eine Delphi 3 Version... (die Änderungen sind lediglich auskommentiert, nicht gelöscht)
Falls es unter Delphi 4 oder 5 im Original auch nicht geht: Damit gehts...

Nicht, dass ich noch Delphi 3 nutzen würde, aber vielleicht tuts ja noch jemand, deshalb mache ich meine Komponenten auch ab Delphi 3 tauglich (per Compilerdirektiven).


zsoerenm - Mo 14.05.07 20:50

Versteh ich das nun richtig, dass diese CheckGroup genauso funktioniert wie eine RadioGroup, bei der man Items hinzufügen kann, so dass neue Radiobuttons/ CheckBoxen hinzugefügt werden?

Wenn ja wie krieg ich das dann auf mein Formular/ Anwendung?
Für die RadioGroup muss ich oben im Registerreiter auf Standart klicken und dort kann ich mit diese Komponente auswählen, aber die CheckGroup finde ich dort nicht, obwohl die Komponente installiert habe. (Komponente -> Komponente installieren... -> Name der Unit ausgesucht und dann einfach auf OK)

Gibt es sowas auch für Edit Felder? würde mich sehr interessieren.

Tut mir leid ich bin noch sehr neu hier...

Gruß Sören


_frank_ - Di 15.05.07 01:11

moin,
warum nehmt ihr nicht einfach eine TChecklistbox und nutzt ggf. das OnDrawItem, um die Markierung zu "vertuschen"? Wüsste jetzt nichts, was diese nicht kann (inkl. mehrere Spalten)...
wegen den edit-feldern würde ich z.b. ein TStringgrid ohne fixedCols/fixedrows nehmen :)

HTH Frank


Jakob Schöttl - Mi 04.07.07 20:39

Sorry, dass ich so lang nicht geantwortet hab. Jetzt interessiert es wahrscheinlich auch keinen mehr, aber trotzdem:


user profile iconzsoerenm hat folgendes geschrieben:
Versteh ich das nun richtig, dass diese CheckGroup genauso funktioniert wie eine RadioGroup, bei der man Items hinzufügen kann, so dass neue Radiobuttons/ CheckBoxen hinzugefügt werden?

TCheckGroup und TRadioGroup sind sehr ähnlich, nur dass hier statt TRadioButtons
TCheckboxs sind. Und wie oben beschrieben gibt es eine zusätzliche Schlüssel-Eigenschaft.

user profile iconzsoerenm hat folgendes geschrieben:
Wenn ja wie krieg ich das dann auf mein Formular/ Anwendung?

Installieren, indem man ein neues Package erstellt (Datei > Neu > Package) und dann in der Registerkarte "Zusätzlich".

user profile iconzsoerenm hat folgendes geschrieben:
Gibt es sowas auch für Edit Felder? würde mich sehr interessieren.

Gibts noch nicht für Editfelder, wäre aber nicht schwer zu machen.




user profile icon_frank_ hat folgendes geschrieben:
warum nehmt ihr nicht einfach eine TChecklistbox und nutzt ggf. das OnDrawItem, um die Markierung zu "vertuschen"...

Es geht ja nicht nur um eine "Liste von Checkboxen", sondern darum, dass durch verODERte Potenzen eine Zahl berechnet wird. Ansonsten würde es natürlich auch mit einer CheckListBox gehen.