C++ winForm中如何时窗体全屏并透明 但是能够使键盘鼠标透过,即加一个全屏遮罩

1、将form的Opacity从100%调为我们想要的透明度,例如this->Opacity = 0.2;

2、在form_load函数中加入:

HWND hWnd=::FindWindow(NULL,L"Form1");
     DWORD   dwNewLong =   GetWindowLong(hWnd,   GWL_EXSTYLE);
     dwNewLong   |=   WS_EX_TRANSPARENT   |WS_EX_LAYERED;
     SetWindowLong(hWnd,   GWL_EXSTYLE,   dwNewLong);

当然要加些头文件#include <windows.h>
                        #pragma comment(lib, "User32.lib")

3、设置屏幕的WindowState为Maximized;设置屏幕的TopMost为true,然后设置想要的遮罩层的颜色为form的backcolor

时间: 2024-08-11 05:32:37

C++ winForm中如何时窗体全屏并透明 但是能够使键盘鼠标透过,即加一个全屏遮罩的相关文章

winform中启动登陆窗体,登陆成功后登陆窗体自动销毁

Login login= new Login();               login.ShowDialog();               if (login.DialogResult == DialogResult.OK)               {                   Application.Run(new mian());                   login.Dispose();               }               else

【续】强行在C# Winform中渲染Cocos2d-x 3.6

[前言] 上一篇讲了怎么把Cocos2d-x 3.6渲染进MFC窗体,这里来讲一下怎么在C# Winform中做到同样的功能.如果你不熟悉MFC的使用但对C# Winform比较在行,请往下看. 这一篇是作为上一篇的副属文,所以文中提到的部分操作需要在上一篇中找……博主懒逼不在这复制粘贴了. [核心思想] 同上一章不同的是,C#是托管环境,并不能直接用“类.方法()”这样的形式来访问Cocos层的代码.我们需要在其间建立一个DLL层(C++编写)作为Cocos层的接口,让C#通过接口来控制Coc

(BUG已修改,最优化)安卓ListView异步加载网络图片与缓存软引用图片,线程池,只加载当前屏之说明

原文:http://blog.csdn.net/java_jh/article/details/20068915 迟点出更新的.这个还有BUG.因为软引应不给力了.2.3之后 前几天的原文有一个线程管理与加载源过多,造成浪费流量的问题.下面对这进下改进的一些说明(红色为新加) 这两天一直在优化这个问题.google也很多种做法.但发现都是比较不全面. 比如: 一些只实现了异步加载,却没有线程池与软引用. 一些是用AsynTast的, 一些有了线程池但加载所有的图片,这样造成具大资源浪费 一些是用

Winform中的窗体一些常用属性

Winform窗体的常用窗体属性 1)窗体全屏显示 this.DesktopBounds = Screen.GetWorkingArea(this);  //全屏显示桌面 注:可以放在初始化方法中,也可以设置定时器(Timer),什么时候显示全屏 2)窗体去掉最小化和最大化 this.MinimizeBox = false;   //true为默认有最小化,false则相反this.MaximizeBox = false; 3)设置为顶级窗体 this.TopMost = true;   //覆

C# WinForm中的全选和反选(CheckBox)

方案一: 前置说明: 控件:DEV控件: 选框:除了“全选”框名字为“ckbAll”,其余选框名字依次为:“ckb0,ckb1,ckb2,...ckb12”,区分全选框: 事件:选框事件只用Click事件.(在调试过程中,用Changed事件,会出现类似死循环的情况) 面板:总14个选框,均在面板:StatusPanel上(这里将使用循环获取DEV控件,且是CheckEdit类型时,做单选和全选判定). 由于技术有限,未能良好运用其他控件(如CheckBoxList等),   故,使用Check

winform退出或关闭窗体时弹窗提示代码:转

winform退出或关闭窗体时弹窗提示代码,当我们点击窗体的 X 按钮时,会弹出一个对话框,询问我们是直接退出,还是最小化到托盘,还是取消这个行为.或是是否保存当前修改等等.以下以最小化到托盘为例.        首先, 要确定已经将控件NotifyIcon拖到应用窗体中,属性name为notifyicon1. 然后, 双击窗体的FormClosing的事件 ,具码内容如下: private void Form1_FormClosing(object sender, FormClosingEve

Winform中实现自定义屏保效果(附代码下载)

场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建form窗体,窗体中设计布局如下,一个Panel中拖拽四个label,然后添加两个Button,再添加一个Timer控件. 在窗体的Load事件中将Label进行隐藏 private void Form1_Load(object sender, EventArgs e) { LabelVisible(fal

winform中,如何控制控件位置随窗体的大小改变而改变

winform中,如何控制控件位置随窗体的大小改变而改变 有如下3种方法: 方法1 [csharp] view plaincopy using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace MarkPrint

WinForm窗体中如何在一个窗体中取到另一个窗体的值

例如我们定义两窗体,Form1和Form2,如何在Form2中取到Form1中的一个值呢? 解决方法: 我们可以在Form2的类MyClass中定义一个静态变量,例如 public static string a = " "; 然后给这个静态变量赋值,例如 a = lblname.text; 由于静态变量的作用范围可以跨类,所以在Form1的方法中我们可以直接使用Form2的类MyClas进行调用Form2的静态变量a MyClass.a; 这样就完成了WinForm中从一个窗体中取得