1 BOOL CDialog7::OnInitDialog()
 2 {
 3     CDialog::OnInitDialog();
 4
 5     // TODO:  在此添加额外的初始化
 6
 7     ::SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,::GetWindowLongPtr(GetSafeHwnd(),GWL_EXSTYLE)|WS_EX_LAYERED);
 8     this->SetLayeredWindowAttributes(0,(255*70)/100,LWA_ALPHA);
 9
10     return TRUE;  // return TRUE unless you set the focus to a control
11     // 异常: OCX 属性页应返回 FALSE
12 }

涉及到的函数如下:1  SetWindowLong  2  GetSafeHwnd  3  GetWindowLongPtr  4  SetLayeredWindowAttributes
一、LONG SetWindowLong(         HWND hWnd,int nIndex,LONG dwNewLong
);

SetWindowLong是一个Windows API函数。该函数用来改变指定窗口的属性.函数也将指定的一个32位值设置在窗口的额外存储空间的指定偏移位置。

hWnd 窗口句柄及间接给出的窗口所属的类。

nlndex

指定将设定的大于等于0的偏移值。有效值的范围从0到额外类的存储空间的字节数减4:例如若指定了12或多于12个字节的额外窗口存储空间,则应设索引位8来访问第三个4字节,同样设置0访问第一个4字节,4访问第二个4字节。要设置其他任何值,可以指定下面值之一:

常量

常量值

意义

GWL_EXSTYLE

-20

设定一个新的扩展风格。

GWL_HINSTANCE

-6

设置一个新的应用程序实例句柄。

GWL_ID

-12

设置一个新的窗口标识符。

GWL_STYLE

-16

设定一个新的窗口风格。

GWL_USERDATA

-21

设置与窗口有关的32位值。每个窗口均有一个由创建该窗口的应用程序使用的32位值。

GWL_WNDPROC

-4

为窗口设定一个新的处理函数。

GWL_HWNDPARENT -8 改变子窗口的父窗口,应使用SetParent函数。

当hWnd参数标识了一个对话框时,也可使用下列值:

常量

常量值

意义

DWL_DLGPROC

DWLP_MSGRESULT + sizeof(LRESULT) (值:4)

设置对话框过程的新地址。

DWL_MSGRESULT

0

设置在对话框过程中处理的消息的返回值。

DWL_USER

DWLP_DLGPROC + sizeof(DLGPROC) (值:8)

设置的应用程序私有的新的额外信息,例如一个句柄或指针。

dwNewLong

指定的替换值。

dwNewLong中可以使用以下一些列表控件的专用风格:

LVS_ICON LVS_SMALLICON LVS_LIST LVS_REPORT

这四种风格决定控件的外观,同时只可以选择其中一种,分别对应:

大图标显示,小图标显示,列表显示,详细报表显示

LVS_EDITLABELS 结点的显示字符可以被编辑,对于报表风格来讲可编辑的只为第一列。

LVS_SHOWSELALWAYS 在失去焦点时也显示当前选中的结点

LVS_SINGLESEL 同时只能选中列表中一项

返回值

如果函数成功,返回值是指定的32位整数的原来的值。如果函数失败,返回值为0。若想获得更多错误信息,请调用GetLastError函数。

如果指定32位整数的原来的值为0,并且函数成功,则返回值为0,但是函数并不清除最后的错误信息,这就很难判断函数是否成功。这时,就应在调用SetWindowLong之前调用SetLastError(0)函数来清除最后的错误信息。这样,如果函数失败就会返回0,并且GetLastError。也返回一个非零值。

二、

GetSafeHwnd,计算机语言函数。用于得到窗口指针句柄。

四、

SetLayeredWindowAttributes

此函数用于设置分层窗口透明度,常和 UpdateLayeredWindow 函数结合使用。

BOOL SetLayeredWindowAttributes(

HWND hwnd, // 指定分层窗口句柄

COLORREF crKey, // 指定需要透明的背景颜色值,可用RGB()宏

BYTE bAlpha, // 设置透明度,0表示完全透明,255表示不透明

DWORD dwFlags // 透明方式

);

其中,dwFlags参数可取以下值:

LWA_ALPHA时:crKey参数无效,bAlpha参数有效;

LWA_COLORKEY:窗体中的所有颜色为crKey的地方将变为透明,bAlpha参数无效。

LWA_ALPHA | LWA_COLORKEY:crKey的地方将变为全透明,而其它地方根据bAlpha参数确定透明度。

转载于:https://www.cnblogs.com/qiwu1314/p/8482428.html

mfc设置半透明对话框相关推荐

  1. MFC设置对话框背景色及控件颜色

    MFC设置对话框背景色及控件颜色 一.使用背景图片更改对话框背景色 在对话框源文件void CxxDlg::OnPaint()函数中 if (IsIconic()) { (这里省略) } else { ...

  2. MFC设置编辑框内容

    1.方法一:设置编辑框变量 在MFC的基本对话框中,创建一个编辑框控件,为控件添加一个类型为CEdit的变量 m_Edit . CString str="123"; m_Edit. ...

  3. MFC创建模态对话框与非模态对话框 执行顺序

    创建模态对话框 CDialog::DoModal virtual int DoModal(); 返回值: 整数值,指定了传递给CDialog::EndDialog 的nResult参数值.该函数用于关 ...

  4. MFC设置菜单项字体

    1.创建基于对话框的MFC工程MyMenuFont: 2.创建空内容的菜单,在rc文件中添加代码: / // // Menu //MAINMENU MENU BEGINPOPUP "菜单&q ...

  5. 【MATLAB】基本绘图 ( 绘制多图 | 设置图形对话框在 Windows 界面的位置和大小 | 在一个图形上绘制多个小图形 )

    文章目录 一.绘制多图 1.绘制多图 2.代码示例 二.设置图形对话框在 Windows 界面的位置和大小 三.在一个图形上绘制多个小图形 一.绘制多图 1.绘制多图 存在一种绘图情况 , 需要同时展 ...

  6. 【Android 应用开发】Google 官方 EasyPermissions 权限申请库 ( 完整代码示例 | 申请权限 | 申请权限原理对话框 | 引导用户手动设置权限对话框 )

    文章目录 一.申请权限 二.申请权限原理对话框 三.引导用户手动设置权限对话框 四.在 AndroidManifest.xml 中配置权限 五.完整代码示例 六.GitHub 地址 一.申请权限 申请 ...

  7. MFC非模态对话框实例

    [转载]MFC非模态对话框实例 2012-06-17 16:21:41|  分类: C++/MFC |  标签: |字号大中小 订阅 实例目的 在Windows环境中,对话框是一种常用的输入输出手段. ...

  8. MFC中模态对话框和非模态对话框的差别

    在MFC中有模态对话框和非模态对话框,那这两种有什么差别呢. 又都是用于什么场合呢. 首先,要弄清楚2种对话框是怎样创建的. 然后要弄清楚2种对话框有什么差别,可能从表面上看,模态会堵塞主对话框.可原 ...

  9. MFC开发IM-第七篇、mfc设置默认编辑框内容

    mfc设置默认编辑框内容 原创 2012年04月29日 20:38:04 标签: mfc 9836 为了避免重复输入内容,可以在编辑框中设置默认信息 在OnInitDialog()函数中添加代码: 方 ...

最新文章

  1. vue设置ioc图标和title
  2. chart.js 饼图显示百分比_实战PyQt5: 135-数据可视化之QChart绘制饼图
  3. 漂亮的带分步说明的 VBA 自制进度条
  4. java明文发送_使用java MD5加密网络明文
  5. python获取手机号码归属地_Python批量获取并保存手机号归属地和运营商的示例
  6. 统一返回码,返回结果实体类
  7. python中的__init__ 、__new__、__call__等内置函数的剖析
  8. python数字转中文字符_python数字金额转换为中文大写金额
  9. python 找图 找字_使用按键精灵找点找图找字的方法
  10. lozi混沌映射吸引子,使用python的matplotlib绘制,可以放大和缩小
  11. 学计算机专业独立显卡有必要吗,独立显卡驱动有什么用(显卡驱动有必要安装吗)...
  12. jfreechart-x轴刻度倾斜45度
  13. 论文阅读|《用强化学习求解带插单的动态FJSP》
  14. 爬虫项目七:Python对唯品会商品数据、评论数据的爬取
  15. Matlab 绘制动态图
  16. 【c】三角形图形输入 6*11 看懂这一个以后打印图形信手nian来
  17. MySQL异常java.sql.SQLSyntaxErrorException
  18. c语言strrchr函数,strrchr_字符串 | Strings_C_参考手册_非常教程
  19. Mac 如何连接远程服务器
  20. 用JavaScript实现简易的网页音乐播放器

热门文章

  1. 微信小程序实现转盘抽奖
  2. 推特引流的一些小诀窍
  3. Memcached管理与Redis
  4. MATLAB工具箱(功能型工具箱和领域型工具箱)
  5. Linux磁盘扩展(非LVM+LVM)
  6. Java编程要学哪些软件?这些都是免费的
  7. 四. 常用EMC防护器件选型学习笔记
  8. 如何用因果推断和实验驱动用户增长? | 7月28日TF67
  9. 一感冒就得红眼病,而且很严重怎么办
  10. 什么是WRAP认证?WRAP认证详解