Listbox mit Checkboxen
Hallo,
also TCheckbox macht es nicht. (Es sei denn, es gäbe eine Möglichkeit auch Header - also Zeilen ohne Checkbox am Anfang - normal zu markieren. Ohne Focus zeigt er gar nichts. Mit Focus nur ein eine gestrichelte Linie um den gewählten "header-Item".) Eine andere Möglichket: Eine gewöhnliche Listbox mit Checkboxen erweitern (per DrawFrameControl - siehe bei den Schweizer, dort mit Radiobutton). Das sieht zwar schon ganz schön aus, aber: 1. Sobald ein Item markiert wird, wird auch die Checkbox "gecheckt". Soll sie gar nicht, sondern nur, wenn man das eben explizit checked. Geht das zu machen? 2. Wie kann ich die Werte der Checkbox per Programm auslesen bzw. setzen? Ich denke da zurzeit etwas komplizierter. Evtl. kann man ja jedem Item eine TCheckbox zuordnen als Object und,ähnlich wie einen Tedit entsprechend positionieren. Aber, ob das sauber ist? Geht's vielleicht doch einfacher, direkter? Gruß Mattze |
AW: Listbox mit Checkboxen
|
AW: Listbox mit Checkboxen
|
AW: Listbox mit Checkboxen
Zitat:
Gruß Steku |
AW: Listbox mit Checkboxen
Mein Delphi 7 hat die bereits auf dem Reiter "Zusätzlich".
|
AW: Listbox mit Checkboxen
Zitat:
Grüße Klaus |
AW: Listbox mit Checkboxen
@Mattze: was für eine Delphi-Version hast du denn überhaupt? Kannst diese in deinem Profil vervollständigen!
|
AW: Listbox mit Checkboxen
Hallo,
sind ja schnell viele Antworten... Danke! Ich habe Delphi 7 pro. Ich habe leider etwas vergessen. Das 3. Wort sollte nicht "TCheckbox", sondern "TCheckLISTBox" heißen. Das geht allerdings auch aus dem nächsten Satz hervor, oder kennt jemand eine Eigenschaft Header für eine TCheckbox? Was soll das sein? Jedenfalls geht eine TCheckListbox wegen der Sonderbehandlung bei Headermarkierungen nicht! Usw. Siehe meine Frage. Gruß Mattze |
AW: Listbox mit Checkboxen
Ich hoffe mal, daß man aus der Starter die Suchfunktionen nicht entfernt hat...
- klick in die Komponentenpalette und tippe "checklistbox" ein - oder F6 drücken und gib "tchecklistbox" ein (der Fokus muß natürlich im Formeditor liegen) [edit] Header ... hmmm *guck* [add] Zitat:
|
AW: Listbox mit Checkboxen
Was zum Kuckuck meinst Du eigentlich mit Header? So etwas wie bei Grids? Hilft dann TListview ggf. weiter?
|
AW: Listbox mit Checkboxen
Zitat:
Für alle anderen, könntest Du bitte Dein Anliegen etwas verständlicher beschreiben? Gruß K-H |
AW: Listbox mit Checkboxen
Hallo himitsu,
danke für die schnelle Antwort. "Sonderbehandlung": siehe 2.-4. Satz meiner Frage, die in Klammern. Konkret bei mir: Ich habe ein Listview und eine checklistbox. In der Checklistbox sind verschiedene Inhalte. Mal alles mit checkboxen (alle möglichen Attribute), mal alles ohne (zum Bsp. Pfade). Wenn ich auf einen item in der Listview clicke (ein Dateiname), soll der "dazugehörige" Eintrag in der Checklistbox markiert werden. Bei den Einträgen mit Checkbox ist das OK. Ganz normal, wie auch bei einer einfachen Listbox. Bei den Einträgen ohne checkbox (als Header formatiert) funktioniert das nicht. Hat die Checklistbox keinen Focus, wird gar nichts markiert (bzw. angezeigt). Hat sie den Focus, wird nur ein Markierungsrahmen (gestrichelte Linie) um das gewählte Item angezeigt. Ich hätte das aber gerne auch "normal" markiert. Bisher habe ich da aber keine Möglichkeit gefunden. Bei einer normalen Listbox ist es zwar kein Problem, eine Checkbox reinzumalen (mit DrawFocusControl). Die wird aber "gecheckt", wenn der Item markiert wird. Soll sie natürlich nicht. Soll ja unabhängig funktionieren! Ich hoffe, ist jetzt etwas klarer geworden, worum es mir geht. Gruß Mattze @DeddyH: Siehe CheckListBox. Da gibt es die Eigenschaft Header! Damit kann man die Checkboxen für Items ausblenden, wenn man will. |
AW: Listbox mit Checkboxen
@Mattze
Ich mußte zwar erst viel mal lesen was du geschrieben hast, u. a. auch weil auch mir die Eigenschaft Header nicht bekannt war (jetzt kenne ich sie), aber jetzt habe ich verstanden was du fragst. Auf deine Frage #1: sowas in der Art habe ich auch schon gemacht, auch wenn es sich nicht um Checkboxen handelte. Ist schon zu lange her um Einzelheiten zu nennen, aber ich konnte damals auf den Mausklick innerhalb eines Bereiches reagieren. Ist bei Checkbox letztendlich auch nicht anders. Auf deine Frage #2: meinst du Auslesen bei CheckListBox oder wenn du aus Listbox deine eigene Checklistbox machst? |
AW: Listbox mit Checkboxen
Hallo Popov,
inzwischen habe ich rausbekommen, dass die Fragen 1. und 2. eng zusammenhängen. Ist ein Item markiert, so ist er "gecheckt". "Unchecked" man ihn, ist er auch nicht mehr markiert. Also: Markiert = "gecheckt", nicht markiert = nicht "gecheckt" Insofern ist der Zugriff auf die Werte der Checkbox für einen item klar. Das geht also normalerweise über seine Markierung. Genau das will ich aber eigentlich nicht. Ich möchte gerne die Checkbox unabhängig von der Markierung setzen bzw. löschen können. Im Prinzip heißt das, dass ich jedem Item 2 verschiedene Eigenschaften zuordnen möchte: Markiert oder nicht markiert und davon unabhängig "gecheckt" oder nicht "gecheckt". Das scheint aber so (mit DrawFocusControl) nicht zu funktionieren. Bleibt eigentlich nur die kompliziertere Variante zum Schluss meiner Fragen. Oder ich muss das ganze Programm von der Logistik her etwas umbauen. Das ginge auch, habe ich inzwischen gemerkt. Gruß Matthias |
AW: Listbox mit Checkboxen
Nabend,
ich habe jetzt kein delphi hier zum testen, aber ich meine das TListView doch eigentlich Checkboxen von Haus aus dabei hat :gruebel: |
AW: Listbox mit Checkboxen
Hobby-Programmierer, das ist ihm klar, aber er will, wenn er auf Items klickt die als Header markiert sind (siehe entsprechende Eigenschaft in OH), dann sollen sie die Farbe einnehmen die in der Regel selektierte Items haben (diese Blau). In diesem Fall behält das Header-Item seine Originalfarbe (Weiß). Lediglich der Fokus wird angezeigt, nicht die Selektion.
Ok, auf die Schnelle: die Eigenschaft Header bewirkt einiges, so z. B., dass dieser Item keine Checkbox hat. Damit kann man sozusagen eine Checklistbox in mehrere Bereiche Teilen und die Header-Items sind dann die Überschriften. |
AW: Listbox mit Checkboxen
Zitat:
checked ist das Häkchen, selected der blaue Hintergrund. Da solllte man mit OnDrawItem eine echte Chance haben das gewünschte zu realisieren. Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:56 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