Question: How to implement multi-threading in visual basic 6.0. It would be great if someone can give an example.

Answer: 
If the problem that you are trying to solve is a long calculation and you want to keep the UI responsive, then one possibility is to frequently call the `DoEvents` function within your long calculation. This way, your program can process any Windows messages, and thus the UI will respond to user commands. You can also set up a Cancel button to signal your process that it needs to end.

If you do this, then you will need to be careful to disable any controls that could cause a problem, such as running the long process a second time after it has started.
You can use the Interop Forms Toolkit 2.0 for multithreading in VB6. The Toolkit 
allows you to take advantage of .NET features without being forced onto an upgrade pat. Thus you can also use .NET User Controls as ActiveX controls in VB6.