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

更改通知属性

相关推荐
carver w4 小时前
MFC,C++,海康SDK,回调,轮询
开发语言·c++·mfc
芒果很香4 小时前
MFC中使用EXCEL的方法之一
excel·mfc
逐梦,无惧!5 天前
MFC的使用——使用ChartCtrl绘制曲线
c++·mfc
watson_pillow7 天前
mfc按钮点击事件没有触发,且程序卡死
c++·mfc
界面开发小八哥8 天前
MFC扩展库BCGControlBar Pro v36.2:MSAA和CodedUI测试升级
c++·mfc·bcg·界面控件
mit6.82410 天前
[LVGL] 配置lv_conf.h | 条件编译 | 显示屏lv_display
c++·mfc
萑澈14 天前
国产开源大模型崛起:使用Kimi K2/Qwen2/GLM-4.5搭建编程助手
c++·开源·mfc
老狼主19 天前
MFC CChartCtrl编程
c++·mfc
一杯科技拿铁19 天前
go‑cdc‑chunkers:用 CDC 实现智能分块 & 强力去重
c++·mfc
西哥写代码21 天前
基于dcmtk的dicom工具 第九章 以json文件或sqlite为数据源的worklist服务(附工程源码)
sqlite·json·mfc·dcmtk·worklist