我用CreateRoundRectRgn涵数改变了窗口的形状,我怎样才能改变窗口的背景颜色还有在窗口上画线。

解决方案 »

  1.   

    改变窗口的背景颜色:
    先定义CBrush m_brush;
    然后在初始发m_brush.CreateSolidBrush( RGB( 255, 255, 255 ) );
    从载OnCtlColor
    HBRUSH CAboutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    pDC->SetBkMode( TRANSPARENT );
    pDC->SetTextColor( RGB( 0, 128, 128) ); // TODO: Return a different brush if the default is not desired
    if( nCtlColor == CTLCOLOR_DLG )
    return (HBRUSH) m_brush.GetSafeHandle( );
    if( nCtlColor == CTLCOLOR_STATIC )
    return (HBRUSH) m_brush.GetSafeHandle( ); return hbr;
    }
      

  2.   

    CDC *pDC = GetDC()
    pDC->MoveTo();
    pDC->LineTo();
      

  3.   

    SetBkColor涵数的第一个参数怎么取?