点击更换背景按钮,弹出一个对话框,想点击“土耳其蓝”改变背景,怎么处理,初学者不会做,求大佬指导.

解决方案 »

  1.   

    把 FRAM_BK_COLOR 宏定义修改为 COLORREF 变量,  在点击土耳其蓝按钮时,修改这个全局变量 并RedrawWindow(注意窗口指针/句柄),  更简单些, 对话框添加一个COLORREF变量, 在点击更改背景时弹出 CColorDialog 对话框,可以自己选择颜色, OK后刷新一下就好了
      

  2.   

    SetDialogBkColor(RGB(255,255,255),RGB(0,0,0));
      

  3.   

    你那个有背景按钮的对话框是主窗口吗?你弹出的子窗口点击土耳其蓝按钮以后发个自定义消息给主窗口即可。AfxGetMainWnd()->PostMessage/SendMessage();
      

  4.   

    为什么不用系统做好的颜色对话框呢~
    CColorDialog
      

  5.   

    白色的文本框记得在OnCtlColor 中做一下背景透明,看起来好丑
    HBRUSH CFinishWellToFind::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
         if( pWnd->GetDlgCtrlID()==控件ID)
          {
                  pDC->SetBkMode(TRANSPARENT);//设置背景模式为透明
          }
          return (HBRUSH)GetStockObject(NULL_BRUSH);//返回一个空画刷
    }能说都被你们说了
      

  6.   

    通过按钮消息改变颜色值,然后对主窗口invalidate一下即可