vc開發程式單調的介面相信大家都是深有感觸,提到介面美化程式設計,人們都會說做介面不要用vc寫,太難了。
一句俗語:難者不會,會者不難。vc的美化介面程式設計並沒有人們想像的那麼難。這篇文章是我寫的乙個使用者登入介面,但介面被我美化了,我將一步一步的來講解它的美化介面的實現步驟。相信有了這篇文章,你的vc介面從此也能絢麗多彩。
實現步驟:
第一步:美化介面的非客戶區(重繪標題欄和介面邊框)。
關鍵**如下:
還有在非客戶區 繪製滑鼠的訊息。分別為:
void ctitlebarcolordlg::onnclbuttondown(uint nhittest, cpoint point)大部分實現如上**所示具體實現請參照程式附帶的源**。else
}elseif (!iszoomed())
default();
}void ctitlebarcolordlg::onncmousemove(uint nhittest, cpoint point)
else
rtbutton = m_rtbuttmax;
rtbutton.offsetrect(-rtwnd.left, -rtwnd.top);
poldbitmap=(cbitmap*)pdisplaymemdc->selectobject(pbitmap);
pdc->bitblt(rtbutton.left, rtbutton.top, rtbutton.width(), rtbutton.height(), pdisplaymemdc, 0, 0,
srccopy);
pdisplaymemdc->selectobject(poldbitmap);
pbitmap->deleteobject();
//最小化button
if (m_rtbuttmin.ptinrect(point))
pbitmap->loadbitmap(idb_min_focus);
else
pbitmap->loadbitmap(idb_min_normal);
rtbutton = m_rtbuttmin;
rtbutton.offsetrect(-rtwnd.left, -rtwnd.top);
poldbitmap=(cbitmap*)pdisplaymemdc->selectobject(pbitmap);
pdc->bitblt(rtbutton.left, rtbutton.top, rtbutton.width(), rtbutton.height(), pdisplaymemdc, 0, 0,
srccopy);
pdisplaymemdc->selectobject(poldbitmap);
pbitmap->deleteobject();
}pdisplaymemdc->deletedc();
delete pdisplaymemdc;
delete pbitmap;
cdialog::onncmousemove(nhittest, point);
}
第二步:改變視窗邊框為圓角。
關鍵**如下:
int ctitlebarcolordlg::oncreate(lpcreatestruct lpcreatestruct)第三步:填充背景。
關鍵**如下:
bool ctitlebarcolordlg::onerasebkgnd(cdc* pdc)第六步:繪製靜態字型和顏色。
這一步本來也寫了乙個類的,但想想用onctlcolor()還是能很好的實現的,就沒寫。具體實現請看onctlcolor()中的實現。
- joinclear
美化VC介面 使用者登入介面
vc開發程式單調的介面相信大家都是深有感觸,提到介面美化程式設計,人們都會說做介面不要用vc寫,太難了。一句俗語 難者不會,會者不難。vc的美化介面程式設計並沒有人們想像的那麼難。這篇文章是我寫的乙個使用者登入介面,但介面被我美化了,我將一步一步的來講解它的美化介面的實現步驟。相信有了這篇文章,你的...
美化VC介面 使用者登入介面
vc開發程式單調的介面相信大家都是深有感觸,提到介面美化程式設計,人們都會說做介面不要用vc寫,太難了。一句俗語 難者不會,會者不難。vc的美化介面程式設計並沒有人們想像的那麼難。這篇文章是我寫的乙個使用者登入介面,但介面被我美化了,我將一步一步的來講解它的美化介面的實現步驟。相信有了這篇文章,你的...
VC介面美化之按鈕
第一種 button屬性頁裡style的bitmap點上 cbitmap bitmap bitmap.loadbitmap idb bitmap1 hbitmap hbitmap hbitmap bitmap.detach cbutton pbutton cbutton getdlgitem idc...