Ejemplo n.º 1
0
        string m_filename = string.Empty;           //文件名

        /// <summary>
        /// 文件初始化
        /// </summary>
        /// <param name="filename"></param>
        public DocumentForm(string filename)
        {
            InitializeComponent();

            Text   = "<New Document>";
            m_data = new DataModel();
            if (filename.Length > 0 && File.Exists(filename) && m_data.Load(filename))
            {
                Text       = filename;
                m_filename = filename;
            }

            m_canvas      = new CanvasCtrl(this, m_data);
            m_canvas.Dock = DockStyle.Fill;
            Controls.Add(m_canvas);
            m_canvas.SetCenter(new UnitPoint(0, 0));
            m_canvas.RunningSnaps = new Type[]
            {
                typeof(VertextSnapPoint),
                typeof(MidpointSnapPoint),
                typeof(IntersectSnapPoint),
                typeof(QuadrantSnapPoint),
                typeof(CenterSnapPoint),
                typeof(DivisionSnapPoint),
            };

            m_canvas.AddQuickSnapType(Keys.N, typeof(NearestSnapPoint));
            m_canvas.AddQuickSnapType(Keys.M, typeof(MidpointSnapPoint));
            m_canvas.AddQuickSnapType(Keys.I, typeof(IntersectSnapPoint));
            m_canvas.AddQuickSnapType(Keys.V, typeof(VertextSnapPoint));
            m_canvas.AddQuickSnapType(Keys.P, typeof(PerpendicularSnapPoint));
            m_canvas.AddQuickSnapType(Keys.Q, typeof(QuadrantSnapPoint));
            m_canvas.AddQuickSnapType(Keys.C, typeof(CenterSnapPoint));
            m_canvas.AddQuickSnapType(Keys.T, typeof(TangentSnapPoint));
            m_canvas.AddQuickSnapType(Keys.D, typeof(DivisionSnapPoint));

            m_canvas.KeyDown += new KeyEventHandler(OnCanvasKeyDown);
            SetupMenuItems();
            SetupDrawTools();
            SetupLayerToolstrip();
            SetupEditTools();
            UpdateLayerUI();

            MenuStrip menuitem = new MenuStrip();

            menuitem.Items.Add(m_menuItems.GetMenuStrip("edit"));
            menuitem.Items.Add(m_menuItems.GetMenuStrip("draw"));
            menuitem.Visible = false;
            Controls.Add(menuitem);
            this.MainMenuStrip = menuitem;
        }
Ejemplo n.º 2
0
        void SetupToolbars()
        {
            MenuItem mmitem = m_menuItems.GetItem("New");

            mmitem.Text        = "&New";
            mmitem.Image       = MenuImages16x16.Image(MenuImages16x16.eIndexes.NewDocument);
            mmitem.Click      += new EventHandler(OnFileNew);
            mmitem.ToolTipText = "New document";

            mmitem             = m_menuItems.GetItem("Open");
            mmitem.Text        = "&Open";
            mmitem.Image       = MenuImages16x16.Image(MenuImages16x16.eIndexes.OpenDocument);
            mmitem.Click      += new EventHandler(OnFileOpen);
            mmitem.ToolTipText = "Open document";

            mmitem             = m_menuItems.GetItem("Save");
            mmitem.Text        = "&Save";
            mmitem.Image       = MenuImages16x16.Image(MenuImages16x16.eIndexes.SaveDocument);
            mmitem.Click      += new EventHandler(OnFileSave);
            mmitem.ToolTipText = "Save document";

            mmitem        = m_menuItems.GetItem("SaveAs");
            mmitem.Text   = "Save &As";
            mmitem.Click += new EventHandler(OnFileSaveAs);

            mmitem        = m_menuItems.GetItem("Exit");
            mmitem.Text   = "E&xit";
            mmitem.Click += new EventHandler(OnFileExit);

            ToolStrip strip = m_menuItems.GetStrip("file");

            strip.Items.Add(m_menuItems.GetItem("New").CreateButton());
            strip.Items.Add(m_menuItems.GetItem("Open").CreateButton());
            strip.Items.Add(m_menuItems.GetItem("Save").CreateButton());

            ToolStripMenuItem menuitem = m_menuItems.GetMenuStrip("file");

            menuitem.Text = "&File";
            menuitem.DropDownItems.Add(m_menuItems.GetItem("New").CreateMenuItem());
            menuitem.DropDownItems.Add(m_menuItems.GetItem("Open").CreateMenuItem());
            menuitem.DropDownItems.Add(m_menuItems.GetItem("Save").CreateMenuItem());
            menuitem.DropDownItems.Add(m_menuItems.GetItem("SaveAs").CreateMenuItem());
            menuitem.DropDownItems.Add(new ToolStripSeparator());
            menuitem.DropDownItems.Add(m_menuItems.GetItem("Exit").CreateMenuItem());
            m_mainMenu.Items.Insert(0, menuitem);

            ToolStripPanel panel = m_menuItems.GetStripPanel(DockStyle.Top);

            panel.Join(m_menuItems.GetStrip("layer"));
            panel.Join(m_menuItems.GetStrip("draw"));
            panel.Join(m_menuItems.GetStrip("edit"));
            panel.Join(m_menuItems.GetStrip("file"));
            panel.Join(m_mainMenu);

            panel = m_menuItems.GetStripPanel(DockStyle.Left);
            panel.Join(m_menuItems.GetStrip("modify"));

            panel = m_menuItems.GetStripPanel(DockStyle.Bottom);
            panel.Join(m_menuItems.GetStatusStrip("status"));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 安装工具栏(上/左/下)
        /// </summary>
        void SetupToolbars()
        {
            #region "文件"下拉菜单项通过MenuItemManager初始化
            MenuItem mmitem = m_menuItems.GetItem("New");
            //mmitem.Text = "&New";
            mmitem.Text        = "&新建";
            mmitem.Image       = MenuImages16x16.Image(MenuImages16x16.eIndexes.NewDocument);
            mmitem.Click      += new EventHandler(OnFileNew);
            mmitem.ToolTipText = "New document";

            mmitem = m_menuItems.GetItem("Open");
            //mmitem.Text = "&Open";
            mmitem.Text        = "&打开";
            mmitem.Image       = MenuImages16x16.Image(MenuImages16x16.eIndexes.OpenDocument);
            mmitem.Click      += new EventHandler(OnFileOpen);
            mmitem.ToolTipText = "Open document";

            mmitem = m_menuItems.GetItem("Save");
            //mmitem.Text = "&Save";
            mmitem.Text        = "&保存";
            mmitem.Image       = MenuImages16x16.Image(MenuImages16x16.eIndexes.SaveDocument);
            mmitem.Click      += new EventHandler(OnFileSave);
            mmitem.ToolTipText = "Save document";

            mmitem = m_menuItems.GetItem("SaveAs");
            //mmitem.Text = "Save &As";
            mmitem.Text   = "另存为";
            mmitem.Click += new EventHandler(OnFileSaveAs);

            mmitem = m_menuItems.GetItem("Exit");
            //mmitem.Text = "E&xit";
            mmitem.Text   = "退出";
            mmitem.Click += new EventHandler(OnFileExit);
            #endregion

            #region "文件"图片列工具栏构造
            ToolStrip strip = m_menuItems.GetStrip("file");
            strip.Items.Add(m_menuItems.GetItem("New").CreateButton());
            strip.Items.Add(m_menuItems.GetItem("Open").CreateButton());
            strip.Items.Add(m_menuItems.GetItem("Save").CreateButton());
            #endregion

            #region "文件"下拉菜单栏添加控件
            ToolStripMenuItem menuitem = m_menuItems.GetMenuStrip("file");
            menuitem.Text = "&File";
            menuitem.Text = "文件";
            menuitem.DropDownItems.Add(m_menuItems.GetItem("New").CreateMenuItem());
            menuitem.DropDownItems.Add(m_menuItems.GetItem("Open").CreateMenuItem());
            menuitem.DropDownItems.Add(m_menuItems.GetItem("Save").CreateMenuItem());
            menuitem.DropDownItems.Add(m_menuItems.GetItem("SaveAs").CreateMenuItem());
            menuitem.DropDownItems.Add(new ToolStripSeparator());
            menuitem.DropDownItems.Add(m_menuItems.GetItem("Exit").CreateMenuItem());
            m_mainMenu.Items.Insert(0, menuitem);
            #endregion

            #region  左下菜单栏/状态栏设置控件
            ToolStripPanel panel = m_menuItems.GetStripPanel(DockStyle.Top);

            panel.Join(m_menuItems.GetStrip("layer"));
            panel.Join(m_menuItems.GetStrip("draw"));
            panel.Join(m_menuItems.GetStrip("edit"));
            panel.Join(m_menuItems.GetStrip("file"));
            panel.Join(m_mainMenu);             //主菜单加入面板

            panel = m_menuItems.GetStripPanel(DockStyle.Left);
            panel.Join(m_menuItems.GetStrip("modify"));             //左侧修改栏

            panel = m_menuItems.GetStripPanel(DockStyle.Bottom);
            panel.Join(m_menuItems.GetStatusStrip("status"));             //底部状态栏
            #endregion
        }