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 |
, um Attribute auszulsesen (den Wert des 4. Bits) - Erst dann konnte man zB eine Checkbox einhaken, um es anschaulich darzustellen...
Funktionen:- Setzen von Value, Ausgabe durch die Checkboxen
- Holen von Value, wird aus den Checkboxen entnommen
- Alle anderen Eigenschaften und Methoden von TRadioGroup
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:
zsoerenm 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.
zsoerenm 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".
zsoerenm 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.
_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.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!