我在对话框类中得到对话框句柄hWnd,能否在另外的类中直接用对话框的对象调用hWnd,比如a.hWnd?

解决方案 »

  1.   

    可以但 a.hWnd 还存在。
    即 IsWindow(a.hWnd)==TRUE
      

  2.   

    HWND hd = mbw.hWnd;我是这么调用的但是报错了
    error C2228: left of '.hWnd' must have class/struct/union type
    这个怎么处理,我想也应该可以啊,可是。
      

  3.   

    FromHandle转换成CWnd然后强转你要的窗体类型即可
      

  4.   

    如果mbw是个窗口对象,HWND hd = mbw.m_hWnd或者mbw.GetSafeHwnd()
      

  5.   

    error C2228: left of '.m_hWnd' must have class/struct/union type
    还是不行这个类是我自己创建的普通类,不能用CWnd的函数吧?
      

  6.   

    如果mbw是指针的话,你应该这么调
    HWND hd = mbw->hWnd
      

  7.   

    FromHandle转换成CWnd然后强转你要的窗体类型即可这个怎么用,能详细点吗?我没用过,谢谢
      

  8.   

    FromHandle转换成CWnd然后强转你要的窗体类型即可这个怎么用,能详细点吗?我没用过,谢谢
      

  9.   

    FromHandle转换成CWnd然后强转你要的窗体类型即可这个怎么用,能详细点吗?我没用过,谢谢
      

  10.   

     mbw不是与对话框相关的类? mbw的父类是什么?
      

  11.   

    "这个类是我自己创建的普通类,不能用CWnd的函数吧"
    1. 定义 HWND m_hWnd; //把 对话框的 hwnd 存入 其中。
    2. 普通类 是没继承的,就不能 用CWnd的函数
      

  12.   

    mbw是对话框的对象,我想通过它来调用对话框的句柄,因为我那个函数是静态的而对象不是静态所以出现了那个问题,我把把对象也定义为静态并且给它初始化为NULL,结果现在调不到对话框的句柄。有没有办法解决啊?
    我之前在对话框已经得到它的句柄并且放到m_hWnd里面了,现在就是想在自定义的普通类的静态函数中通过对象调用它!这就是我的目的
      

  13.   

    自己定义的类,如果是Dialog的话,还是选择从Cwnd派生出