Detach

Detach

detach是防火牆內的zone配置命令。

介紹


MFC類里CMENU類的成員函數。功能是切斷一個CWnd對象和一個有效窗口的聯繫。
由於WNDCLASS其實和CWnd根本沒有什麼關係,它們之間只是通過CWnd的成員HWND聯繫起來的。Detach的作用是切斷一個CWnd對象和一個有效窗口的聯繫。因為CWnd是C++的對象,C++的對象有一個生存期的概念,脫離了該對象的作用域,這個對象就要被銷毀,但是Windows對象沒有這個特點,當銷毀CWnd對象的時候,我們不一定希望WNDCLASS一起被銷毀,那麼在此之前,我們就先要把這個聯繫切斷。
當我們建立了一個局部的菜單對象后,比如 在一個窗口類的函數里建立了一個局部菜單對象,當這個窗口函數的生命周期結束時,如果不希望菜單對象也被銷毀,就要用detach()函數把菜單句柄和這個菜單對象分離。這樣,當局部的菜單對象被銷毀時,它不會銷毀一個它不具備擁有權的菜單。

函數原型


CWnd : : HWND Detach();
該函數返回一個窗口句柄。
頭文件:afxwin.h

備註


該函數在CWnd類的多個子類中都有重載函數。