我用的是从CSDN上下载的一个USBView的源代码,打算修改显示Device详细信息的编辑框中的字体颜色。
但是做过N多尝试终究还是没有成功改变显示字体的颜色。
使用OnCtlColor函数报错,好像不识别CDC *pDC什么的,只要是定义指针都不行;
使用SetTextColor不起作用,在网上找了Win32平台修改字体颜色的函数SetConsoleTextAttribute也不起作用。
请了解的前辈多多指教啊!

解决方案 »

  1.   

    SetConsoleTextAttribute这个肯定不行,是针对控制台输出的窗口句柄你总能拿到吧,然后GetWindowDC,然后SetTextColor~
      

  2.   

    if(pWnd->GetDlgCtrlID()==IDC_EDIT_RXD)
        pDC->SetTextColor(RGB(255,0,0));
    //你再试试吧
      

  3.   

    楼上说的不对吧。应该是控件,不是DC。CEdit *pEdit = GetDialogItem(IDC_EDIT_RXD)
    if(pEdit && pEdit->GetSafeWnd())
    {
        pEdit->SetTextColor(RGB(255,0,0)); 
    }
      

  4.   

    3楼方法正确!
    CEdit *pEdit = GetDialogItem(IDC_EDIT_RXD);
    pEdit->SetTextColor(RGB(255,0,0));  
      

  5.   

    3楼,4楼的前辈,CEdit *pEdit定义会报错。
      

  6.   

    CEdit *pEdit = GetDialogItem(IDC_EDIT_RXD);
    上面这句中错了,改为:
    CEdit *pEdit = GetDlgItem(IDC_EDIT_RXD);
      

  7.   

    处理WM_CTLCOLOR,用pDC-> SetTextColor来设置。4楼太恶心了,闭着眼就说这个对那个对的。写你也得这样写:CEdit *pEdit =(CEdit*)this->GetDlgItem(IDC_EDIT_RXD);
      

  8.   

    响应WM_CTLCOLOR消息,在消息函数数中,   用pDC-> SetTextColor(RGB(0,0,255))就可以了.   什么颜色自己定制就可以了.