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

更改通知属性

相关推荐
何以解忧,唯有..4 天前
Go 语言数据类型详解:从基础到复合类型
开发语言·golang·mfc
tiandyoin5 天前
MFC奇怪问题--连续窗口ID,关闭其中一个才能打开另一个
dialog·mfc·vc++·ws_child·mdi
兵哥工控10 天前
高精度微秒延时函数实现顺控工控项目实例
c++·mfc·硬件高精度计时器
兵哥工控11 天前
MFC开关量输出发脉冲实例
c++·mfc·开关量发脉冲
ZK_H13 天前
MFC学习——简易计算器以及跨应用通信
学习·5g·mfc
ZK_H14 天前
MFC程序开发自学笔记其一——windows应用程序与c++基础
c++·笔记·mfc
还在点灯@19 天前
基于visual studio的MFC上位机实现界面切换
c++·visualstudio·mfc
徐安安_ye122 天前
FlashAttention与文本生成:让AI妙笔生花
c++·人工智能·mfc
兵哥工控23 天前
MFC 动态数组CArray类使用说明实例
c++·mfc
ytttr87324 天前
OPC UA 协议栈 C 语言实现
c语言·开发语言·mfc