WTL对话框添加背景图片
2016-09-26 10:43
323 查看
WTL91_5321_Final + VS2013 + WIN7
// MainDlg.h : interface of the CMainDlg class
//
/////////////////////////////////////////////////////////////////////////////
#pragma once
#include <GdiPlus.h>
#include <atlimage.h>
extern Gdiplus::GdiplusStartupInput gGdiInput;
class CMainDlg : public CDialogImpl<CMainDlg>
{
public:
enum { IDD = IDD_MAINDLG };
BEGIN_MSG_MAP(CMainDlg)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
MESSAGE_HANDLER(WM_PAINT, OnPaint)
COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
END_MSG_MAP()
// Handler prototypes (uncomment arguments if needed):
// LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
// LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
// LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/)
LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
private:
CImage bg;
};
1、对话框头文件(MainDlg.h)添加:
#include <GdiPlus.h>
extern Gdiplus::GdiplusStartupInput gGdiInput;
2、添加消息映射
MESSAGE_HANDLER(WM_PAINT, OnPaint)
LRESULT OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
3、对话框源文件(MainDlg.cpp)添加:
#pragma comment(lib, "GdiPlus.lib")
Gdiplus::GdiplusStartupInput gGdiInput;
ULONG token = 0;
OnInitDialog函数内进行Gdiplus初始化
GdiplusStartup(&token, &gGdiInput, NULL);
重载OnPaint消息响应函数:
LRESULT CMainDlg::OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
CPaintDC dc(m_hWnd);
RECT rect;
GetClientRect(&rect);
HDC hDC = dc.m_hDC;
Gdiplus::Graphics g(hDC);
Gdiplus::Image im(_T("res/green.jpg"));
g.DrawImage(&im, 0, 0, rect.right - rect.left, rect.bottom - rect.top);
return TRUE;
}关闭:
Gdiplus::GdiplusShutdown(token);
// MainDlg.cpp : implementation of the CMainDlg class
//
/////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "resource.h"
#include "MainDlg.h"
#include "table.h"
#pragma comment(lib, "GdiPlus.lib")
Gdiplus::GdiplusStartupInput gGdiInput;
ULONG token = 0;
LRESULT CMainDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
// center the dialog on the screen
CenterWindow();
// set icons
HICON hIcon = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON));
SetIcon(hIcon, TRUE);
HICON hIconSmall = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON));
SetIcon(hIconSmall, FALSE);
GdiplusStartup(&token, &gGdiInput, NULL);
//CTable table;
return TRUE;
}
LRESULT CMainDlg::OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
CPaintDC dc(m_hWnd);
RECT rect;
GetClientRect(&rect);
HDC hDC = dc.m_hDC;
Gdiplus::Graphics g(hDC);
Gdiplus::Image im(_T("res/green.jpg"));
g.DrawImage(&im, 0, 0, rect.right - rect.left, rect.bottom - rect.top);
return TRUE;
}
LRESULT CMainDlg::OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
bg.Destroy();
Gdiplus::GdiplusShutdown(token);
EndDialog(wID);
return 0;
}
参考于:
http://blog.csdn.net/faithzzf/article/details/51897140
// MainDlg.h : interface of the CMainDlg class
//
/////////////////////////////////////////////////////////////////////////////
#pragma once
#include <GdiPlus.h>
#include <atlimage.h>
extern Gdiplus::GdiplusStartupInput gGdiInput;
class CMainDlg : public CDialogImpl<CMainDlg>
{
public:
enum { IDD = IDD_MAINDLG };
BEGIN_MSG_MAP(CMainDlg)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
MESSAGE_HANDLER(WM_PAINT, OnPaint)
COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
END_MSG_MAP()
// Handler prototypes (uncomment arguments if needed):
// LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
// LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
// LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/)
LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
private:
CImage bg;
};
1、对话框头文件(MainDlg.h)添加:
#include <GdiPlus.h>
extern Gdiplus::GdiplusStartupInput gGdiInput;
2、添加消息映射
MESSAGE_HANDLER(WM_PAINT, OnPaint)
LRESULT OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
3、对话框源文件(MainDlg.cpp)添加:
#pragma comment(lib, "GdiPlus.lib")
Gdiplus::GdiplusStartupInput gGdiInput;
ULONG token = 0;
OnInitDialog函数内进行Gdiplus初始化
GdiplusStartup(&token, &gGdiInput, NULL);
重载OnPaint消息响应函数:
LRESULT CMainDlg::OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
CPaintDC dc(m_hWnd);
RECT rect;
GetClientRect(&rect);
HDC hDC = dc.m_hDC;
Gdiplus::Graphics g(hDC);
Gdiplus::Image im(_T("res/green.jpg"));
g.DrawImage(&im, 0, 0, rect.right - rect.left, rect.bottom - rect.top);
return TRUE;
}关闭:
Gdiplus::GdiplusShutdown(token);
// MainDlg.cpp : implementation of the CMainDlg class
//
/////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "resource.h"
#include "MainDlg.h"
#include "table.h"
#pragma comment(lib, "GdiPlus.lib")
Gdiplus::GdiplusStartupInput gGdiInput;
ULONG token = 0;
LRESULT CMainDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
// center the dialog on the screen
CenterWindow();
// set icons
HICON hIcon = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON));
SetIcon(hIcon, TRUE);
HICON hIconSmall = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON));
SetIcon(hIconSmall, FALSE);
GdiplusStartup(&token, &gGdiInput, NULL);
//CTable table;
return TRUE;
}
LRESULT CMainDlg::OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
CPaintDC dc(m_hWnd);
RECT rect;
GetClientRect(&rect);
HDC hDC = dc.m_hDC;
Gdiplus::Graphics g(hDC);
Gdiplus::Image im(_T("res/green.jpg"));
g.DrawImage(&im, 0, 0, rect.right - rect.left, rect.bottom - rect.top);
return TRUE;
}
LRESULT CMainDlg::OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
bg.Destroy();
Gdiplus::GdiplusShutdown(token);
EndDialog(wID);
return 0;
}
参考于:
http://blog.csdn.net/faithzzf/article/details/51897140
相关文章推荐
- WTL对话框添加背景图片
- WTL对话框添加背景图片的方法(C++)
- WTL对话框添加背景图片
- 给对话框添加背景图片
- 用VC给对话框添加背景图片
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- MFC 对话框添加背景图片
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法
- 如何在MFC对话框中添加背景图片
- vc对话框添加图片背景及改变背景颜色
- 如何给对话框添加背景图片
- VC++学习笔记2--------------如何给MFC对话框添加背景图片
- QT 对话框添加背景图片的方法
- VC++2005mfc对话框添加背景图片
- MFC对话框添加背景图片
- vc对话框添加图片背景
- 为对话框添加背景图片
- [转]MFC 对话框添加背景图片
- 有其它方法在对话框背景图片 指定区域添加鼠标单击响应事件
- MFC中设置对话框颜色、添加背景图片、添加音乐的方法