Freigeben über


Vwa.VwaControl.addHandler Method

Letzte Änderung: Samstag, 6. August 2011

Gilt für: apps for SharePoint | SharePoint Server 2013

Fügt einen Ereignishandler an das Visio Web Access-Webpart hinzu.

var value = VwaControl.addHandler(String eventName, Function eventHandler)

Parameter

eventName Der Name des Ereignisses für das Hinzufügen eines Handlers.

eventHandler Die Funktion JavaScript aufrufen, wenn eventName ausgelöst wird.

Rückgabewert

Void Gibt Nothing zurück.

Hinweise

Der Wert der eventName muss eine der folgenden sein:

  • diagramcomplete

  • diagramerror

  • shapemouseenter

  • shapemouseleave

  • shapeselectionchanged

Wenn Sie einen Wert, der für eventNamenicht gültig ist übergeben, gibt Visio Web Access-Webpart Fehler eventNotFound .

Weitere Informationen zum Hinzufügen eines Visio Web Access-Webparts zu einer SharePoint-Webparts-Seite finden Sie unter Customizing Visio Web Drawings in the Visio Web Access Web Part.

Beispiel

Das folgende Beispiel fügt einen Ereignishandler hinzu die Ereignisse Vwa.shapeselectionchanged -Ereignis, das ein HTML- oder XAML transparenter Überlagerung auf der ausgewählten Form zu, je nach dem Anzeigemodus erstellt wird.

<script type="text/javascript">

// Hook into the AJAX Sys.Application.load event.
Sys.Application.add_load(onApplicationLoad)

// Define global variables.
var vwaControl;
var vwaPage;
var vwaShapes;
var currentlyAnnotatedShape;  

// Capture a reference to the current session of the Visio Web Access Web Part.
function onApplicationLoad() {
    try{
        vwaControl= new Vwa.VwaControl(getVWAWebPartID());
        vwaControl.addHandler("diagramcomplete", onDiagramComplete);
    }
    catch(err){
        alert(err);
    }
}

// Search the SharePoint page to get the WebPartID# for the Visio Web Access Web Part.
function getVWAWebPartID() {
    var divArray = document.getElementsByTagName("div");
    var webPartElementID;
    for (var i = 0; i < divArray.length; i++) {
        var node = divArray[i];
        if (node.className == "VisioWebAccess") {
            webPartElementID = node.parentNode.parentNode.id;
            break;
        }
    }
    return webPartElementID;
}

// Capture references to the global variables and register a handler for shapeselectionchanged event.
function onDiagramComplete() {
    try{
        vwaPage = vwaControl.getActivePage();
        vwaShapes = vwaPage.getShapes(); 
        vwaControl.addHandler("shapeselectionchanged", onShapeSelectionChanged);
    }
    catch(err){
        alert(err);
    }
}

function onShapeSelectionChanged(source, args){
    try{
        // Ignore the shapeselectionchanged event raised when the selection is cleared.
        if (args != null && args != Sys.EventArgs.Empty){

            // Get the value of the display mode for the Visio Web Access Web Part.
            var displayMode = vwaControl.getDisplayMode();

            // Remove any existing overlay from the diagram.
            removeAnnotation();
            currentlyAnnotatedShape = vwaShapes.getItemById(args);

            // Test to see what the current display mode is.
            if (displayMode == 1) {
                
                // The display mode is Silverlight; add a XAML overlay.
                currentlyAnnotatedShape.addOverlay(
                    "Overlay", 
                    "<Rectangle Height=\"" + currentlyAnnotatedShape.getBounds().height + "\"" + 
                    " Width=\"" + currentlyAnnotatedShape.getBounds().width + "\"" + 
                    " Stroke=\"Black\" StrokeThickness=\"1\" Fill=\"#88FF0000\"" + 
                    " RadiusX=\"0.0\" RadiusY=\"0.0\"\/>",
                    1, 
                    1,
                    currentlyAnnotatedShape.getBounds().width,
                    currentlyAnnotatedShape.getBounds().height);
            }
            else {
                
                // The display mode is raster format; add an HTML overlay.
                currentlyAnnotatedShape.addOverlay(
                    "Overlay", 
                    "<div id=\"HTMLDiv\" style=\"width: 100%; height:" + 
                    "100%;background-color:#FF0000;z-order:32;" + 
                    "filter:alpha(opacity=30);\"><\/div>", 
                    1, 
                    1,
                    currentlyAnnotatedShape.getBounds().width,
                    currentlyAnnotatedShape.getBounds().height);
            }
            
            // Re-center the drawing on the selected shape.
            vwaPage.centerViewOnShape(currentlyAnnotatedShape.getId());
        }
    }
    catch(err){
        alert(err);
    }
}

// Remove any existing overlay.
function removeAnnotation() {
    if (typeof(currentlyAnnotatedShape)!="undefined") {
            currentlyAnnotatedShape.removeOverlay("Overlay");
    } 
}
</script>

Siehe auch

Referenz

Vwa.VwaControl Class

Vwa.VwaControl Class Methods

Konzepte

Vwa.VwaControl Class Events