MFC PNG作背景 透明边框GDI+

这篇博客介绍了如何在MFC应用中使用PNG图片作为对话框的背景,并实现透明边框效果。通过在对话框的.h文件中添加代码,并在信号响应函数OnSysCommand中处理IDM_ABOUTBOX,结合GDI+技术,实现了窗口的美化。详细步骤可参考链接中的CSDN博客。
摘要由CSDN通过智能技术生成
记录下啦。刚刚实现,怕忘了。从上往下,建立对话框工程就行。

1-把PNG图片当作位图的形式载入,在资源里面会多出一个PNG的文件夹例如载入一张了。

[code=c]
2-stdafx.h里加上两句:
#include <gdiplus.h> //新加的
using namespace Gdiplus;

3-然后在该窗口的.h文件里面加上以下代码


.h 文件里的 protected:
HICON m_hIcon;  /

private:
BLENDFUNCTION m_Blend;
HDC m_hdcMemory;
Image *image;
int m_BakWidth , m_BakHeight ;
HINSTANCE hFuncInst ;
typedef BOOL (WINAPI *MYFUNC)(HWND,HDC,POINT*,SIZE*,HDC,POINT*,COLORREF,BLENDFUNCTION*,DWORD);
MYFUNC UpdateLayeredWindow;

ULONG_PTR m_gdiplusToken;
BOOL UpdateClockDisplay(int Transparent=255);//其实重要的是这个跟下面一个函数
BOOL ImageFromIDResource(UINT nID,LPCTSTR sTR,Image * &pImg);

4-public:里面应该有以下的几个消息响应,注意不是直接添加,要在类向导-->消息中添加。
afx_msg void OnPaint();
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg HCURSOR OnQueryDragIcon();
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

5-然后就去实现这些消息,还有private里的两个重要函数,这两个我也不懂,加上去,不要露了5-public里的各个消息处理
函数就可以使用了。以下是在.cpp里面的实现:


主要是在以下函数里面执行:UpdateClockDisplay();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值