private void print_btn_Click(object sender, EventArgs e)
        {
            OnPrintClick(EventArgs.Empty);
            object em = null;

            GF.showLoading((this.Parent as Panel).Parent as Form);
            using (AxSHDocVw.AxWebBrowser wb = new AxSHDocVw.AxWebBrowser())
            {
                wb.CreateControl();
                wb.Left = -1000;
                wb.Top  = -1000;
                wb.Navigate(Properties.Settings.Default.webserver_url + url);
                for (; wb.ReadyState != SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE;)
                {
                    System.Windows.Forms.Application.DoEvents();
                }
                GF.closeLoading();
                try
                {
                    SHDocVw.OLECMDF eQuery = wb.QueryStatusWB(SHDocVw.OLECMDID.OLECMDID_PAGESETUP);
                    wb.ExecWB(SHDocVw.OLECMDID.OLECMDID_PAGESETUP, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER, ref em, ref em);
                    wb.ExecWB(SHDocVw.OLECMDID.OLECMDID_PRINT, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER, ref em, ref em);
                }
                catch (Exception err)
                {
                    MessageBox.Show(err.Message);
                }
            }
        }
Exemple #2
0
        private void browser_CommandStateChange(object sender,
                                                AxSHDocVw.DWebBrowserEvents2_CommandStateChangeEvent e)
        {
            // Änderung des Befehls-Status
            switch (e.command)
            {
            case (int)SHDocVw.CommandStateChangeConstants.CSC_NAVIGATEBACK:
                // Der Status des Zurück-Befehls hat sich geändert
                backButton.Enabled = e.enable;
                break;

            case (int)SHDocVw.CommandStateChangeConstants.CSC_NAVIGATEFORWARD:
                // Der Status des Vorwärts-Befehls hat sich geändert
                forwardButton.Enabled = e.enable;
                break;

            case (int)SHDocVw.CommandStateChangeConstants.CSC_UPDATECOMMANDS:
                // Der Status eines Befehls, der sich auf ein geladenes Dokument
                // bezieht, hat sich geändert

                // Den int-Wert für die Flags ermitteln, die bestimmen, dass
                // ein Befehl unterstützt wird und aktiviert ist
                int enabled = Convert.ToInt32(SHDocVw.OLECMDF.OLECMDF_SUPPORTED)
                              + Convert.ToInt32(SHDocVw.OLECMDF.OLECMDF_ENABLED);

                // Den Status der einzelnen Befehle abfragen und mit dem int-Wert für
                // den unterstützten, aktivierten Befehl vergleichen
                reloadButton.Enabled = (enabled ==
                                        (int)(browser.QueryStatusWB(SHDocVw.OLECMDID.OLECMDID_REFRESH)));
                saveButton.Enabled = (enabled ==
                                      (int)(browser.QueryStatusWB(SHDocVw.OLECMDID.OLECMDID_SAVEAS)));
                printButton.Enabled = (enabled ==
                                       (int)(browser.QueryStatusWB(SHDocVw.OLECMDID.OLECMDID_PRINT)));
                editButton.Enabled = (enabled ==
                                      (int)(browser.QueryStatusWB(SHDocVw.OLECMDID.OLECMDID_SAVEAS)));
                printButton.Enabled = (enabled ==
                                       (int)(browser.QueryStatusWB(SHDocVw.OLECMDID.OLECMDID_PRINT)));
                // Der Status des Stop-Buttons muss über die Busy-Eigenschaft
                // abgefragt werden, damit dieser korrekt ausgewertet wird
                stopButton.Enabled = browser.Busy;
                break;
            }
        }