MFC界面开发中的一些问题

来源:互联网 发布:网络大电影投资 编辑:程序博客网 时间:2024/05/22 17:04

1.如何更改MFC界面背景颜色?

    在界面对话框的C***Dlg::OnPaint()函数里的else之后的括号中插入以下代码:

          CRect rect; 
        CPaintDC dc(this); 
        GetClientRect(rect); 
        dc.FillSolidRect(rect,RGB(189,250,200));  颜色可以自己随便设置

2、如何更改MFC控件背景颜色?

(1)在头文件类中定义CBush类的变量brush,如:CBrush brush;
(2)在源文件的构造函数中初始化:brush.CreateSolidBrush(RGB(255,0,0));
(3)通过类向导添加WM_OnCtlColor消息的响应函数OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
(4)在消息响应函数中添加以下代码:

         HBRUSH C***Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
          {
                 HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
                 // TODO:  在此更改 DC 的任何属性
                // TODO:  如果默认的不是所需画笔,则返回另一个画笔
                if(pWnd->GetDlgCtrlID() == IDC_FILE_PLAY)
                {
                      pDC->SetBkColor(RGB(0,0,0));
                      HBRUSH brush = CreateSolidBrush(RGB(0,0,0));
                      return brush;
                }
         return hbr;
        }

3、release版本下显示窗口名称乱码,而debug版本正常?

    原因是可能配置的时候,release版本的opencv库是从debug版本复制过来的,所有的库末尾还是d字样,因此重新配置一下release版本的opencv库即可。

0 0