我建立一个类CProcesswnd类,是机遇cwnd的.
然后定义一个对象 CProcesswnd* wndtest=new CProcesswnd;
可是 wndtest->hwnd为0X000000呢?
然后定义一个对象 CProcesswnd* wndtest=new CProcesswnd;
可是 wndtest->hwnd为0X000000呢?
解决方案 »
- 请教高手,开发用于IE的activex控件,能否加入已有的对话框资源
- USB / RS232 这2种通信方式有何区别?使用RS232通信的程序改成usb的大概都需要做些什么事。哪儿有相关的资料。本人没接触过这些。越详细越好。
- 我想去掉状态栏右边的把手。怎么作。
- 关于窗口隐藏
- 求救不是用vc的现在要用mfc做屏保!!!!
- 菜鸟问题
- 这个汇编用什么编译器?VC下自带的有不?3ks
- 添加到“开始”》“程序”中的菜单,如何让所有的用户都能访问?
- 能不能对JPEG图片直接作各种效果处理而不解压成位图?
- 已有CEdit文档编辑器文档类指针,想向里面输入数据,该如何实现,求大牛!
- VC中怎么注册控件.为什么我的Gallery文件夹中是空的?
- 关于IMAGE_IMPORT_DESCRIPTOR结构
wndtest->Create(............);
2. MFC的 DDX_Control
3. Attach
2. MFC的 DDX_Control
3. Attach
Constructs a CWnd object.The Windows window is not created and attached until the CreateEx or Create member function is called.
也就是说,调用CWnd()并不能真正的创建对话框。Returns m_hWnd, or NULL if the this pointer is NULL.
HWND GetSafeHwnd( ) const;
Return Value
Returns the window handle for a window. Returns NULL if the CWnd is not attached to a window or if it is used with a NULL CWnd pointer.
这个是对m_hWnd的解释。
也就是说如果没有调用CreateEx,那么m_hWnd始终是NULL,所以没有办法使用。LZ所使用的方法,有没有用到m_hWnd,与界面的联系大吗?如果不大,则可以考虑把这些方法给提取出来,也就是
所谓的把业务逻辑和用户界面给分开,这样就可以不创建这个窗口,而后使用。如果LZ非要那样,那就没有其他的办法,就创建,然后把它给隐藏起来,不让界面显示出来,然后使用了。