目前我通过CDC的DrawText可以把标题的字体颜色进行修改,但是在程序运行或进行操作时,当有另外的一个界面弹出时,这时标题就会消失了。麻烦各位大虾帮忙!!1

解决方案 »

  1.   

    一楼说的对你再OnPaint中添加一下处理的代码就行了.
      

  2.   

    上面说得应该有问题,对标题的处理应该是写在WM_NCPAINT消息的处理函数中。
      

  3.   

    写到 OnNcPain() 中
    或者在LRESULT CMainFrame::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
    {
    LRESULT lrst = CFrameWnd::WindowProc(message, wParam, lParam);
    if (message == WM_MOVE || message == WM_NCPAINT || message == WM_NCACTIVATE || message == WM_NOTIFY)//
    {
    CDC* pWinDC = GetWindowDC();
    if (pWinDC)
    DrawTitleBar(pWinDC); // 注:DrawTitleBar 是我自己写的,这里就是在非客户区绘画你试试这样行不行
    ReleaseDC(pWinDC);
    }
    return lrst;
    }
      

  4.   

       楼上说的是可以改变标题的字体颜色,但是当鼠标拖动对话框移动时,标题就乱了,当放到OnPaint中,我点击关闭按钮,弹出一个提示框时,标题这时就消失了,