代码改变世界

圆角对话框的实现方法

2012-07-16 11:47  九佛仔  阅读(432)  评论(0)    收藏  举报
在界面编程里,有时我们需要做一个圆角对话框,达到美化效果。
下面分享一下我用到的作圆角对话框的方法:

1.加入GDI库,使用GDI画PNG背景图


2.设置对话框属性

Border = None


3.编写代码
1)头文件
CGdiPlusBitmapResource* m_pStdImage;
2)OnInitDialog()加入

m_pStdImage = NULL;
        m_pStdImage = new CGdiPlusBitmapResource;
        BOOL b=m_pStdImage->Load(IDB_PNG_NUM_INPUT_BG,_T("PNG"));

3)重载OnEraseBkgnd

BOOL CDlgInput::OnEraseBkgnd(CDC* pDC)
{
        // TODO: 在此添加消息处理程序代码和/或调用默认值

        CRect rect;
        GetClientRect(rect);

        Gdiplus::Graphics graphics(pDC->m_hDC);
        graphics.DrawImage(*m_pStdImage,0,0,rect.Width(), rect.Height());


        return TRUE;
        //return CDialog::OnEraseBkgnd(pDC);
}
 
来自 [萝岗九龙社区] http://www.gzzsc.net