www.gusucode.com > 一个VC++登录窗口,类似QQ登录界面源码程序 > 一个VC++登录窗口,类似QQ登录界面/仿QQ登陆界面源代码/仿QQ登陆界面源代码/NewButton.cpp
// NewButton.cpp : implementation file // Download by http://www.codesc.net #include "stdafx.h" #include "qq.h" #include "NewButton.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CNewButton CNewButton::CNewButton() { } CNewButton::~CNewButton() { } BEGIN_MESSAGE_MAP(CNewButton, CButton) //{{AFX_MSG_MAP(CNewButton) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CNewButton message handlers void CNewButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { // TODO: Add your code to draw the specified item CDC *dc=CDC::FromHandle(lpDrawItemStruct->hDC); CRect rect(lpDrawItemStruct->rcItem); CBrush brush, *pOldbrush; COLORREF clFrame(RGB(87, 128, 263)); /// 边框的颜色 COLORREF clBg(RGB(232, 225, 230)); COLORREF clRD(RGB(178, 225, 255)); /// 左是角的颜色 COLORREF clLT(RGB(240, 249, 255)); /// 右下角的颜色 CString strText; GetWindowText(strText); CPen pen; pen.CreatePen(PS_INSIDEFRAME | PS_SOLID, 1, clFrame); brush.CreateSolidBrush(clBg); dc->SelectObject(&brush); dc->FillRect(&rect, &brush); dc->SetBkMode(TRANSPARENT); CPoint pt(5,5); // dc->RoundRect(&rect, pt); dc->SelectObject(&pen); CFont* hFont = GetFont(); CFont* hOldFont = dc->SelectObject(hFont); rect.top+=2; rect.left+=2; dc->SetTextColor(RGB(235, 154, 254)); dc->DrawText(strText, rect, DT_CENTER|DT_SINGLELINE); DrawFocusRect(dc->m_hDC, &rect); dc->Draw3dRect(rect, clLT, clRD); // dc->SetTextColor(RGB(255, 0, 0)); // dc->DrawText(strText, &rect, DT_CENTER|DT_SINGLELINE|DT_VCENTER); } void CNewButton::PreSubclassWindow() { // TODO: Add your specialized code here and/or call the base class CButton::PreSubclassWindow(); ModifyStyle(0, BS_OWNERDRAW); }