47 lines
1.5 KiB
C#
47 lines
1.5 KiB
C#
using AIProofread.Util;
|
|
using System;
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
|
|
namespace AIProofread.Controls
|
|
{
|
|
public partial class FormMask : Form
|
|
{
|
|
public Form myParent;
|
|
public FormMask(Form myParent)
|
|
{
|
|
//InitializeComponent();
|
|
this.myParent = myParent;
|
|
this.FormBorderStyle = FormBorderStyle.None;
|
|
this.BackColor = Color.Black;
|
|
this.Opacity = 0.5; // 设置遮罩透明度
|
|
this.ShowInTaskbar = false;
|
|
|
|
this.StartPosition = FormStartPosition.Manual;
|
|
this.WindowState = FormWindowState.Maximized;
|
|
this.Click += FormMask_Click;
|
|
//this.TopMost = true;
|
|
}
|
|
|
|
private void FormMask_Click(object sender, EventArgs e)
|
|
{
|
|
User32Util.SetForegroundWindow(myParent.Handle);
|
|
myParent.Focus();
|
|
}
|
|
|
|
public void ShowOverWord()
|
|
{
|
|
IntPtr wordHandle = new IntPtr(Globals.ThisAddIn.Application.ActiveWindow.Hwnd); // 获取Word窗口句柄
|
|
// User32Util.SetParent(this.Handle, wordHandle);
|
|
var wordRect = new User32Util.RECT();
|
|
User32Util.GetWindowRect(wordHandle, ref wordRect);
|
|
|
|
// 设置遮罩窗体的位置和大小
|
|
this.Bounds = new Rectangle(wordRect.Left, wordRect.Top,
|
|
wordRect.Right - wordRect.Left,
|
|
wordRect.Bottom - wordRect.Top);
|
|
this.Show();
|
|
}
|
|
}
|
|
}
|