我在对话框中重画按钮并设置按钮的owner draw属性后,用 EnableWindow禁用使其变灰,可是变不了?
然后想在点击了Button1后,在处理点击后的事件中想使Button1变灰,可是要等整个事件处理完了,才能够变灰,
在其中用Sleep函数也没有效果。
急啊 不好意思确实没有分。以后一定补上。

解决方案 »

  1.   

    owner draw之后不能显示灰色的,不过你既然是owner draw,那肯定有贴图吧,可以通过切换图片来达到预期的效果
      

  2.   

    要等到事件处理完了才能够重画。
    owner draw把按钮隐藏之后,然后调用 GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_SHOWNA)去显示,但是不能显示?
      

  3.   


    switch(nID){
    case 0x334:
    rButton.ModifyStyle(WS_DISABLED,0 ); 
    lButton.ModifyStyle(0,WS_DISABLED ); 
    lButton.EnableWindow(0);
    //rButton.EnableWindow(1);
    rButton.Invalidate();
    lButton.Invalidate();
    break;
    case 0x335:
    lButton.ModifyStyle(WS_DISABLED,0 ); 
    rButton.ModifyStyle(0,WS_DISABLED ); 
    //lButton.EnableWindow(1);
    rButton.EnableWindow(0);
    rButton.Invalidate();
    lButton.Invalidate();
    break;
    }
    看我的代码