home *** CD-ROM | disk | FTP | other *** search
/ PC/CD Gamer UK 45 / PCGAMER45.bin / netware / msie4pp / ie4_s3.cab / IE4_3.CAB / MSHTMENU.DLL / 2110 / INSIMAGE.DLG < prev    next >
Text File  |  1997-04-04  |  22KB  |  647 lines

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML 3.2//EN">
  2. <HTML id=dlgImage STYLE="font-family: 'ms sans serif'; font-size: '8pt';
  3. width: '41.9em'; height: '21.2em'">
  4. <HEAD>
  5. <TITLE>
  6. Image
  7. </TITLE>
  8.  
  9. <SCRIPT LANGUAGE=JavaScript>
  10.  
  11. //+-------------------------------------------------------------------------
  12. //
  13. //  This section contains code to be moved into a GLOBAL MODULE outside
  14. //  of this particular dialog.
  15. //
  16. //--------------------------------------------------------------------------
  17.  
  18.  
  19.     //----------------------------------------------------------------------
  20.     //
  21.     //  Synopsis:   Turns on the document's expando property.  When this
  22.     //              property is on, it is possible to create new expando
  23.     //              properties or assign to existing ones.
  24.     //
  25.     //  Arguments:  none
  26.     //
  27.     //  Returns:    Nothing
  28.     //
  29.     //----------------------------------------------------------------------
  30.  
  31.     function expandoOn()
  32.     {
  33.         document.expando = true;
  34.     }   //  expandoOn
  35.  
  36.  
  37.     //----------------------------------------------------------------------
  38.     //
  39.     //  Synopsis:   Turns off the document's expando property.  When this
  40.     //              property is off, it is possible to read the value of
  41.     //              existing expando properties, but not possible to create
  42.     //              new ones or modify existing ones.
  43.     //
  44.     //              EXPANDO SHOULD BE OFF EXCEPT WHEN CREATING/MODIFYING
  45.     //              EXPANDO PROPERTIES.  This will save hours debugging
  46.     //              accidentally created expando properties.
  47.     //
  48.     //  Arguments:  none
  49.     //
  50.     //  Returns:    Nothing.
  51.     //
  52.     //----------------------------------------------------------------------
  53.  
  54.     function expandoOff()
  55.     {
  56.         document.expando = false;
  57.     }   //  expandoOff
  58.  
  59.  
  60.     //+---------------------------------------------------------------------
  61.     //
  62.     //  Synopsis:   Given a string, returns the number the string represents.
  63.     //              This is needed because current localization tools can
  64.     //              only find strings.
  65.     //
  66.     //  Arguments:  string  The string we're changing into a number.
  67.     //
  68.     //  Returns:    a number
  69.     //
  70.     //----------------------------------------------------------------------
  71.  
  72.     function number(string)
  73.     {
  74.         return parseFloat(string);
  75.     }   //  number
  76.  
  77. </SCRIPT>
  78.  
  79. <SCRIPT LANGUAGE=JavaScript>
  80.  
  81. //+--------------------------------------------------------------------------
  82. //
  83. //  This section contains variables that need to be LOCALIZED
  84. //
  85. //---------------------------------------------------------------------------
  86.  
  87. // var L_InsertImage_DIALOG_Width_Text  =   "41.9em";
  88. // var L_InsertImage_DIALOG_Height_Text =   "21.2em";
  89.  
  90. var L_HorizontalNotNumber_Text  = "Horizontal spacing must be a number.";
  91. var L_VerticalNotNumber_Text    = "Vertical spacing must be a number.";
  92. var L_BoderNotNumber_Text       = "Border thickness must be a number.";
  93.  
  94. var L_NoHelp_Text = "No help topic available.";
  95.  
  96. </SCRIPT>
  97.  
  98. <SCRIPT LANGUAGE=JavaScript>
  99.  
  100. //+-------------------------------------------------------------------------
  101. //
  102. //  This section contains code LOCAL to this particular dilaog.
  103. //
  104. //--------------------------------------------------------------------------
  105.  
  106.     expandoOff();
  107.  
  108.     //  Set dialog dimensions
  109.     // window.width   =   L_InsertImage_DIALOG_Width_Text;
  110.     // window.height  =   L_InsertImage_DIALOG_Height_Text;
  111.  
  112.     //  Constants
  113.         var cmdInsertImage  = "InsertImage";
  114.         var cmdDelete       = "Cut";
  115.  
  116.         var htmlSelectionNone       = "None";
  117.         var htmlSelectionText       = "Text";
  118.         var htmlSelectionControl    = "Control";
  119.         var htmlSelectionTable      = "Table";
  120.  
  121.         var htmlNotSet                  = "";
  122.         var htmlControlAlignLeft        = "left";
  123.         var htmlControlAlignTop         = "top";
  124.         var htmlControlAlignRight       = "right";
  125.         var htmlControlAlignTextTop     = "textTop";
  126.         var htmlControlAlignAbsMiddle   = "absMiddle";
  127.         var htmlControlAlignBaseLine    = "baseline";
  128.         var htmlControlAlignAbsBottom   = "absBottom";
  129.         var htmlControlAlignBottom      = "bottom";
  130.         var htmlControlAlignMiddle      = "middle";
  131.  
  132.         //
  133.         //  The constants below correspond to the index of the correspoding options is selAlignment
  134.         //
  135.         var ALIGN_NOT_SET       = 0;
  136.         var ALIGN_LEFT          = 1;
  137.         var ALIGN_RIGHT         = 2;
  138.         var ALIGN_TEXT_TOP      = 3;
  139.         var ALIGN_ABS_MIDDLE    = 4;
  140.         var ALIGN_BASE_LINE     = 5;
  141.         var ALIGN_ABS_BOTTOM    = 6;
  142.         var ALIGN_BOTTOM        = 7;
  143.         var ALIGN_MIDDLE        = 8;
  144.         var ALIGN_TOP           = 9;
  145.  
  146.     //  Global variables
  147.         var globalDoc;           //  The document we're working on.
  148.         var grngMaster;          //  The range we're working on.
  149.         var gboolImageLoaded;    //  Whether an image has been loaded into the preview window
  150.         var gboolBrowseOpen = false;      //  Whether the browse dialog is already open.
  151.         var gintImageWidth;     //  The width of the selected image
  152.         var gintImageHeight;    //  The height of the selected image
  153.  
  154.  
  155.     //+-----------------------------------------------------------------------
  156.     //
  157.     //  Synopsis:   Opens the open file common dialog. If the user selects a
  158.     //              file, put the file name into txtFileName.
  159.     //
  160.     //  Arguments:  none
  161.     //
  162.     //  Returns:    nothing
  163.     //
  164.     //------------------------------------------------------------------------
  165.  
  166.     function btnBrowseClick()
  167.     {
  168.         var strFileName;
  169.  
  170.  
  171.         if (!gboolBrowseOpen)
  172.         {
  173.             var strFileTypes = "GIF and JPEG (*.gif, *.jpg)|*.gif;*.jpg";
  174.             strFileTypes = strFileTypes + "|Bitmap (*.bmp)|*.bmp|Windows Metafile (*.wmf)|*.wmf";
  175.             strFileTypes = strFileTypes + "|XBM (*.xbm)|*.xbm|ART (*.art)|*.art|All files (*.*)|*.*|";
  176.  
  177.             gboolBrowseOpen = true;
  178.             strFileName = window.dialogArgs.openfiledlg("","",strFileTypes,"Image");
  179.             gboolBrowseOpen = false;
  180.             if ("" != strFileName)
  181.             {
  182.                 txtFileName.value = strFileName;
  183.             }
  184.         }
  185.     }   //  btnBrowseClick
  186.  
  187.  
  188.     //+-------------------------------------------------------------------------------------
  189.     //
  190.     //  Synopsis:   First, set up the dialog with the default options. Then if an image is
  191.     //              selected, fill the dialog with the settings for that image.
  192.     //
  193.     //  Agruments:  none
  194.     //
  195.     //  Returns:    nothing
  196.     //
  197.     //--------------------------------------------------------------------------------------
  198.  
  199.     function bdyLoad()
  200.     {
  201.         var elmSelectedImage;       //  the image that's selected when the dialog os called.
  202.                                     //  (If any image is selected.)
  203.         //
  204.         //  Set the document and master range variables
  205.         //
  206.         globalDoc = window.dialogArgs.document;
  207.         grngMaster = globalDoc.selection.createRange();
  208.  
  209.         //
  210.         //  If the currently selected object is an image, get its attributes and
  211.         //  fill the dialog accordingly
  212.         //
  213.         if (globalDoc.selection.type == htmlSelectionControl)     //  a control range is selected
  214.         {
  215.  
  216.             if (grngMaster.length == 1)   //  There's only one control selected
  217.             {
  218.                 elmSelectedImage = grngMaster.item(0);
  219.  
  220.                 if (elmSelectedImage.tagName == "IMG")  //  and it's an image
  221.                 {
  222.  
  223.                     gboolImageLoaded = true;
  224.  
  225.                     //
  226.                     //  set the source
  227.                     //
  228.                     txtFileName.value = elmSelectedImage.src;
  229.  
  230.                     //
  231.                     //  Get the height and width
  232.                     //
  233.                     gintImageHeight = elmSelectedImage.height;
  234.                     gintImageWidth = elmSelectedImage.width;
  235.  
  236.                     //
  237.                     //  Set the vertical and horizontal spacing.
  238.                     //
  239.                     txtVertical.value = elmSelectedImage.vSpace;
  240.                     txtHorizontal.value = elmSelectedImage.hSpace;
  241.  
  242.                     //
  243.                     //  Get the border size
  244.                     //
  245.                     txtBorder.value = elmSelectedImage.border;
  246.  
  247.                     //
  248.                     //  Get the alt text
  249.                     //
  250.                     txtAltText.value = elmSelectedImage.alt;
  251.  
  252.                     //
  253.                     //  set the alignment
  254.                     //
  255.                     with (elmSelectedImage)
  256.                     {
  257.                         if (align == htmlNotSet)
  258.                         {
  259.                             selAlignment.selectedIndex = ALIGN_NOT_SET;
  260.                         }
  261.                         else if (align == htmlControlAlignLeft)
  262.                         {
  263.                             selAlignment.selectedIndex = ALIGN_LEFT;
  264.                         }
  265.                         else if (align == htmlControlAlignRight)
  266.                         {
  267.                             selAlignment.selectedIndex = ALIGN_RIGHT;
  268.                         }
  269.                         else if (align == htmlControlAlignTextTop)
  270.                         {
  271.                             selAlignment.selectedIndex = ALIGN_TEXT_TOP;
  272.                         }
  273.                         else if (align == htmlControlAlignAbsMiddle)
  274.                         {
  275.                             selAlignment.selectedIndex = ALIGN_ABS_MIDDLE;
  276.                         }
  277.                         else if (align == htmlControlAlignBaseLine)
  278.                         {
  279.                             selAlignment.selectedIndex = ALIGN_BASE_LINE;
  280.                         }
  281.                         else if (align == htmlControlAlignAbsBottom)
  282.                         {
  283.                             selAlignment.selectedIndex = ALIGN_ABS_BOTTOM;
  284.                         }
  285.                         else if (align == htmlControlAlignBottom)
  286.                         {
  287.                             selAlignment.selectedIndex = ALIGN_BOTTOM;
  288.                         }
  289.                         else if (align == htmlControlAlignMiddle)
  290.                         {
  291.                             selAlignment.selectedIndex = ALIGN_MIDDLE;
  292.                         }
  293.                         else if (align == htmlControlAlignTop)
  294.                         {
  295.                             selAlignment.selectedIndex = ALIGN_TOP;
  296.                         }
  297.                     }
  298.                 }
  299.             }
  300.         }
  301.     } //    bdyLoad
  302.  
  303.  
  304.     //+----------------------------------------------------------------------------------------------
  305.     //
  306.     //  Synopsis:   Okay, this function does quite a bit. First, if there is no text in the
  307.     //              file name input, we do nothing or delete the currently selected image.
  308.     //              Then we insert an image, select it and set its properties according to the
  309.     //              user's selections in the dialog box.
  310.     //
  311.     //  Arguments:  none
  312.     //
  313.     //  Returns:    nothing
  314.     //
  315.     //-----------------------------------------------------------------------------------------------
  316.     function btnOKClick()
  317.     {
  318.         var elmImage;       //  The element that is the image we're inserting.
  319.         var intAlignment;   //  The selectedIndex of selAlignment
  320.  
  321.         //
  322.         //  Make sure the border spacing textboxes are numbers or blank
  323.         //
  324.         if ("" != txtHorizontal.value)
  325.         {
  326.             if (isNaN(parseInt(txtHorizontal.value)))
  327.                 {
  328.                     alert(L_HorizontalNotNumber_Text);
  329.                     txtHorizontal.focus();
  330.                     return;
  331.                 }
  332.         }
  333.         if ("" != txtBorder.value)
  334.         {
  335.             if (isNaN(parseInt(txtBorder.value)))
  336.                 {
  337.                     alert(L_BoderNotNumber_Text);
  338.                     txtBorder.focus();
  339.                     return;
  340.                 }
  341.         }
  342.         if ("" != txtVertical.value)
  343.         {
  344.             if (isNaN(parseInt(txtVertical.value)))
  345.                 {
  346.                     alert(L_VerticalNotNumber_Text);
  347.                     txtVertical.focus();
  348.                     return;
  349.                 }
  350.         }
  351.  
  352.         if (txtFileName.value == "")
  353.         {
  354.             //
  355.             //  No file name has been entered, so we do nothing, or delete the selected image.
  356.             //
  357.             if (gboolImageLoaded)
  358.             {
  359.                 grngMaster.execCommand(cmdDelete);
  360.                 return;
  361.             }
  362.             else
  363.             {
  364.                 window.close();
  365.                 return;
  366.             }
  367.         }
  368.  
  369.         //
  370.         //  If the current selection is a control range, delete it.
  371.         //
  372.         if (globalDoc.selection.type == htmlSelectionControl)
  373.         {
  374.             grngMaster.execCommand(cmdDelete);
  375.             grngMaster = globalDoc.selection.createRange();
  376.         }
  377.  
  378.         grngMaster.execCommand(cmdInsertImage);
  379.  
  380.         //
  381.         //  Inserting the image collapses the range, so we have to expand it to include the newly inserted
  382.         //  image.
  383.         //
  384.         grngMaster.start--;
  385.         elmImage = grngMaster.parentElement();
  386.  
  387.         elmImage.src = txtFileName.value;
  388.  
  389.         if (txtHorizontal.value != "")
  390.         {
  391.             elmImage.hSpace = txtHorizontal.value;
  392.         }
  393.         else
  394.         {
  395.             elmImage.hSpace = 0;
  396.         }
  397.         if (txtVertical.value != "")
  398.         {
  399.             elmImage.vSpace = txtVertical.value;
  400.         }
  401.         else
  402.         {
  403.             elmImage.vSpace = 0;
  404.         }
  405.  
  406.         //
  407.         //  Set the alt text
  408.         //
  409.         elmImage.alt = txtAltText.value;
  410.  
  411.         //
  412.         //  Set the border size
  413.         //
  414.         elmImage.border = txtBorder.value;
  415.  
  416.         //
  417.         //  If the image was selected when the dialog was started,
  418.         //  Set the width and height to previous settings
  419.         //
  420.         if (gboolImageLoaded)
  421.         {
  422.             elmImage.style.width = gintImageWidth;
  423.             elmImage.style.height = gintImageHeight;
  424.         }
  425.  
  426.         //
  427.         //  Set the alignment;
  428.         //
  429.         intAlignment = selAlignment.selectedIndex;
  430.  
  431.         if (intAlignment == ALIGN_NOT_SET)
  432.         {
  433.             elmImage.align = htmlNotSet;
  434.         }
  435.         else if (intAlignment == ALIGN_LEFT)
  436.         {
  437.             elmImage.align = htmlControlAlignLeft;
  438.         }
  439.         else if (intAlignment == ALIGN_RIGHT)
  440.         {
  441.             elmImage.align = htmlControlAlignRight;
  442.         }
  443.         else if (intAlignment == ALIGN_TEXT_TOP)
  444.         {
  445.             elmImage.align = htmlControlAlignTextTop;
  446.         }
  447.         else if (intAlignment == ALIGN_ABS_MIDDLE)
  448.         {
  449.             elmImage.align = htmlControlAlignAbsMiddle;
  450.         }
  451.         else if (intAlignment == ALIGN_BASE_LINE)
  452.         {
  453.             elmImage.align = htmlControlAlignBaseLine;
  454.         }
  455.         else if (intAlignment == ALIGN_ABS_BOTTOM)
  456.         {
  457.             elmImage.align = htmlControlAlignAbsBottom;
  458.         }
  459.         else if (intAlignment == ALIGN_BOTTOM)
  460.         {
  461.             elmImage.align = htmlControlAlignBottom;
  462.         }
  463.         else if (intAlignment == ALIGN_MIDDLE)
  464.         {
  465.             elmImage.align = htmlControlAlignMiddle;
  466.         }
  467.         else if (intAlignment == ALIGN_TOP)
  468.         {
  469.             elmImage.align = htmlControlAlignTop;
  470.         }
  471.  
  472.         //
  473.         //  Put insertion point after newly inserted image.
  474.         //
  475.         grngMaster.collapse(false);  //  Collapse to end.
  476.         grngMaster.select();
  477.  
  478.         window.close();
  479.     }   //  btnOKClick
  480.  
  481.  
  482.     //+----------------------------------------------------------------------
  483.     //
  484.     //  Synopsis:   Closes the dialog doing nothing
  485.     //
  486.     //  Arguments:  none
  487.     //
  488.     //  Returns:    nothing
  489.     //
  490.     //-----------------------------------------------------------------------
  491.  
  492.     function btnCancelClick()
  493.     {
  494.         window.close();
  495.     }   //  btnCancelClick
  496.  
  497. </SCRIPT>
  498.  
  499. <SCRIPT LANGUAGE=JavaScript FOR=document EVENT="onhelp()">
  500.  
  501. //+-------------------------------------------------------------------------
  502. //
  503. //  Synopsis:   Opens the help file with the appropriate helpid
  504. //
  505. //  Arguments:  none
  506. //
  507. //  Returns:    nothing
  508. //
  509. //--------------------------------------------------------------------------
  510.  
  511.     //  BUGBUG  Once we get help for the editing dialogs, this function
  512.     //          will have to change.
  513.     alert(L_NoHelp_Text);
  514.  
  515. </SCRIPT>
  516.  
  517. <SCRIPT LANGUAGE=JavaScript FOR=document EVENT="onkeypress()">
  518.  
  519. //+---------------------------------------------------------------------
  520. //
  521. //  Synopsis:   Looks for the ENTER and ESC keypresses and runs the
  522. //              appropriate action.
  523. //
  524. //  Arguments:  none
  525. //
  526. //  Returns:    nothing
  527. //
  528. //-----------------------------------------------------------------------
  529.  
  530.     var htmlKeyReturn = 13;
  531.     var htmlKeyEscape = 27;
  532.  
  533.     if ((event.keyCode) == htmlKeyReturn)     //  Enter
  534.     {
  535.         btnOKClick();
  536.         btnOK.focus();
  537.     }
  538.  
  539.     if ((event.keyCode) == htmlKeyEscape)     //  Esc
  540.     {
  541.         btnCancelClick();
  542.     }
  543.  
  544. </SCRIPT>
  545.  
  546. </HEAD>
  547.  
  548. <BODY onload="bdyLoad()" style="font-family: 'ms sans serif'; font-size: '8pt'; background: buttonface;" >
  549.  
  550. <DIV style="font-family: 'ms sans serif'; font-size: '8pt'; position: absolute;LEFT: '1em'; TOP: '1.3em'; WIDTH: '9em'; HEIGHT: '1em'">
  551. <LABEL FOR=txtFileName tabIndex=-1>
  552. <U>I</U>mage Source:
  553. </LABEL>
  554. </DIV>
  555.  
  556. <INPUT type=text style="font-family: 'ms sans serif'; font-size: '8pt'; position: absolute;LEFT: '7.7em'; TOP: '1em'; WIDTH: '25em'; HEIGHT: '2.1em'"
  557. ID=txtFileName tabIndex=10 ACCESSKEY=i>
  558.  
  559. <DIV style="font-family: 'ms sans serif'; font-size: '8pt'; position: absolute;LEFT: '1em'; TOP: '3.8em'; WIDTH: '10em'; HEIGHT: '1em'">
  560.     <LABEL FOR=txtAltText tabIndex=-1>
  561.     Alternate <u>T</u>ext:
  562.     </LABEL>
  563. </DIV>
  564.  
  565. <INPUT type=text ID=txtAltText tabIndex=15 ACCESSKEY=t
  566. style="font-family: 'ms sans serif'; font-size: '8pt'; position: absolute;LEFT: '7.7em'; TOP: '3.5em'; WIDTH: '25em'; HEIGHT: '2.1em'">
  567.  
  568. <BUTTON style="font-family: 'ms sans serif'; font-size: '8pt'; position: absolute;LEFT: '33.5em'; TOP: '1em'; WIDTH: '6.8em'; HEIGHT: '2.1em'"
  569. ID=btnBrowse onclick="btnBrowseClick()" ACCESSKEY=r tabIndex=12>
  570. B<U>r</U>owse...
  571. </BUTTON>
  572.  
  573. <table cellPadding=7 cellspacing borderColorDark=buttonhighlight borderColorLight=buttonshadow noshade="yes" border=1
  574. style="position: absolute;font-family: 'ms sans serif'; font-size: '8pt';LEFT: '1em'; TOP: '7em'; WIDTH: '39em'; HEIGHT: '7.5em'">
  575. <tr>
  576. <td valign=top style="font-family: 'ms sans serif'; font-size: '8pt';WIDTH='35em'; HEIGHT:'5em'">
  577. <DIV style="color: buttonface;">a</DIV>
  578. </td>
  579. </tr>
  580. </table>
  581.  
  582. <DIV style="position: absolute;LEFT: '2em'; TOP: '9em'; WIDTH: '4.5em'; HEIGHT: '2em'; font-family: 'ms sans serif'; font-size: '8pt';">
  583. <LABEL FOR=selAlignment tabIndex=-1>
  584. <U>A</U>lignment:
  585. </LABEL>
  586. </DIV>
  587.  
  588. <SELECT size=1 ID=selAlignment tabIndex=20 ACCESSKEY=a
  589. style="position: absolute;font-family: 'ms sans serif'; font-size: '8pt';LEFT: '11.5em'; TOP: '8.5em'; WIDTH: '7em'; HEIGHT: '2.1em'">
  590.     <OPTION>Not set</OPTION>
  591.     <OPTION>Left</OPTION>
  592.     <OPTION>Right</OPTION>
  593.     <OPTION>Texttop</OPTION>
  594.     <OPTION>Absmiddle</OPTION>
  595.     <OPTION SELECTED>Baseline</OPTION>
  596.     <OPTION>Absbottom</OPTION>
  597.     <OPTION>Bottom</OPTION>
  598.     <OPTION>Middle</OPTION>
  599.     <OPTION>Top</OPTION>
  600. </SELECT>
  601.  
  602. <DIV style="position: absolute;LEFT: '23em'; TOP: '8.8em'; WIDTH: '9em'; HEIGHT: '1.5em'; font-family: 'ms sans serif'; font-size: '8pt';">
  603. <LABEL FOR=txtHorizontal tabIndex=-1>
  604. <U>H</U>orizontal Spacing:
  605. </LABEL>
  606. </DIV>
  607.  
  608. <INPUT style="font-family: 'ms sans serif'; font-size: '8pt'; position: absolute;LEFT: '33em'; TOP: '8.5em'; WIDTH: '4em'; HEIGHT: '2.1em'"
  609. type=text size=3 value="" ID=txtHorizontal tabIndex=25 ACCESSKEY=h>
  610.  
  611. <DIV style="position: absolute;LEFT: '2em'; TOP: '11.3em'; WIDTH: '10em'; HEIGHT: '2em'; font-family: 'ms sans serif'; font-size: '8pt';">
  612. <LABEL tabIndex=-1 FOR=txtBorder>
  613. <u>B</u>order Thickness:
  614. </LABEL>
  615. </DIV>
  616.  
  617. <INPUT style="font-family: 'ms sans serif'; font-size: '8pt'; position: absolute; LEFT: '11.5em'; TOP: '11em'; WIDTH: '5em'; HEIGHT: '2.1em'"
  618. type=text size=3 value="" ID=txtBorder tabIndex=25 ACCESSKEY=b>
  619.  
  620. <DIV style="position: absolute; LEFT: '23em'; TOP: '11.3em'; WIDTH: '10em'; HEIGHT:'1.5em'; font-family: 'ms sans serif'; font-size: '8pt';">
  621. <LABEL FOR=txtVertical tabIndex=-1>
  622. <U>V</U>ertical Spacing:
  623. </LABEL>
  624. </DIV>
  625.  
  626. <INPUT style="font-family: 'ms sans serif'; font-size: '8pt'; position: absolute;LEFT: '33em'; TOP: '11em'; WIDTH: '4em'; HEIGHT: '2.1em'"
  627. type=text size=3 value="" ID=txtVertical tabIndex=30 ACCESSKEY=v>
  628.  
  629. <DIV style="font-family: 'ms sans serif'; font-size: '8pt'; position: absolute;background: buttonface;  LEFT: '1.5em'; TOP: '6.5em'; WIDTH: '3em'; HEIGHT: '1em'">
  630. <LABEL tabIndex=-1>
  631.  Layout 
  632. </LABEL>
  633. </DIV>
  634.  
  635. <BUTTON style="font-family: 'ms sans serif'; font-size: '8pt'; position: absolute;LEFT: '25.9em'; TOP: '15.8em'; WIDTH: '6.8em'; HEIGHT: '2.1em'"
  636. ID=btnOK onclick="btnOKClick()" tabIndex=40>
  637. OK
  638. </BUTTON>
  639.  
  640. <BUTTON style="font-family: 'ms sans serif'; font-size: '8pt'; position: absolute;LEFT: '33.5em'; TOP: '15.8em'; WIDTH: '6.8em'; HEIGHT: '2.1em'"
  641. ID=btnCancel onclick="btnCancelClick()" tabIndex=45>
  642. Cancel
  643. </BUTTON>
  644.  
  645. </BODY>
  646. </HTML>
  647.