Anatomy of Result Application Indexing Visibility How CSS z-index maps VB Form z-order Controls' z-layering Menu controls Indexing forms Each converted form is assigned unique index in order of appearence in original 'project'.vbp file. Index is stored in form's Const web_FormCount; index range = 1 - quantity of forms. Visibility At converter-setup-time, user can optionally add "web-visibility-extensions" to designated forms. This option controlled by various "variable visibilty" switches. First, non-converted forms saved unchanged which makes them always invisible on Browser. Message on console: not-converted: saving unchanged ... Second, if form is converted, but no variable-visibility is set for the form, then no visibility-machinery and z-index-machinery inserted. (controls_visibility.txt schema makes actual insertion for visibility;) In this case, forms will be invisible on Browser, will be excluded from z-index on Browser, and will have visual behaviour as in original, source application, before; thus, disabling pop up on Server may be desired. For forms with controls with variable visibility, "Visible" property of controls and form is duplicated and kept in private form's variable web_vis of type web_visibility. To keep compliance with web interface, visibility property of object must be always recoded using procedure: web_SetVis object, value because this way "value" will be updated in variable web_vis. Compi is not smart enough to recognize object for which to make replacement .Visible --> web_SetVis object, value. Hence, this must be done manually. How CSS z-index maps VB Form z-order Converter adds two arrays web_ZO and web_OZ to VB part. ZO stands for z-order and keeps value v of z-order for given form: v < 0 form is not loaded, v = 0 form is loaded with invisible status, v > 0 form is loaded, v is CSS z-index. Index of ZO is fom's index. OZ is inverse function to ZO: OZ keeps form's index and Ubound(OZ) aways = z-top. When VB moves/creates form on z-top, then both ZO and OZ are automatically updated. ZO and OZ submitted to ASP and to the JavaScript. However, z-index is not submitted from Browser to Dll. In non-MDI project, FormsImages - are siblings. In MDI project, MDI title, MDIBody, MDIMenu, are added to this siblings, and MDIFormImage is a parent to this sibings. MDI form's menu has z-index = z-top + 1 to cover all child forms. MessageBox has always z-index = z-top + 2. If project starts in Preparsed scenario, then by default, z-index is form's index, so forms overlap in order to apperence in original VB project. z-index coded in: - dll-code is in web_axiliary.web_ZOManage - asp-code is in 'FORM'S-ASP-PART INCLUDER' in FORMs_web_image.txt - JS-code is in function BubbleZ and other places in HTML_front_page.txt Controls' z-layering Inside of their graphical container, VB controls belong to one of tree groups: CB - (background) - grapics drawn on form; CM - (middle) - labels, pictures, graphical objects; CF - (front) - non-graphic controls, frames, SSTab, text, ... Controls compete for z-order inside own group, and groups compete inside own container. To reflect this order on browser, this three groups are placed in three HTML >div class="vblayers"< -elements in the order: CB CM, CF. Schema ASSEMBLY_CONTROLS.txt has a statment ..=C_layer."M" which assigns z-layer. Currently image control is assigned layer "M". Picture control is layer "F". Menu controls ... implemented as html-buttons with style "none".