Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mengenoperatoren (https://www.delphipraxis.net/103369-mengenoperatoren.html)

MCXSC 14. Nov 2007 22:22


Mengenoperatoren
 
Hallo!

Zuerst einmal: Ich weiß nicht, wonach ich suchen sollte, und auch nicht, wie ich den Thread betiteln sollte. Wenn mir da jemand nen Tipp gibt, änder ich den Titel aber sofort.

So, mein Problem ist folgendes:

Einige Komponenten haben "Unteroptionen", z.B. Die Property "Font", aber auch die Property Options der VirtualTreeViewColumns. Zur Erklärung was ich meine habe ich mal einen kleinen Screenshotausschnitt:

http://img138.imageshack.us/img138/6...enannt1gk8.jpg

So, nun will ich nur das coVisible verändern.

Allerdings funktioniert weder

Delphi-Quellcode:
VST.Header.Columns[0].Options[coVisible] := True;
noch

Delphi-Quellcode:
VST.Header.Columns[i].Options.coVisible := True;
Einzig und allein

Delphi-Quellcode:
VST.Header.Columns[i].Options := [coAllowClick,coDraggable,coEnabled,coParentBidiMode,coParentColor,coResizable,coShowDropMark,coVisible];
funktioniert, aber da muss ich ja alle möglichen Optionen mitangeben - und das kann ja (ebenso wie z.B. bei "Font") eigentlich nicht Sinn der Sache sein, oder?

Kann mir jemand helfen? Ich weiß echt nicht weiter, und habe auch keinen Plan, wonach ich überhaupt suchen soll - bzw. mit dem, wonach ich gesucht habe, habe ich nichts brauchbares gefunden.

In diesem Sinne,
MCXSC

Dax 14. Nov 2007 22:25

Re: Property Options
 
Die Options-Eigenschaft ist eine Menge, das heißt, du kannst mit Mengenoperatoren darauf fudscheln:
Delphi-Quellcode:
VST.Header.Columns[0].Options := VST.Header.Columns[0].Options + [coVisible];

VST.Header.Columns[0].Options := VST.Header.Columns[0].Options - [coFixed];

mkinzler 14. Nov 2007 22:26

Re: Property Options
 
Versuch mal
Delphi-Quellcode:
VST.Header.Columns[i].Options := VST.Header.Columns[i].Options - coVisible;

taaktaak 14. Nov 2007 22:28

Re: Property Options
 
Moin Marcel,
ganz einfach : Du änderst gezielt DEINE Option...

deaktivieren mit
Options:=Options-[irgendeineUnterOption]

aktivieren mit
Options:=Options+[irgendeineUnterOption]

Gruß Ralph

MCXSC 14. Nov 2007 22:31

Re: Property Options
 
Super, dickes Danke schonmal! :) Hab den Threadtitel mal geändert, hoffe er passt besser. :)

Eine Frage habe ich allerdings noch:

Wie kann ich denn ganz gezielt abfragen, ob eine Option aktiviert ist?

Wenn mehrere aktiviert sind, funktioniert

Delphi-Quellcode:
if VST.Header.Columns[0].Options = [coVisible] then TuWas();
nämlich nicht... :(

Muetze1 14. Nov 2007 23:03

Re: Mengenoperatoren
 
Dazu gibt es den Delphi-Referenz durchsuchenin Operator.

Delphi-Quellcode:
if coVisible in VST.Header.Columns[0].Options then TuWas();
Alternativ: Das Element ist in der Menge enthalten, wenn sich die Menge durch abziehen (entfernen) der Option eine andere Menge ergibt.

Delphi-Quellcode:
if VST.Header.Columns[0].Options - [coVisible] <> VST.Header.Columns[0].Options then TuWas();

MCXSC 14. Nov 2007 23:07

Re: Mengenoperatoren
 
Big THX @Muetze!^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz