不规则对话框的又一实现

2016-01-29 11:54 30 1 收藏

不规则对话框的又一实现,不规则对话框的又一实现

【 tulaoshi.com - C语言心得技巧 】

不规则对话框的又一实现
作者:河北唐山 吕建欣

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

下载本文示例代码

代码运行效果图如下:



此不规则对话框的实现应用了一个重要的位图对话框类——CBitmapDialog ,通过灵活运用,可以实现任意形状的对话框。

一、CBitmapDialog 简介:

CBitmapDialog从CDialog派生并封装了根据位图形成任意形状对话框的功能,类的实现也非常简单,主要是一些加载位图、设置透明色等操作,最关键的函数是MakeWindowRgn, 它根据位图生成所需的区域对象, 然后调用SetWindowRgn将窗口设置成需要的形状,MakeWindowRgn函数的具体代码请参考本文配套的代码。

二、CBitmapDialog类的使用

下面介绍CBitmapDialog类的使用过程:
1. 运行VC,建立基于对话框的应用程序 BitmapDlg。设置对话框的属性,去掉边框和标题栏。
2. 插入位图。(在插入-资源-选 Bitmap)
3. 在CBitmapDialogDlg 的BOOL CBmpDlgDlg::OnInitDialog() 中添加如下代码:

LoadBitmap(IDB_BITMAP1);//加载位图SetTransparent (TRUE);SetTransColor (RGB(0,0,0));//去掉形状的颜色设置SetStaticTransparent (TRUE);SetClickAnywhereMove (TRUE);//鼠标是否能拖动窗体。
4. 将 CBitmapDialogDlg 的基类改为 CBitmapDialog,并将更改相应的消息映射。

请大家都来试一试吧!

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

来源:https://www.tulaoshi.com/n/20160129/1483832.html

延伸阅读
标签: Web开发
JavaScript为我们提供几种对话框功能,但功能都十分有限;虽然在IE下可以通过模式窗体的方式创建更丰富的对话框功能,但毕竟只有IE得到支持。为了得到更丰富的自定义对话框功能,于是用JQuery编写了一个对话框插件;只需简单地引用相关JavaScript就能得到丰富的自定义对话框功能。 插件功能特点:        ...
标签: Web开发
为了得到更丰富的自定义对话框功能,于是用JQuery编写了一个对话框插件;只需简单地引用相关JavaScript就能得到丰富的自定义对话框功能。 插件功能特点: 允许通过CSS进行外观控制。 可以任意把面页的元素作为对话框显示。 当对话框激活时,对话框外的任何元素不能接受鼠标操作。 对话框可以在工作区范围内任意移动,根据工作区大小自...
自绘对话框 作者:Alon 下载示例源代码 闲来无事,写了一个简单的对话框界面,希望给需要的朋友有所帮助。 界面如下: 界面很单调,我只是想说明一下如何实现界面的自绘。如果有需要,也可以绘制更复杂漂亮的界面。 程序的实现也不复杂,接下来就跟着我一步一步做。...
标签: Web开发
模态对话框是,当弹出对话框时后面的内容无法操作。本次利用ajax制作的模太对话框并不是浏览器提供的模太对话框,而是通过层和ajax技术实现的虚拟的模太对话框. 样式表,css代码: .abc{          position:absolute;          left:1px;  &n...
标签: PS PS教程
      横轴代表像素本身的两度,竖轴代表新调节的亮度。中间的直线代表目前输入与输出之间的关系。可以单击某个Channels,进行Curves设置,或按Shift键选择两个以上的Channels.     在图像中准备要调节亮度的地方按下鼠标,一个圆出现在Curves对话框中的直线上。拖动这个圆即可调节图...

经验教程

755

收藏

86
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部