MFC设置透明但不穿透窗体

1.初始化中

//设置窗体为透明,要先把窗体边框属性改为无

LONG para = GetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE);

para |= WS_EX_LAYERED;

SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE, para);

//设置窗体透明色为RGB(255,0,0)

SetLayeredWindowAttributes(RGB(255, 0, 0), 255, LWA_COLORKEY);

在OnPaint事件中绘制窗体背景,背景色为透明色

CPaintDC dc(this);

RECT rect;

GetClientRect(&rect);

dc.FillSolidRect(&rect, RGB(255, 0, 0));

3.在OnCtlColor事件中设置控件

if (nCtlColor == CTLCOLOR_STATIC)背景

{

pDC->SetBkColor(RGB(255, 0, 0));//背景色为绿色

//pDC->SetBkMode(TRANSPARENT);//设置背景透明

pDC->SetTextColor(RGB(255, 0, 255));//文字为红色

pDC->SelectObject(&m_font);//文字为15号字体,华文行楷

return m_brush;

}

4.MFC 中static 控件不能相应点击事件的解决办法

更改通知属性

相关推荐
R-G-B4 天前
【67】MFC入门到精通——MFC 销售管理系统 项目实现详细教程
mfc·mfc销售管理系统·销售管理系统
chilavert3186 天前
技术演进中的开发沉思-38 MFC系列:关于打印
c++·mfc
R-G-B6 天前
【51】MFC入门到精通——MFC串口助手(一)---初级版(初始化、串口设置、修改参数、打开/关闭、状态显示),附源码
c++·mfc·mfc串口助手·串口设置·串口初始化·串口打开/关闭·串口状态显示
chilavert3186 天前
技术演进中的开发沉思-41 MFC系列:定制 AppWizard
数据库·c++·windows·mfc
chilavert3187 天前
技术演进中的开发沉思-40 MFC系列:多线程协作
c++·windows·mfc
R-G-B8 天前
【38】MFC入门到精通——MFC 2种方法实现自动查找串口号 Combobox 控件
c++·mfc·自动查找串口号·串口号自动填充combobox
R-G-B8 天前
【53】MFC入门到精通——MFC串口助手(二)---通信版(发送数据 、发送文件、数据转换、清空发送区、打开/关闭文件),附源码
mfc·mfc串口助手·串口助手通信·串口发送数据·串口发送文件·串口数据转换·串口清空发送区
chilavert3188 天前
技术演进中的开发沉思-39 MFC系列:多重文件和多重视图
c++·windows·mfc
R-G-B9 天前
【36】MFC入门到精通——MFC中 ComboBox->SetCurSel()函数 和ComboBox->SelectString()
c++·mfc·setcursel函数·selectstring函数
西哥写代码9 天前
基于dcmtk的dicom工具 第四章 图像接受StoreSCP(2)
mfc·dicom·dcmtk·vs2017