Win32 窗口篇(3)

 

 

1.11 如何显示或隐藏窗口的标题栏

使用ModifyStyle方法改变参数来更改窗体样式

void CDemoDlg::OnTest1() 
{//删除标题栏风格ModifyStyle(WS_CAPTION, 0, SWP_FRAMECHANGED);
}void CDemoDlg::OnTest2() 
{//添加标题栏风格ModifyStyle(0, WS_CAPTION, SWP_FRAMECHANGED);    
}

 

1.12 如何改变窗口的形状

  1. 用CRgn相关Create方法创建区域形状
  2. 使用SetWindowRgn方法设置窗体区域
void CDemoDlg::OnTest1() 
{CRect rect;GetClientRect(rect);//创建矩形区域CRgn rgn;rgn.CreateRectRgn(rect.left, rect.top, rect.right, rect.bottom);//设置窗口的区域SetWindowRgn((HRGN)rgn, TRUE);
}

效果:

image

1.13 如何设置窗口的透明区域

将2个区域合并成一个区域,貌似没啥用

CRect rect1;
GetWindowRect(rect1);CRect rect2;
GetClientRect(rect2);
ClientToScreen(rect2);CRgn rgn1;
rgn1.CreateRectRgn(rect1.left, rect1.top, rect1.right, rect1.bottom);CRgn rgn2;    
rgn2.CreateRectRgn(rect2.left, rect2.top, rect2.right, rect2.bottom);CRgn rgn;
rgn.CreateRectRgn(0, 0, 1, 1);rgn.CombineRgn(&rgn1, &rgn2, RGN_DIFF);//设置窗口区域
SetWindowRgn((HRGN)rgn2,TRUE);

 

1.14 如何实现透明窗口

先修改窗体样式,然后调用SetLayeredWindowAttributes方法更改透明度

//添加WS_EX_LAYERED(0x80000)扩展风格
ModifyStyleEx(0, 0x80000);
::SetLayeredWindowAttributes(GetSafeHwnd(), 0, 128, 2);

The SetLayeredWindowAttributes function sets the opacity and transparency color key of a layered window.

效果:

image

1.15 如何使窗口闪烁

调用FlashWindow方法,参数True则窗体闪烁一次,False则停止闪烁

void CDemoDlg::OnTest1() 
{//设置定时器SetTimer(1, 1000, NULL);
}void CDemoDlg::OnTest2() 
{//关闭定时器KillTimer(1);//窗口返回原始状态FlashWindow(FALSE);
}void CDemoDlg::OnTimer(UINT nIDEvent) 
{if (nIDEvent == 1){//窗口从一种状态闪烁到另一种状态FlashWindow(TRUE);}CDialog::OnTimer(nIDEvent);
}

转载于:https://www.cnblogs.com/Clingingboy/archive/2011/03/20/1989324.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298560.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 消息队列_Linux进程间通信第六讲 标准IPC之消息队列

来源CSDN:CSDN-专业IT技术社区-登录​blog.csdn.net一、概念和原理消息队列是另一种标准IPC,当然也大概遵循大部分标准消息队列,它是存放消息(数据)的队列,而队列是先进先出的线性数据结构换句话说,我们就是利用这个数据结构 进行进程间的通信消息队列允许多个进程同…

15个只有数学老师懂的泪流满面瞬间

全世界只有3.14 % 的人关注了爆炸吧知识「1」大题算了半天,就是跟标准答案对不上「2」一次令人期待的公开课啊啊——啊...「3」这就是传说中美好的协同教研「4」在网上下了一堆 PPT 准备拼到一起「5」预测高考题「6」临下课了还有三道大题没评讲「7」当我以为我已经…

matlab绘制二元一次函数图像_【八上数学】 一次函数必考知识点(下)

【八上数学】《一次函数》必考知识点(中)【八上数学】《函数、一次函数》必考知识点(上)写在前面本讲,我们重点研究一次函数与一元一次方程,不等式,二元一次方程组的问题,帮助同学们解决一些典型问题.一、一次函数与二…

计算机能代替纸笔英语作文,电脑能代替纸笔吗英语作文

电脑能代替纸笔吗英语作文在现实生活或工作学习中,说到作文,大家肯定都不陌生吧,作文可分为小学作文、中学作文、大学作文(论文)。作文的注意事项有许多,你确定会写吗?以下是小编为大家整理的电脑能代替纸笔吗英语作文…

《WinForm开发系列之高级篇》Item2 TCP异步传输

1.AsySocket.cs 代码 publicclassAsySocket {#region私有字段privateSocket mSocket null;privatestringmID "";#endregion#region构造函数publicAsySocket(string_LocalIP, int_LocalPort) { try{ mSocket newSocket(AddressFamily.InterNetwork, SocketType.Stream…

C# params的用法详解

为了将方法声明为可以接受可变数量参数的方法,我们可以使用params关键字来声明数组,要求:(1)在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。(2)该参数必须标识一个一维数组,但类…

spring 单例 获取多例的位_Spring系列第6篇:玩转bean scope,避免跳坑里!

公众号关注“程序员二哥”,设为‘星标’,带你学习更多的知识。本文内容 详细介绍5中bean的sope及使用注意点自定义作用域的实现应用中,有时候我们需要一个对象在整个应用中只有一个,有些对象希望每次使用的时候都重新创建一个&…

女生的拳头有多厉害?

1 天下武功唯快不破2 狗子:没想到我有这种天赋3 哈哈哈还是你社会啊4 女生的拳头有多厉害??5 怎么解开的?6 心中有海,脚下有沙,这就是马尔代夫7 你的人生概括

与ln的指数转化公式_高考数学48条秒杀型公式与方法

点上方蓝字,关注“云学冠学习资讯”有助于提高成绩哦!除了课本上的常规公式之外,掌握一些必备的秒杀型公式能够帮你在考试的时候节省大量的时间,师姐这次的分享就是48条秒杀公式,直接往下看!1.适用条件&…

在C#2.0中使用Nullable可空类型

在C#1.x的版本中,一个值类型变量是不可以被赋予null值的,否则会产生异常。在C#2.0中,微软提供了Nullable类型,允许用它定义包含null值(即空值)的数据类型,这对处理数据库中包含可选字段以及很多…

豆瓣9.7,这些舍不得看完的神剧,看一集少一集!我刷了一晚上……

全世界只有3.14 % 的人关注了爆炸吧知识今天给大家介绍一位好朋友——小樱,小樱,作为资深美剧迷英语博主,收藏了很多经典美剧、动画资源,每天还会和大家分享新鲜有趣的英语知识。喜欢看美剧追动画和立志学好英语的小伙伴千万别错过…

C#编码规范

1、连接数据库并返回DataTable View Code public DataTable GetDataByTable() { DataSet dataset new DataSet(); DataTable datatable null; SqlConnection sqlConnection new SqlConnection("Data Source.;Initial CatalogCalamity_Dat…

api中文文档 mws_中英文排版规范化 API

此文章对开放数据接口 API 之「中英文排版规范化 API」进行了功能介绍、使用场景介绍以及调用方法的说明,供用户在使用数据接口时参考之用。 1. 产品功能此次开放了中英文排版规范化在线接口,用于自动中英文排版、标点符号格式化,中英混排格式…

计算机管理无法连接虚拟磁盘服务,虚拟磁盘服务错误怎么操作【图文教程】

虚拟磁盘我们大家都可以看到但实际上是不存在的,虚拟的就是假的。虚拟磁盘是通过将一些网络文件或是内存利用科技手段伪造成磁盘,我们通常称它为虚拟磁盘。虚拟磁盘可以给内存增加容量,可以加快磁盘数据交换,提高计算机运行速度。…

记一次 .NET 某机械臂智能机器人控制系统MRS CPU爆高分析

一:背景 1. 讲故事这是6月中旬一位朋友加wx求助dump的故事,他的程序 cpu爆高➕UI卡死,问如何解决,截图如下:在拿到这个dump后,我发现这是一个关于机械臂的MRS程序,哈哈,在机械臂这种…

linux 信号_Linux中的信号处理机制 [四]

信号与线程Unix的信号机制在诞生之初,生活在只有进程(process)的相对单纯的环境中。自从Unix世界有了线程(thread)的概念,信号就被赋予了发往进程中某个特定线程的能力,当然,这也增加了整个信号机制实现的复杂度。本系列的前面三篇…

HP NIC Teaming技术探讨

NIC Teaming技术将2个或更多个网卡(HP NIC Teaming最多可达8个)捆绑在一起使用,以达到增加总的带宽(Load Balance,负载均衡)或者线路容错(Fault Tolerance)的目的。由2个或多个网卡组成一个逻辑网络端口Teamport,IP地址和网络设置绑定在这个逻…

仙居(一)

仙居(一) 仙居——仙人居住的地方。 景星岩全景 (看大图请点击) 其他图片在整理中,待我慢慢把图片和故事都理出来。转载于:https://www.cnblogs.com/hzy5901/archive/2011/03/31/5871611.html

我的电脑不联网,很安全!黑客:你还有风扇呢

全世界只有3.14 % 的人关注了爆炸吧知识转自:机器之心参与:张倩、蛋酱、杜伟从1988年第一个网络蠕虫病毒诞生以来,「互联网危机四伏」的观念就已经深入人心。如果只是这样,不给电脑联网、禁止使用任何可移动储存介质,数…

移动终端测试进化论

2019独角兽企业重金招聘Python工程师标准>>> 移动终端测试进化论 本案例主要以5年的现身经历,阐述针对移动互联网终端测试,从最基础的原始时代如何进入到现代化时代;从单一到多点密集;从对产品的质量保障进化到对产品信…