WTL对话框添加背景图片的方法(C++)

   第一步,在对话框的头文件中添加如下:

#include 
using namespace Gdiplus;
extern GdiplusStartupInput gGdiInput;

   第二步,在需要添加背景图片的对话框的类中,增加如下消息映射

         MESSAGE_HANDLER(WM_PAINT, OnPaint)

   同时在对话框的OnInitDialog函数中,增加如下初始化:

ULONG  token = 0;
GdiplusStartup(&token, &gGdiInput, NULL);
    第三步,在对话框的对应C++文件中添加如下类似代码(图片路径需要修改为你自己本地png文件的路径):

#pragma  comment(lib, "GdiPlus.lib")
GdiplusStartupInput gGdiInput;

LRESULT CMainDlg::OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	CPaintDC dc(m_hWnd);
	RECT rect;
	GetClientRect(&rect);

	HDC hDC = dc.m_hDC;
	Graphics g(hDC);
	Image im(L"E:\\res\\1.png");
	g.DrawImage(&im, 0, 0, rect.right-rect.left, rect.bottom-rect.top);

	return 0;
}



你可能感兴趣的:(WTL界面编程)