Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Visual Basic
Expertise: Advanced
Feb 14, 2002



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Capture a Reference to a UserControl

Many programmers are familiar with declaring an object variable in class modules and other places to capture events from a form and handle them in a generic way:
Private WithEvents m_Form As Form

It might be useful to do this for user controls as well, but you need a reference to the UserControl object. Getting this reference proves harder than it should be. This code sets up the m_UserControl variable:
' Declarations
Private WithEvents m_UserControl As UserControl
Private Declare Sub CopyMemory Lib "kernel32" _
Alias "RtlMoveMemory" (pDest As Any, _
pSource As Any, ByVal ByteLen As Long)
Private Sub UserControl_Initialize()
' Code to set up the m_UserControl variable
Dim UC As UserControl
CopyMemory UC, UserControl, 4
Set m_UserControl = UC
CopyMemory UC, 0&, 4
End Sub

Once this code has been executed, the m_UserControl events fire as expected. Using this technique and sharing the created reference, you can sink the UserControl events in a class module, allowing development of generic event handlers for your controls.
Jeremy Adams
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date