Exemple #1
0
        private void createRenderPanel()
        {
            if (renderItem != null)
            {
                renderItem.Close();
            }
            renderItem                     = new TabItemWithClose();
            renderItem.Width               = 150;
            renderItem.Height              = 20;
            renderItem.FontSize            = 13;
            renderItem.Header              = "编辑器";
            renderItem.HorizontalAlignment = HorizontalAlignment.Stretch;
            renderItem.VerticalAlignment   = VerticalAlignment.Stretch;
            RenderPanel rp = new RenderPanel();

            rp.RenderLoaded     += Rp_Loaded;
            rp._MouseButtonDown += Rp__MouseLeftButtonDown;
            rp._MouseButtonUp   += Rp__MouseLeftButtonUp;
            rp._MouseMove       += Rp__MouseMove;
            rp._KeyDown         += Rp__KeyDown;
            rp._KeyUp           += Rp__KeyUp;
            rp._SizeChange      += Rp__SizeChange;
            renderItem.Content   = rp;
            mainWnd.renderPanel.Items.Add(renderItem);
            mainWnd.renderPanel.SelectedItem = renderItem;
        }
Exemple #2
0
        private void createGameWindow()
        {
            RenderPanel rp = null;

            if (gameItem != null)
            {
                rp = gameItem.Content as RenderPanel;
            }
            else
            {
                gameItem         = new TabItemWithClose();
                gameItem.Header  = "Game";
                gameItem.Width   = 150;
                gameItem.Height  = 20;
                gameItem.Closed += GameItem_Closed;
                rp               = new RenderPanel();
                rp._SizeChange  += gamePanel_SizeChange;
                rp.Loaded       += gamePanel_Loaded;
                gameItem.Content = rp;
            }

            mainWnd.renderPanel.Items.Add(gameItem);
            mainWnd.renderPanel.SelectedItem = gameItem;

            Win32.SetParent(windowsPlayerHandle, rp.Handle);
            Int32 wndStyle = Win32.GetWindowLong(windowsPlayerHandle, Win32.GWL_STYLE);

            wndStyle &= ~Win32.WS_BORDER;
            wndStyle &= ~Win32.WS_THICKFRAME;
            Win32.SetWindowLong(windowsPlayerHandle, Win32.GWL_STYLE, wndStyle);
            Win32.SetWindowPos(windowsPlayerHandle, IntPtr.Zero, 0, 0, 0, 0, Win32.SWP_NOMOVE | Win32.SWP_NOSIZE | Win32.SWP_NOZORDER | Win32.SWP_FRAMECHANGED);
        }
        /// <summary>
        /// 行双击事件
        /// </summary>
        /// <param name="sender"></param>
        private void datagrid_DoubleClick(object sender)
        {
            DataGrid          dg          = (DataGrid)sender;
            contractDtoDetail rowSelected = dg.SelectedItem as contractDtoDetail;

            if (rowSelected != null && !string.IsNullOrEmpty(rowSelected.contractId))
            {
                string contractCode = this.contractId = rowSelected.contractId;
                string contractName = rowSelected.contractName;
                this.newprice = rowSelected.lastPrice;


                bool isExists = false;
                for (int i = 0; i < this.Tab_Page.Items.Count; i++)
                {
                    TabItem tab = this.Tab_Page.Items[i] as TabItem;
                    if (tab.Name == contractCode)
                    {
                        Dispatcher.InvokeAsync(() => Tab_Page.SelectedItem = tab);
                        isExists = true;
                        break;
                    }
                }
                if (!isExists)
                {
                    TabItemWithClose item = new TabItemWithClose();
                    item.Header = contractName;
                    item.Margin = new Thickness(1, 0, 1, 0);
                    item.Height = 50;
                    item.Name   = contractCode;
                    Label lbl = new Label()
                    {
                        Content = string.Format("{0}", Tab_Page.Items.Count)
                    };
                    StackPanel sPanel = new StackPanel();
                    sPanel.Children.Add(lbl);
                    item.Content = sPanel;
                    Tab_Page.Items.Add(item);
                    Dispatcher.InvokeAsync(() => Tab_Page.SelectedItem = item);
                }
            }
        }