16,467
社区成员
发帖
与我相关
我的任务
分享
关键代码如下:
// skinTest.h : main header file for the SKINTEST application
#include "skin/SkinPlusPlus.h" //皮肤库头文件
// skinTest.cpp : Defines the class behaviors for the application.
BOOL CSkinTestApp::InitInstance()
{
#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
//初始化换皮肤的相关控件
//InitializeSkin(_T("skin/XPCorona.ssk"));
InitializeSkin(_T("skin/Minimized.ssk")); //皮肤库文件
}
BOOL CSkinTestApp::ExitInstance()
{
ExitSkin(); //释放换皮肤控件占用的资源
return CWinApp::ExitInstance();
}
// skinTestDlg.cpp : implementation file
void CSkinTestDlg::OnPaint()
{
if (IsIconic())
{。。。。。 }
else
{
CDialog::OnPaint();
}
loadBmpFile(); //加载BMP文件,加载背景图片
}
//加载背景图片
void CSkinTestDlg::loadBmpFile()
{
//加载背景图片 Begin
CDC *pDC = GetDC();
CBitmap Bitmap;
Bitmap.LoadBitmap(IDB_BITMAP1);//将位图装入内存
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);//创建内存设备环境
CBitmap *OldBitmap=MemDC.SelectObject(&Bitmap);
BITMAP bm; //创建BITMAP 结构变量
Bitmap.GetBitmap(&bm); //获取位图信息
//pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&MemDC,0,0,SRCCOPY); //显示位图
pDC->StretchBlt(0,0,bm.bmWidth-5,bm.bmHeight+2,&MemDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
//OldBitmap->DeleteObject(); //恢复设备环境
MemDC.SelectObject(OldBitmap); //恢复mem
Bitmap.DeleteObject();
ReleaseDC(pDC);
//加载背景图片 END
}
// skinTest.h
#include "skin/SkinPlusPlus.h" //皮肤库头文件
class CSkinTestApp : public CWinApp
{
public:
virtual BOOL InitInstance();
virtual int ExitInstance(); //退出应用程序
};
// skinTest.cpp
BOOL CSkinTestApp::InitInstance()
{
//初始化换皮肤的相关控件
InitializeSkin(_T("skin/Minimized.ssk"));
return FALSE;
}
BOOL CSkinTestApp::ExitInstance()
{
ExitSkin(); //释放换皮肤控件占用的资源
return CWinApp::ExitInstance();
}
// skinTestDlg.h
class CSkinTestDlg : public CDialog
{
public:
//加载背景图片
void loadBmpFile(CDC *pDC);
};
// skinTestDlg.cpp
void CSkinTestDlg::OnPaint()
{
if (IsIconic())
{
...
}
else
{
CPaintDC dc(this);
loadBmpFile(&dc); //加载背景图片
CDialog::OnPaint();
}
}
//加载背景图片
void CSkinTestDlg::loadBmpFile(CDC *pDC)
{
//加载背景图片 Begin
//CDC *pDC = GetDC();
CBitmap Bitmap;
Bitmap.LoadBitmap(IDB_BITMAP1);//将位图装入内存
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);//创建内存设备环境
CBitmap *OldBitmap=MemDC.SelectObject(&Bitmap);
BITMAP bm; //创建BITMAP 结构变量
Bitmap.GetBitmap(&bm); //获取位图信息
//pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&MemDC,0,0,SRCCOPY); //显示位图
pDC->StretchBlt(0,0,bm.bmWidth-5,bm.bmHeight+2,&MemDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
//OldBitmap->DeleteObject(); //恢复设备环境
MemDC.SelectObject(OldBitmap); //恢复mem
Bitmap.DeleteObject();
ReleaseDC(pDC);
//加载背景图片 END
}