【Gdi++】将一个界面背景画成渐变色彩的,求大神帮忙

【Gdi++】将一个界面背景画成渐变颜色的,求大神帮忙啊
我的界面背景色是单一的,现在要求画成渐变的,说要用到GDI++,这个东西没用过,希望大神能帮我说一下具体使用方法,有个小例子或者给个链接都行,先谢谢了

------解决方案--------------------
百度  渐变画刷
------解决方案--------------------
LZ,首先你要懂得GDI+的开始工作.

现给你一个简单MFC对话框例子,工程名为TEXT:

(1)Text.h:

class CTextApp : public CWinApp
{
public:
CTextApp();
~CTextApp();

// 重写
public:
virtual BOOL InitInstance();


ULONG_PTR gdiplusToken;

// 实现

DECLARE_MESSAGE_MAP()
};

extern CTextApp theApp;


注:ULONG_PTR gdiplusToken; ~CTextApp(); 为新添加的东西

(2)Text.cpp里

CTextApp::~CTextApp()
{
//GDI+释放
GdiplusShutdown(gdiplusToken);
}

BOOL CTextApp::InitInstance()
{
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControlsEx()。否则,将无法创建窗口。
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// 将它设置为包括所有要在应用程序中使用的
// 公共控件类。
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);

CWinApp::InitInstance();

//GDI+初始化
GdiplusStartupInput StartupInput;
GdiplusStartup(&gdiplusToken, &StartupInput, NULL);

AfxEnableControlContainer();

// 创建 shell 管理器,以防对话框包含
// 任何 shell 树视图控件或 shell 列表视图控件。
CShellManager *pShellManager = new CShellManager;

// 标准初始化
// 如果未使用这些功能并希望减小
// 最终可执行文件的大小,则应移除下列
// 不需要的特定初始化例程
// 更改用于存储设置的注册表项
// TODO: 应适当修改该字符串,
// 例如修改为公司或组织名
SetRegistryKey(_T("应用程序向导生成的本地应用程序"));

CTextDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: 在此放置处理何时用
//  “确定”来关闭对话框的代码
}
else if (nResponse == IDCANCEL)
{
// TODO: 在此放置处理何时用
//  “取消”来关闭对话框的代码
}

// 删除上面创建的 shell 管理器。
if (pShellManager != NULL)
{
delete pShellManager;
}

// 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
//  而不是启动应用程序的消息泵。
return FALSE;
}

注:GdiplusStartupInput StartupInput; GdiplusStartup(&gdiplusToken, &StartupInput, NULL);为新添加的东西

(3)stdafx.h

//GDI+
#include<gdiplus.h>
using namespace Gdiplus;
#pragma comment(lib, "gdiplus.lib")

注:以上为为新添加的东西,需要的头文件就是上而这些

(4)接着你就可以使用LinearGradientBrush, 在TextDlg.cpp

void CTextDlg::OnPaint()
{
Graphics graphics(this->m_hWnd);

LinearGradientBrush linGrBrush(
Point(0,0),
Point(200,0),
Color(255,255,0,0),
Color(255,0,0,255));

graphics.FillRectangle(&linGrBrush, 0, 0, 200, 200);
}

可以发DEMO给你。不过这还是很简单的,LZ你可以看精通GDI+编程.pdf,在这书的78页有详细参数介绍