Beispiel #1
0
        /// <summary>
        /// Deschidem meniul contextual
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public static void cmsMeniuContextual_Opening(object sender, System.ComponentModel.CancelEventArgs e)
        {
            try
            {
                ContextMenuStrip Meniu = (ContextMenuStrip)sender;
                Control          Sursa = Meniu.SourceControl;
                while (Sursa != null)
                {
                    if (Sursa is IMembriComuniControalePersonalizate)
                    {
                        lControlTinta = (IMembriComuniControalePersonalizate)Sursa;
                        break;
                    }
                    else
                    {
                        Sursa = Sursa.Parent;
                    }
                }

                IMembriComuniControalePersonalizate ctrlAtasat = lControlTinta;
                ctrlAtasat.Focus();

                bool   SePoateFaceModificarea = ctrlAtasat.IsInModificationMode;
                string TextControl            = GetTextDeCautat(ctrlAtasat);

                //tsDiacritice
                Meniu.Items[0].Visible = IHMUtile._LIMBA_ROMANA && ctrlAtasat.AcceptaActiunea(EnumTipActiuneControl.Diacritice) && SePoateFaceModificarea;
                Meniu.Items[0].Text    = "Diacritice";

                //****************************************************************************
                //Separator
                Meniu.Items[1].Visible = Meniu.Items[0].Visible;

                //tsDEX + tsGoogle + tsFacebook + tsWikipedia
                Meniu.Items[2].Visible = !string.IsNullOrEmpty(TextControl);
                Meniu.Items[2].Text    = "Caută pe";
                //Cautam in DEX doar daca avem limba romana
                (Meniu.Items[2] as ToolStripMenuItem).DropDownItems[3].Visible = IHMUtile._LIMBA_ROMANA;

                //Separator
                Meniu.Items[3].Visible = !string.IsNullOrEmpty(TextControl);

                //****************************************************************************
                //tsAnulati Refaceti
                Meniu.Items[4].Visible = SePoateFaceModificarea && ctrlAtasat.AcceptaActiunea(EnumTipActiuneControl.Undo);
                Meniu.Items[4].Text    = "Anulați/Refaceți";

                //tsDecupati
                Meniu.Items[5].Visible = ctrlAtasat.AcceptaActiunea(EnumTipActiuneControl.Decupare) && SePoateFaceModificarea && !string.IsNullOrEmpty(TextControl);
                Meniu.Items[5].Text    = "Decupați";

                //tsCopiati
                Meniu.Items[6].Visible = !string.IsNullOrEmpty(TextControl);
                Meniu.Items[6].Text    = "Copiați";

                //tsInserati
                Meniu.Items[7].Visible = ctrlAtasat.AcceptaActiunea(EnumTipActiuneControl.Inserare) && SePoateFaceModificarea && Clipboard.ContainsText();
                Meniu.Items[7].Text    = "Inserați";

                //tsMesaj
                Meniu.Items[8].Visible = ctrlAtasat.AcceptaActiunea(EnumTipActiuneControl.Mesaj) && SePoateFaceModificarea;
                Meniu.Items[8].Text    = "Text predefinit";// (mai ok text); [si mai OK Template]

                //Separator
                Meniu.Items[9].Visible = Meniu.Items[7].Visible || Meniu.Items[8].Visible || Meniu.Items[9].Visible || Meniu.Items[10].Visible;

                //****************************************************************************

                //tsSelectatiTot
                Meniu.Items[10].Visible = ctrlAtasat.AcceptaActiunea(EnumTipActiuneControl.SelectareText);
                Meniu.Items[10].Text    = "Selectați tot";

                //tsCalculati
                Meniu.Items[11].Visible = ctrlAtasat.AcceptaActiunea(EnumTipActiuneControl.Calculator);
                Meniu.Items[11].Text    = "Calculați";

                //tsCautare
                Meniu.Items[12].Visible = ctrlAtasat.AcceptaActiunea(EnumTipActiuneControl.Cautare);
                Meniu.Items[12].Text    = "Căutare";

                //tsSepPrintExport           //13
                //tsPrint                    //14
                //tsExport                   //15
                //tsEmail                    //16
                //tsFullScreen               //17

                Meniu.Items[14].Text    = "Imprimă";
                Meniu.Items[14].Visible = IHMUtile._DREPT_IMPRIMARE;
                Meniu.Items[15].Text    = "Exportă";
                Meniu.Items[15].Visible = IHMUtile._DREPT_EXPORT;

                Meniu.Items[16].Visible = IHMUtile._DREPT_TRIMITERE_DGV_PE_MAIL && ctrlAtasat.AcceptaActiunea(EnumTipActiuneControl.TrimitePeMail);
                Meniu.Items[16].Text    = "Trimite pe mail";
                Meniu.Items[17].Visible = ctrlAtasat.AcceptaActiunea(EnumTipActiuneControl.FullScreen);
                Meniu.Items[17].Text    = "Maximizează";
                Meniu.Items[18].Visible = ctrlAtasat.AcceptaActiunea(EnumTipActiuneControl.Refresh);
                Meniu.Items[19].Text    = "Ascunde coloane";
                Meniu.Items[19].Visible = ctrlAtasat.AcceptaActiunea(EnumTipActiuneControl.AscundeColoane);
                Meniu.Items[20].Text    = "Revenire la afișajul inițial";
                Meniu.Items[20].Visible = ctrlAtasat.AcceptaActiunea(EnumTipActiuneControl.RevenireLaAfisajulStandard);
            }
            catch (Exception)
            {
                e.Cancel = true;
            }
        }