Andockverhalten eines benutzerdefinierten Aufgabenbereichs (CustomTaskPane)

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Andockverhalten eines benutzerdefinierten Aufgabenbereichs (CustomTaskPane)

    In einem VSTO-Projekt kann für ein Office-Programm ein benutzerdefinierten Aufgabenbereich erstellt werden (CustomTaskPane).s. docs.microsoft.com/de-de/dotne…omtaskpane?view=vsto-2017

    Über die Eigenschaft DockPositionRestrict kann das Andockverhalten des CustomTaskPane am Rand des umgebenden Fensters beeinflusst werden.
    Es gibt u.a. folgende Werte:
    msoCTPDockPositionRestrictNoHorizontal = Der benutzerdefinierte Aufgabenbereich dockt nicht am den oberen oder unteren Rand des Fensters an.
    msoCTPDockPositionRestrictNoVertical = Der benutzerdefinierte Aufgabenbereich dockt nicht am linken oder rechten Rand des Fensters an.

    Es scheint aber keinen Wert zu geben, der das Verhalten für alle vier Ränder gleichzeitig beeinflusst.
    Gibt es einen Weg, die verfügbaren Werte zu kombinieren? Ich habe „&“, „+“ und „AND“ versucht. Das brachte keinen Erfolg.

    Hat wer eine Idee?
    Grüße
    praetor
    Schuss ins Blaue: nimm Or statt And
    Einstellungen/Optionen werden normalerweise bitweise kombiniert. Und das geht mit Or.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    praetor schrieb:

    Es scheint aber keinen Wert zu geben, der das Verhalten für alle vier Ränder gleichzeitig beeinflusst.

    msoCTPDockPositionRestrictNone = 0
    msoCTPDockPositionRestrictNoChange = 1
    msoCTPDockPositionRestrictNoHorizontal = 2
    msoCTPDockPositionRestrictNoVertical = 3

    praetor schrieb:

    XOR funktioniert
    Das ist aber schon ziemlicher Zufall.
    2 XOR 3 ist 1
    Also ist msoCTPDockPositionRestrictNoChange das, was du damit erzielst.

    Logisch betrachtet hätte ich jedoch gedacht, dass RestrictNoHorizontal und RestrictNoVertical letztendlich RestrictNone ist und deshalb msoCTPDockPositionRestrictNone verwendet werden sollte.

    Versuch mal hier rauszufinden, was du wirklich erreichen willst.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    @petaod, ich hatte mich hier informiert, da sind die numerischen Werte nicht aufgeführt (typisch MS). In der Tat läuft es auf msoCTPDockPositionRestrictNoChange oder schlicht 1 hinaus. Nach der Beschreibung hätte ich nicht gedacht, dass der Wert den gesuchten Effekt hat.
    Grüße
    praetor