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

更改通知属性

相关推荐
Ma_Hong_Kai4 天前
CMFCRibbonBar
开发语言·visualstudio·mfc
茉莉玫瑰花茶4 天前
CMake 工程指南 - 工程场景(3)
c++·mfc
cicada155 天前
MFC中的DoDataExchange表示什么功能?
c++·mfc
unicrom_深圳市由你创科技6 天前
Qt、MFC、WinForm、WPF,哪个做上位机界面更好?
qt·wpf·mfc
CAACoder7 天前
CATIA/3DE CAA二次开发-ScrollWindow滚动窗口
开发语言·c++·mfc·滚动窗口
551只玄猫11 天前
【高级程序设计 实验报告8】MFC菜单和工具栏
c++·mfc·课程设计·实验报告·高级程序设计
领小12 天前
VS2022 MFC对话框应用OLE读写操作excel
c++·excel·mfc
林鸿群12 天前
VS2026 + C++ 游戏服务器集群编译部署实战(14 个组件完整流程)
服务器·c++·游戏·mfc·游戏服务器·vs2026·编译部署
dengzhenyue25 天前
MFC 学习笔记
笔记·学习·mfc
兵哥工控1 个月前
mfc 线程启动、挂起、恢复、停止实例
c++·mfc·线程