解决方案 »

  1.   

    MFC中的铵钮函数中有。不过具体的我忘了
      

  2.   

    参考Codejock.Xtreme.Suite.Pro.ActiveX源代码?
      

  3.   

    theWnd.EnableWindow(0);
    或者:
    EnableWindow(hWnd,0)
      

  4.   

    “函数要写到按钮类中,所以加地址ID判断按钮是否可用就不行了”问题的 本质是 在 “类中区分实例”GetDlgCtrlID();
      

  5.   

    这我知道,我问的是怎么在按钮类中设置,判断?API不就可以嘛?窗口类都有个m_hWnd,有了它啥就好办了呀
    设置:
    ::EnableWindow(HWND hWnd,BOOL bEnable);
    判断:
    BOOL IsWindowEnabled(HWND hWnd)
      

  6.   

    EnableWindow()自己判断是否需要disable
      

  7.   

    我找到方法了,惭愧惭愧
    DrawItem(DRAWITEMSTRUCT  lpdrawitemstruct)函数中
    lpdrawitemstruct->itemState(); 百度百科讲解:
    itemState:
    指定了当前绘制操作完成后,所绘项的可见状态。例如,如果菜单项应该被灰色显示,则可以指定ODS_GRAYED状态标志。其取值可以为下表中所示值的一个或者多个的联合。
    ODS_DISABLED=H4:如果控件将被禁止,则设置该值。所以只要通过判断lpdrawitemstruct->itemState();是否等于ODS_DISABLED=H4:
    就可以了