m_StaticTop.ModifyStyle(0,SS_BITMAP|SS_REALSIZEIMAGE);
m_StaticTop.SetBitmap(hBitmap);
m_StaticTop.MoveWindow(0,0,dlgWidth,structBm1.bmHeight);
3.点击dialog任意位置,都可移动dialog
重载OnLButtonDown函数:
[cpp]
void CInterfaceDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x, point.y));
//向系统发送HTCAPTION消息,让系统以为鼠标点在标题栏上
CDialog::OnLButtonDown(nFlags, point);
}
4.为dialog添加背景图片
重载OnPaint函数:
[cpp]
{
//CDialog::OnPaint();
CPaintDC dc(this);
CBitmap m_bmpBackground;
m_bmpBackground.LoadBitmap(IDB_BACKGROUND);
CRect rect;
GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
BITMAP bitMap;
m_bmpBackground.GetBitmap(&bitMap);
CBitmap *pbmpOld=dcMem.SelectObject(&m_bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitMap.bmWidth,bitMap.bmHeight,SRCCOPY);
//dc.BitBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,SRCCOPY);
}
5.设置控件的背景颜色和字体颜色
重载OnCtlColor函数:
[cpp]
HBRUSH CRecNineDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
if (pWnd->GetDlgCtrlID()==IDC_BACKTOP)
{
HBRUSH brush = CreateSolidBrush(RGB(200,200,200));
pDC->SetTextColor(RGB(60,60,60));
pDC->SetBkMode(TRANSPARENT);
//pDC->SetBkColor(RGB(255,0,0));
return brush;
}
return CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
}