Transparent Window (or Draw to screen) No Mouse Capture

前端 未结 1 1682
情歌与酒
情歌与酒 2020-12-13 11:15

In an app I\'m coding I would like to make an alert message to appear that displays a large semi-transparent warning message without affecting the users work. Basically I w

1条回答
  •  自闭症患者
    2020-12-13 12:05

    Override the CreateParams property on your Form class and make sure the WS_EX_NOACTIVATE extended style is set. Mine looks like this:

    protected override CreateParams CreateParams
    {
      get
      {
        CreateParams baseParams = base.CreateParams;
    
        baseParams.ExStyle |= ( int )(
          Win32.ExtendedWindowStyles.WS_EX_LAYERED |
          Win32.ExtendedWindowStyles.WS_EX_TRANSPARENT |
          Win32.ExtendedWindowStyles.WS_EX_NOACTIVATE |
          Win32.ExtendedWindowStyles.WS_EX_TOOLWINDOW );
    
        return baseParams;
      }
    }
    

    Values for ExtendedWindowStyles used above are:

    WS_EX_LAYERED = 0x00080000,
    WS_EX_NOACTIVATE = 0x08000000,
    WS_EX_TOOLWINDOW = 0x00000080,
    WS_EX_TRANSPARENT = 0x00000020,
    

    0 讨论(0)
提交回复
热议问题