资源描述
1.背景透明
在MainFrame.Cpp 中找到int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数
添加代码
SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE, GetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE)^0x80000);
// 添加库
HINSTANCE hInst = LoadLibrary("User32.DLL");
if(hInst)
{
typedef BOOL (WINAPI *ShowLayer)(HWND,COLORREF,BYTE,DWORD);
ShowLayer fun = NULL;
// 读取函数指针
fun = (ShowLayer)GetProcAddress(hInst, "SetLayeredWindowAttributes");
if (fun)
fun(this->GetSafeHwnd(), 0, 230, 2);
FreeLibrary(hInst);
}
HBITMAP startpic;
CStatic startPics;
startpic=(HBITMAP) ::LoadImage(NULL,"snakeNet.bmp",IMAGE_BITMAP,110,50,LR_LOADFROMFILE|LR_DEFAULTSIZE);
startPics.Create(NULL,WS_CHILD|WS_VISIBLE|SS_BITMAP|SS_CENTERIMAGE,CRect(200,457,200+110,457+50),this,NULL);
startPics.SetBitmap(startpic);
GetSafeHwnd(), 0, 230, 2);里面的参数230是改变透明度
对话框的函数好像不一样
2.更换背景图片
首先先找一张图片 将其格式转换成 .Bmp 格式
然后在VC中 ctrl +R 新建一个bitmap 资源
然后在资源栏中右击 选择引入
然后选择你的那张BMP格式图片
出现这个不用理
然后在View类中添加 CBrush 类型的 m_brushBackground变量
然后在View的构造函数中添加代码
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP2); ///加载位图
m_brushBackground.CreatePatternBrush(&bmp); ///创建位图画刷
其中IDB_BITMAP2是你图片的ID号
然后在OnDraw(CDC* pDC)函数中添加代码
CRect rect;
GetClientRect(rect);///取得客户区域
pDC->FillRect(rect,&m_brushBackground); ///用背景画刷填充区域
然后调试就发现背景好看多了
3.标题栏
标题栏图标
找一个IOC格式的图片 直接把名字改成工程文件夹中rs文件夹中的ico格式图片的名字
直接替换就行了
标题栏名字
在App。CPP中找到初始化函数InitInstance()
添加代码
m_pMainWnd->SetWindowText("你的标题");
4.更换皮肤
MFC中有很多的破解版不收费的界面库自带了很多免费皮肤,也可以自己手绘皮肤 每个界面库的使用不一样 具体操作见各个库的使用手册。
界面库可以帮助开发者摆脱MFC中鸡肋的灰色框框 。
展开阅读全文