- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MFC小技巧(更换皮肤,背景,标题栏,透明)
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中鸡肋的灰色框框 。
文档评论(0)