MFC使用小结(一)标题、大小、背景

来源:互联网 发布:linux目录扫描函数 编辑:程序博客网 时间:2024/05/17 09:02

用MFC时间不长,有些小功能东找西找的费了很长时间,所以,趁有时间,还是快总结一下吧,以后自己找也省事儿了,顺便,也让和我一样初学MFC的童鞋少走点弯路。

 

1.SDI文档中,改变标题

非常简单的一个事儿,也得上网搜……唉

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){if( !CFrameWnd::PreCreateWindow(cs) )return FALSE;// TODO: Modify the Window class or styles here by modifying//  the CREATESTRUCT csm_strTitle = L"自定义的标题";cs.style &= ~FWS_ADDTOTITLE; return TRUE;}


2.限制缩放大小

用OnSize是不行了,后来,还是得上网找答案。

void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI){// TODO: 在此添加消息处理程序代码和/或调用默认值lpMMI->ptMinTrackSize.x = 800;lpMMI->ptMinTrackSize.y = 480;CFrameWnd::OnGetMinMaxInfo(lpMMI);}


3.修改背景颜色,使用BMP图片作为背景

简单的功能,有时候DC老是用不好,mark一下,以后需要的时候过来copy

BOOL CMyView::OnEraseBkgnd(CDC* pDC){// TODO: 在此添加消息处理程序代码和/或调用默认值CRect rect;GetClientRect(&rect);CDC memDC;CBitmap bitmap;memDC.CreateCompatibleDC(pDC);bitmap.CreateCompatibleBitmap(pDC, rect.Width(), rect.Height());CBitmap* OldBitmap = memDC.SelectObject(&bitmap);memDC.FillSolidRect(&rect, RGB(220, 220, 200));pDC->BitBlt(0, 0, rect.Width(), rect.Height(), &memDC, 0, 0, SRCCOPY);memDC.SelectObject(OldBitmap);}


 

BOOL CMyView::OnEraseBkgnd(CDC* pDC){// TODO: 在此添加消息处理程序代码和/或调用默认值CRect rect;GetClientRect(&rect);CDC memDC;CBitmap bitmap;bitmap.LoadBitmap(IDB_BKGROUND);memDC.CreateCompatibleDC(pDC);CBitmap* OldBitmap = memDC.SelectObject(&bitmap);pDC->StretchBlt(0, 0, rect.Width(), rect.Height(), &memDC, 0, 0, 1280, 848, SRCCOPY);memDC.SelectObject(OldBitmap);}

 

原创粉丝点击