Esempio n. 1
0
        public SchetsWin()
        {
            String[] deKleuren = { "Black", "Red",    "Green", "Blue"
                                   ,        "Yellow", "Magenta", "Cyan" };

            this.ClientSize = new Size(700, 500);
            huidigeTool     = deTools[0];

            schetscontrol            = new SchetsControl();
            schetscontrol.Location   = new Point(64, 10);
            schetscontrol.MouseDown += (object o, MouseEventArgs mea) =>
            { vast = true;
              huidigeTool.MuisVast(schetscontrol, mea.Location); };
            schetscontrol.MouseMove += (object o, MouseEventArgs mea) =>
            { if (vast)
              {
                  huidigeTool.MuisDrag(schetscontrol, mea.Location);
              }
            };
            schetscontrol.MouseUp += (object o, MouseEventArgs mea) =>
            { if (vast)
              {
                  huidigeTool.MuisLos(schetscontrol, mea.Location, huidigeTool.ToString());
              }
              vast = false; };
            schetscontrol.KeyPress += (object o, KeyPressEventArgs kpea) =>
            {
                huidigeTool.Letter(schetscontrol, kpea.KeyChar, huidigeTool.ToString());
            };
            this.Controls.Add(schetscontrol);

            menuStrip         = new MenuStrip();
            menuStrip.Visible = false;
            this.Controls.Add(menuStrip);
            this.maakFileMenu();
            this.maakToolMenu(deTools);
            this.maakAktieMenu(deKleuren);
            this.maakToolButtons(deTools);
            this.maakAktieButtons(deKleuren);
            this.Resize += this.veranderAfmeting;
            this.veranderAfmeting(null, null);
        }
        public bool Contains(Point p)
        {
            switch (tool.ToString())
            {
            case "tekst":
                return(TweepuntTool.Punten2Rechthoek(beginPunt, eindPunt).Contains(p));

            case "vlak":
                return(TweepuntTool.Punten2Rechthoek(beginPunt, eindPunt).Contains(p));

            case "rondje":
                if (berekenEllipse(p) <= 1.1)
                {
                    return(true);
                }
                return(false);

            case "lijn":
                if (berekenLijn(p) < 25 && berekenLijn(p) > -25)
                {
                    return(true);
                }
                return(false);

            case "cirkel":
                if (berekenEllipse(p) < 1.5 && berekenEllipse(p) > 0.5)
                {
                    return(true);
                }
                return(false);

            case "kader":
                if ((beginPunt.Y - 5 <= p.Y && beginPunt.Y + 5 >= p.Y) && ((beginPunt.X <= p.X && eindPunt.X >= p.X) || (beginPunt.X >= p.X + 5 || eindPunt.X <= p.X - 5)))
                {
                    return(true);
                }
                if ((eindPunt.Y - 5 <= p.Y && eindPunt.Y + 5 >= p.Y) && ((beginPunt.X <= p.X && eindPunt.X >= p.X) || (beginPunt.X >= p.X + 5 || eindPunt.X <= p.X - 5)))
                {
                    return(true);
                }
                if ((beginPunt.Y <= p.Y + 5 && eindPunt.Y >= p.Y + 5) && (beginPunt.X <= p.X + 5 && beginPunt.X >= p.X - 5))
                {
                    return(true);
                }
                if ((beginPunt.Y <= p.Y + 5 && eindPunt.Y >= p.Y + 5) && (eindPunt.X <= p.X + 5 && eindPunt.X >= p.X - 5))
                {
                    return(true);
                }
                return(false);

            case "pen":
                if (berekenLijn(p) < 25 && berekenLijn(p) > -25)
                {
                    return(true);
                }
                return(false);

            default:
                return(false);
            }
        }