Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 172
  • Last Modified:

make my ActiveX control go away

I have two ActiveX controls written in VB6.  The first one knows how to do a couple things with an image.   The second one sits on top of the first control and knows how to create an email using CDO and send the image as an attachment.
What it DOESN'T know how to do is go away after I press the SEND button (does the email stuff.)

The function SEND does the email stuff then I try to use RaiseEvent Finished to make the email control go away.

like this

Private Sub cmdEmail_Click()
send "email"

RaiseEvent Finished   <------

End Sub

You can rightly assume I am not the world's greatest VB programmer.   I thought "Finished" was a standard VB thing that would shut down the control.
I have "Public Event Finished()" declared at the top of my control.

I DON'T have any code written for "Finished", I thought that was a facility of VB.   Maybe I'm wrong.

Please advise.

thanks in advance.


0
jnearing
Asked:
jnearing
  • 3
  • 2
  • 2
  • +2
1 Solution
 
samopalCommented:
You have to write some code to make this event works.

Sub UserControl2_Finished
' do what you want to do.
' But what do you want? VB doesn't have a method to delete existing control...

End sub

put this sub in usercontrol1 (image)
0
 
Erick37Commented:
In VB6, you can add controls at runtime.  So it makes sense that you can also remove them.

"HOWTO: Dynamically Add Controls to a Form with Visual Basic 6.0"
http://support.microsoft.com/support/kb/articles/Q190/6/70.ASP
0
 
samopalCommented:
Erick, .Controls collection have only .Add method. But as for me, I cannot find a way to remove existing control. May be you know?
0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
wsh2Commented:
After your SEND.. just do a: UserControl1.Visible = False

When you need it again.. do a:
UserControl1.Visible = True

Tada.. <smile>.

0
 
ndbCommented:
Samopal:
Removing a control =
Set Text1(i) = Nothing
0
 
wsh2Commented:
ndb:
You can only remove a Control (or set it to Nothing) IF.. you had Dynamically added it first.. <smile>.
0
 
ndbCommented:
I know that.
But jnearing can add it at runtime I suppose.
On the other had ... your solution of hiding the control is better I think.
0
 
wsh2Commented:
ndb:
If I were you, right now I would just stick with using the Control's Visible property (as 99% of VB programs do). Dynamic Control creation requires implementing the Object Extender and then manually coding for each 'Created' Controls events, so that the appropriate action can be taken. Long story short, its a pain in the butt and is generally only used on the most severe of programming problems, if then. Anyhow, the choice is yours.. the Visible Property.. Dynamic Loading and Unloading of Controls (where the Set=Nothoing comments above will work).. or jsut pray for VB7 (don't hold your breath, tho).. <smile> and a <wink>.
0
 
jnearingAuthor Commented:
Hi guys,
   setting the control's VISIBLE property to false would be OK, but I have to do it from the parent control.

I'm trying to SETFOCUS back to the parent control to do that, but am not getting it yet.

It doesn't seem like that should be so hard, but we have put our best minds on it here.

thanks.
0
 
jnearingAuthor Commented:
I was able to get a handle to a 3rd party control on MY parent control, then set the focus to that.   After that I could set visible to FALSE on my control that I wanted to close.

thanks everyone.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 3
  • 2
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now