ShowModalDialog-metoden

Microsoft Office InfoPath

Viser en egendefinert, modal dialogboks i et Microsoft Office InfoPath 2003-skjema.

expression.ShowModalDialog(ByVal bstrName As String, [ByVal varArguments As Variant], [ByVal varHeight As Variant], [ByVal varWidth As Variant], [ByVal varTop As Variant], [ByVal varLeft As Variant]) As Variant

expression    Obligatorisk. Et uttrykk som returnerer en referanse til UI-objektet.

bstrName Obligatorisk String. Navnet på .html-filen som brukes for modaldialogboksen.

varArguments Valgfritt Variant. Angir argumentene som skal brukes når den modale dialogboksen vises. Kan være hvilken som helst type verdi, også matrise med verdier.

varHeight Valgfritt Variant. Angir høyden på den modale dialogboksen.

varWidth Valgfritt Variant. Angir bredden på den modale dialogboksen.

varTop Valgfritt Variant. Angir den øverste plasseringen for den modale dialogboksen relativt i forhold til øverste venstre hjørne på skrivebordet.

varLeft Valgfrittl Variant. Angir den venstre plasseringon for den modale dialogboksen relativt i forhold til øverste venstre hjørne på skrivebordet.

returns    Variant.

Sikkerhetsnivå

3: Kan bare åpnes av fullstendig klarerte skjemaer.

Merknader

ShowModalDialog-metoden for UI-objektet gjør det mulig å vise egendefinerte dialogbokser for brukerne når de fyller ut et fullt klarert skjema. Egendefinerte dialogbokser implementeres som .html-filer som er opprettet i en hvilken som helst type HTML-redigeringsprogram, for eksempel Microsoft FrontPage. Du kan bruke skriptkode i en egendefinert dialogboks som fungerer interaktivt med InfoPath-objektmodellen hvis du overfører objekter til dialogboksen ved hjelp av varArguments-parameteren.

Hvis du vil bruke en egendefinert dialogboks i et InfoPath-skjema, må du først legge til .html-filen for dialogboksen i skjemaets sett av ressursfiler ved hjelp av dialogboksen Resource Manager (Ressursbehandling). Dialogboksen Resource Manager er tilgjengelig fra Tools-menyen (Verktøy) i utformingsmodus. Når du har lagt til den egendefinerte dialogboksen i skjemaet, kan du bruke ShowModalDialog-metoden til å vise den.

Obs!  Selv om ShowModalDialog-metoden bare kan brukes i fullt klarerte skjemaer, kan du opprette en egendefinert dialogboks i standardskjemaer ved hjelp av showModalDialog-metoden i objektmodellen Dynamisk HTML (DHTML).

Eksempel

I eksemplet nedenfor brukes ShowModalDialog-metoden for UI-objektet til å vise en egendefinert dialogboks. Legg merke til at XDocument-objektet overføres til den egendefinerte dialogboksen ved hjelp av varArguments-parameteren.

XDocument.UI.ShowModalDialog("SimpleDialog.htm", XDocument);

Eksemplet nedenfor er HTML-koden som brukes til å implementere en enkel, egendefinert dialogboks. Legg merke til hvordan dialogArguments-egenskapen for DHTML-vindusobjektet (Dynamic HTML) brukes til å overføre verdier til dialogboksen, i dette tilfellet XDocument-objektet i InfoPath-objektmodellen, fra ShowModalDialog-metoden. Når brukeren klikker Show Alert-knappen i den egendefinerte dialogboksen, vises kilde-XMLen for skjemaets underliggende XML-dokument i en meldingsboks.

<html>
   <head>
      <script language="jscript">
         var gobjXDocument = null;

         function Initialize()
         {
            // Save a reference to the XDocument object.
            if (typeof window.dialogArguments == "object")
            gobjXDocument = window.dialogArguments;
         }
      </script>

      <title>A Simple Custom Dialog Box</title>
   </head>

   <body style="BACKGROUND-COLOR: window" onLoad="Initialize()">
      <strong>Click one of the following buttons:</strong>
      <br/>
      <br/>
      <div id="divButtons" tyle="align:center">
         <input id="btnShowAlert" style="WIDTH: 106px; HEIGHT: 24px" 
            onclick='gobjXDocument.UI.Alert(gobjXDocument.DOM.xml);' 
            type="button" size="21" value="Show Alert"></input>
         <input id="btnCancel" style="WIDTH: 106px; HEIGHT: 24px" 
            onclick="window.close();" type="button" size="21" 
            value="Cancel"></input>
      </div>
   </body>
</html>