HOWTO: Use CTL3D.DLL in Your Visual Basic Program
ID: Q113898
|
The information in this article applies to:
-
Microsoft Visual Basic Standard and Professional Editions for Windows, versions 2.0, 3.0
SUMMARY
You can use CTL3D.DLL to add three-dimensional (3-D) effects to the
common dialog boxes and message boxes for a Visual Basic application.
However, CTL3D.DLL does not work currently for the controls on a
Visual Basic form or for the form itself.
To get 3-D effects for the controls on a form, use the controls found
in the THREED.VBX custom control.
MORE INFORMATION
To use CTL3D.DLL to enhance the common dialog boxes and message boxes from
Visual Basic, follow these steps:
- Start a new project in Visual Basic. Form1 is created by default.
- Add the following code to the form's general declarations section:
Option Explicit
Const GWW_HINSTANCE = (-6)
' Enter each declaration as one, single line:
Declare Function GetWindowWord Lib "User" (ByVal hWnd As Integer, ByVal
nIndex As Integer) As Integer
Declare Function Ctl3dAutoSubclass Lib "Ctl3D.DLL" (ByVal hInst As
Integer) As Integer
Declare Function Ctl3dRegister Lib "Ctl3D.DLL" (ByVal hInst As Integer)
As Integer
Declare Function Ctl3dUnregister Lib "Ctl3D.DLL" (ByVal hInst As
Integer) As Integer
- Add the following code to the form's load event procedure:
Sub Form_Load ()
Dim hInst As Integer, ret As Integer
hInst = GetWindowWord(Me.hWnd, GWW_HINSTANCE) ' Get Instance Handle
ret = Ctl3dRegister(hInst) ' Register program w/ Ctl3d.
ret = Ctl3dAutoSubclass(hInst) ' Subclass the program.
End Sub
- Add the following code to the form's unload event procedure:
Sub Form_Unload (Cancel As Integer)
Dim hInst As Integer, ret As Integer
hInst = GetWindowWord(Me.hWnd, GWW_HINSTANCE) ' Get Instance Handle
ret = Ctl3dUnregister(hInst) ' Unregister the program.
End Sub
- Add a command button (Command1) to the form.
- In the Click event for Command1, add a MsgBox statement:
Sub Command2_Click ()
MsgBox "This is a 3-D Message Box"
End Sub
- Press the F5 key to run the program. When you click the command button,
a message box will appear in 3-D.
Important Note
If your program fails to unregister itself from CTL3D.DLL when your program
ends, you may cause Windows to crash (stop operating). For example, if you
place the Ctl3dUnregister() function in the Unload event and your program
uses the End statement, Windows may crash because the End statement does
not invoke the QueryUnload or Unload event.
REFERENCES
The information in this article is taken from the CTL3D.HLP help file.
You can find CTL3D.EXE, a self-extracting file, on these services:
The following file is available for download from the Microsoft Software
Library:
~ Ctl3d.exe
For more information about downloading files from the Microsoft Software
Library, please see the following article in the Microsoft Knowledge Base:
Q119591
: How to Obtain Microsoft Support Files from Online Services
For additional information, please see the following article in the
Microsoft Knowledge Base:
Q97361
: INF: Adding 3D Controls Using CTL3D.DLL
Additional query words:
3.00 softlib kbDSupport
Keywords : kbcode
Version : 2.00 3.00
Platform : WINDOWS
Issue type :
|