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 控件不能相应点击事件的解决办法

更改通知属性

相关推荐
Vitta_U15 小时前
MFC的List Control自适应主界面大小
c++·list·mfc
mxpan14 天前
VC++ 与 Golang 的协作:实现 HTTP 文件传输服务
c++·go·mfc
斗转星移7715 天前
MFC中使用CRichEditCtrl控件让文本框中的内容部分加粗
c++·mfc·cricheditctrl·richedit2
lzb_kkk17 天前
【MFC】编辑框、下拉框、列表控件
c语言·开发语言·c++·mfc·1024程序员节
蚂蚁取经17 天前
MFC动态链接库相关知识
c++·mfc
lzb_kkk18 天前
【MFC】树控件的使用详解
开发语言·c++·windows·mfc·1024程序员节
水饺编程23 天前
MFC 第一章概述
c语言·c++·windows·mfc
獨枭1 个月前
彻底解决 MFC 自绘控件闪烁
c++·mfc
獨枭1 个月前
MFC Resource.h 文件详解与修改指南
c++·mfc
l1t1 个月前
三种读写传统xls格式文件开源库libxls、xlslib、BasicExcel的比较
c++·人工智能·开源·mfc