void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            Mouse.OverrideCursor = Cursors.None;
            MouseMove += new MouseEventHandler(MainWindow_MouseMove);
            MouseDown += new MouseButtonEventHandler(MainWindow_MouseDown);
            KeyDown += new KeyEventHandler(MainWindow_KeyDown);

            _panel = new MainPanel(_info);
            this.Content = _panel;
            _panel.Width = this.Width;
            _panel.Height = this.Height;
        }
Esempio n. 2
0
        /// <summary>
        /// プレビュー画面を表示する
        /// </summary>
        private void startPreview(IntPtr pPreviewHnd)
        {
            RECT lpRect = new RECT();
            bool bGetRect = Win32API.GetClientRect(pPreviewHnd, ref lpRect);

            HwndSourceParameters sourceParams = new HwndSourceParameters("sourceParams");
            sourceParams.PositionX = 0;
            sourceParams.PositionY = 0;
            sourceParams.Height = lpRect.Bottom - lpRect.Top;
            sourceParams.Width = lpRect.Right - lpRect.Left;
            sourceParams.ParentWindow = pPreviewHnd;
            sourceParams.WindowStyle = (int)(WindowStyles.WS_VISIBLE | WindowStyles.WS_CHILD | WindowStyles.WS_CLIPCHILDREN);

            // プレビュー画面では静音にする
            MainPanel previewPanel = new MainPanel(true);

            HwndSource winWPFContent = new HwndSource(sourceParams);
            winWPFContent.Disposed += (s, e) =>
            {
                if (previewPanel != null)
                    previewPanel.PanelExit();
            };

            Canvas canvas = new Canvas();
            canvas.Background = System.Windows.Media.Brushes.AliceBlue;
            canvas.Width = sourceParams.Width;
            canvas.Height = sourceParams.Height;

            // capture desktop
            Image img = new Image();
            img.Source = Win32API.CaptureScreen();
            Canvas.SetTop(img, 0);
            Canvas.SetLeft(img, 0);
            img.Width = sourceParams.Width; img.Height = sourceParams.Height;
            canvas.Children.Add(img);

            // movie panel
            Canvas.SetTop(previewPanel, 0);
            Canvas.SetLeft(previewPanel, 0);
            previewPanel.Width = sourceParams.Width;
            previewPanel.Height = sourceParams.Height;
            canvas.Children.Add(previewPanel);

            winWPFContent.RootVisual = canvas;
        }