This documentation is archived and is not being maintained.


Locks the class factory of the specified control so that dynamically created data associated with the control remains in memory.

BOOL AFXAPI AfxOleLockControl(
   REFCLSID clsid 
BOOL AFXAPI AfxOleLockControl(
   LPCTSTR lpszProgID 


The unique class ID of the control.
The unique program ID of the control.

Return Value

Nonzero if the class factory of the control was successfully locked; otherwise 0.


This can significantly speed up display of the controls. For example, once you create a control in a dialog box and lock the control with AfxOleLockControl, you do not need to create and kill it again every time the dialog is shown or destroyed. If the user opens and closes a dialog box repeatedly, locking your controls can significantly enhance performance. When you are ready to destroy the control, call AfxOleUnlockControl.


BOOL CDlgApp::InitInstance()
   // Starts and locks controls (Microsoft FlexGrid Control) class factory. 
   // Control will remain in memory for lifetime of
   // application or until AfxOleUnlockControl() is called.
   return TRUE;


Header: <afxwin.h>

See Also

MFC Macros and Globals | AfxOleUnlockControl