Freetutes.com

VB6 beginners tutorial - Learn VB6

Advanced VB6 tutorial - Learn Advanced VB6

Systems Analysis - System analysis and Design tutorial for Software Engineering


You are here: Visual Basic > Advanced VB6 tutorial > Chapter 13

Implementing Delegated Events

If you wish to expose some of the events of your control's constituent controls to the developer, then you will need to implement delegated events. A delegated event is a custom control event that provides a wrapper for the event of an underlying constituent control, usually by placing a single line of code in the constituent control's event procedure to raise the custom event.

A delegated event is the only way you can let the developer see the events of a constituent control since constituent controls are private to the UserControl object, and so they're unavailable to the developer.

You may give the delegated event the same name as the constituent control event it implements, or you might give it a different name to distinguish it from the actual constituent control's event.

Let's say that you have a constituent TextBox control named txtEntry on your UserControl object and you wish its Change event to be visible in the client application. You would declare an event called, say, "EntryChange" in the UserControl's General Declarations section that you see at the top of the example in Listing 13.12. Then in the Change event of the constituent TextBox control, you would simply raise the custom event, as shown in Listing 13.12.

LISTING 13.12
DELEGATING A CONSTITUENT TEXTBOX CONTROL'S CHANGE EVENT

[General Declarations of UserControl]
Public Event EntryChange()
[in the Constituent control's code]
Public Sub txtEntry_Change()
   RaiseEvent EntryChange()
End Sub

A developer would then see the EntryChange event procedure in code windows of projects that used this control, and the EntryChange event would fire whenever the constituent TextBox control's Change event fired.


  

<< Previous | Contents | Next >>

Home | About Us | Privacy Policy | Contact Us

Copyright © Freetutes.com | All Rights Reserved