我的程序有很多个功能界面
每个界面上都有很多个TextBox
现在的要求是,当每一个TextBox在得到焦点的时候,它的背景色要变蓝
失去焦点的时候,背景色又恢复为白色
能不能用钩子来解决?

解决方案 »

  1.   

    用不着hook吧,太浪费了。
    将你的textbox子类化试试。
      

  2.   

    你可以在修改控件背景色的时候用
    if(GetFocus()==GetDlgItem(IDC_EDIT2))//判断焦点在不在IDC_EDIT2内
    根据这个条件来返回不同颜色的背景色==============仅参考
      

  3.   

    CEdit不好设置背景哦  你不如用CRichEdit,有专门的函数
    处理WM_SETFOCUS和WM_KILLFOCUS
      

  4.   

    写一个CEdit的子类,然后从重写OnPaint函数,在这个函数中,可以用GetWindowText函数来取得Edit中写的文字,然后使用CDC设定背景,和文字颜色,然后描画出来:)