不能直接截图!@!!!!气死了。,。改
1---先把按钮的图片载入资源里面,这样可以在后面直接获得它的ID号。
例如载入后:PNG图片ID号为 :IDB_PNG1
2---然后我们把一堆GDI的代码加入工程中,为了整洁新建立了文件夹,等会加载头文件的时候要考虑到下一层目录。
就是这一一堆代码:图片没显示。在一个文件夹理里。
不用看,添加进来待会在自己要添加的窗口DLG.CPP和DLG.H中定义几个变量即可。
3---然后来到目标窗口的.H文件PUBLIC中:
(1)--添加头文件 #include "pngbutton\GdipButton.h"
(2)---自定义一个对象,绿色部分,是一个按钮啊。CGdipButton
m_cClose;//----图片按钮
3---然后来到.CPP中,添加头文件(其实头应该添加在之前那个.H才对把,我乱来了):#include "pngbutton\MemDC.h"
4--在一个函数中添加:DDX_Control(pDX, IDC_BUTTON1, m_cClose);即如下;
IDC_BUTTON1为要关联的按钮,不然人家怎么知道画到什么按钮上去。
void Other_title_Dlg::DoDataExchange(CDataExchange* pDX)
{
DDX_Control(pDX, IDC_BUTTON1,m_cClose);
CDialogEx::DoDataExchange(pDX);
}
5--- 到 BOOL Other_title_Dlg::OnInitDialog() 初始化函数,加上加载图片的步骤,我把它放到最后面了:
//------------------------------------------------------------------------------
m_cClose.LoadStdImage(IDB_PNG14, _T("PNG"));//图片按钮
m_cClose.LoadAltImage(IDB_PNG15, _T("PNG"));//因为一个是按下的,所以添加了两个不知有没用
m_cClose.EnableToggle(TRUE);
//------------------------------------------------------------------------------
6---最后是在自己工程上的stdafx.h上添加了以下代码,关于添加GDI库文的,反正没了就不行。
#if defined(_MSC_VER) && _MSC_VER == 1200
#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#endif
#include <Specstrings.h>
#include <gdiplus.h>
#pragma comment(lib, "gdiplus.lib")
using namespace Gdiplus;
// VS2005
#else
#include <gdiplus.h>
#pragma comment(lib, "gdiplus.lib")
using namespace Gdiplus;
#endif //
#define WIN32_LEAN_AND_MEAN
7----然后运运行后就能够出现效果了:
原本是这样的:
贴图后使用是这个:
它有个问题贴图大小不能在窗口上自由更改,而是在美工作图的时候就已经要限制好大小。