Library tutorials & articles
Attaching and Detaching Objects
By Joseph M. Newcomer, published on 13 Oct 2001
Introduction
MFC provides a set of "wrapper objects" that contain embedded Windows objects. For example, a CWnd wraps an HWND, a CFont wraps an HFONT, a CBrush wraps an HBRUSH, and so on. These are summarized in the table below. There are some significant interactions between the MFC and Windows objects, which you need to understand.
Failure to deal with these issues can lead to problems with spontaneous ASSERT statements, access errors, disappearing objects, and other, more subtle problems.
This essay attempts to elucidate the issues of dealing with the MFC/Windows interface.
| MFC Ojbect | Windows Object | (variant) |
| CWnd | HWND | any window |
| CEdit | HWND | EDIT |
| CListBox | HWND | LISTBOX |
| CStatic | HWND | STATIC |
| CComboBox | HWND | COMBOBOX |
| CGDIObject | (gdi object) | (any) |
| CBitmap | HBITMAP | |
| CBrush | HBRUSH | |
| CPen | HPEN | |
| CFont | HFONT | |
| CRegion | HRGN | |
| CPalette | HPALETTE |
Related articles
Related discussion
-
WinGDB - Linux debugging under Visual Studio
by WinGDB (0 replies)
-
Programmers in Trinidad and Tobago
by alacom (1 replies)
-
Can somebody help: CAsyncSOcket class (Client-server networking)
by chong (7 replies)
-
Weird problem for devenv command build failed.
by anson78 (0 replies)
-
Binary Studio | software development outsourcing Ukraine
by Hexfinity (2 replies)
Sorry posted in wrong thread
i am new to VC++, while creating a model dialog from a cwnd class i am getting a Assertion error.
can any one tell me where i did wrong.
class CAuthen:: public CWnd
{
............
..
public:
CAuthenDlg auth_dlg;
..
public :
void checkAuthentication();
};
void CAuthen :: checkAuthentication()
{
..
..
..
if( auth_dlg.DoModal() == IDOK)
{
...
// some operation goes here
}
..
..
}
This thread is for discussions of Attaching and Detaching Objects.