从CButton派生了一个子类CMyButton,希望在 CMyButton 类内部控制其不可用。在外部 有很多 办法控制其不可用,只要调用EnableWindow就可以了。但是在派生类内部如何来控制 ?

解决方案 »

  1.   

    不一样吗?
    EnableWindow(m_hWnd, FALSE);
      

  2.   

    谢谢楼上的,用EnableWindow(m_hWnd, FALSE)可以,其实用GetDlgItem的EnableWindow(FALSE)也可以,但我现在把这个命令放在OnClicked()中执行,也就是 点击了才能不可用。怎么才能在初始化的时候不可用,没用看见有初始化函数
      

  3.   

    上面的问题解决了,把命令放在PreSubclassWindow()函数里面就可以了。 但现在打算在派生类构造的时候传一个值进去,重载了一个带参数的构造函数,但在外面调用的时候用不了。CMy2Button m_testButton;
    如果改成
    CMy2Button m_testButton(temp); 就会报错
    怎么才能把参数在 派生类构造的时候传进去 ?
      

  4.   

    CMy2Button m_testButton; 是由classward中创建的CButton m_testButton;改的,编译错误,错误代码:
    Compiling...
    testCButton.cpp
    e:\project\test\testcbutton\testcbuttondlg.h(20) : error C2059: syntax error : 'string'
    testCButtonDlg.cpp
    e:\project\test\testcbutton\testcbuttondlg.h(20) : error C2059: syntax error : 'string'
    E:\PROJECT\TEST\testCButton\testCButtonDlg.cpp(76) : error C2660: 'm_testButton' : function does not take 1 parameters
    Generating Code...
    Error executing cl.exe.testCButton.exe - 3 error(s), 0 warning(s)