Dec 082017
 
C source for 3-D Dialog boxes in Windows 3.x.
File 3DLL.ZIP from The Programmer’s Corner in
Category C Source Code
C source for 3-D Dialog boxes in Windows 3.x.
File Name File Size Zip Size Zip Type
3D.ICO 766 196 deflated
3D.TXT 4926 1810 deflated
DEMO 1161 525 deflated
DEMO.C 8563 2547 deflated
DEMO.DEF 768 442 deflated
DEMO.DLG 3469 882 deflated
DEMO.EXE 23068 6125 deflated
DEMO.H 241 160 deflated
DEMO.RC 247 163 deflated
DEMODLG.C 5244 1336 deflated
IDS.H 649 164 deflated
THREE_D.DLL 10904 3851 deflated
THREE_D.H 420 212 deflated
THREE_D.LIB 1024 200 deflated

Download File 3DLL.ZIP Here

Contents of the 3D.TXT file


Welcome to the 3-d world of Windows!

To avoid reading this text file, just run the demo.exe program!.

Description:
------------
The file "three_d.dll" contains functions for making a Windows 3.0 dialog box
appear to have a 3-dimensional look. You can use your own discretion as to
which controls look good with a 3-d appearance. It requires that you make some
minor changes in your programs's source and build files. In order for the
DLL to function properly, it must be either in the directory where you are
running your program from or included in a directory which is contained in your
path. The source code for the demo.exe program is also included.

NOTE: This DLL currently supports resolutions of VGA or greater and does not
support monochrome at all!


The following are the steps necessary to implement the functions contained in the
DLL:

- Be sure to include the file "three_d.h" in any module which will call a
function contained in the DLL. This function contains prototypes for
each function.

- Modify your link line to contain the library "three_d.lib"

- Modify your dialog box procedure to trap the following messages:
WM_CTLCOLOR, WM_PAINT and the DLL defined message WM_3DPAINT.

- Modify the dialog box template to exclude the WS_BORDER style from controls
which will be 3-d. Note: For edit controls, this requires subtracting
2 from cy.

Function Descriptions:

- Draw3dFrame(hDlgBox,mode)

hDlgBox is a handle to the dialog box which you wish to make 3-d.

mode is an identifier for the type of frame to be drawn.
INSIDE_FRAME draws a "picture" frame around the box
OUTSIDE_FRAME draws a "creased" frame around the box.

This function draws a 3_D frame around the client area of the
specified dialog box.

- Draw3dBorder(hDlgBox,ControlId,mode,depth)

hDlgBox is a handle to the dialog box which you wish to make 3-d.

ControlId is the integer identifier for the control you wish to draw.

mode specifies drawing mode:
RECESSED makes the control appear "recessed"
RAISED makes the control appear "raised"
CREASED makes the control appear "creased". Using this style,
a border can be drawn around a group of controls if you
specify a control in the dialog editor which has the
SS_BLACKFRAME,SS_WHITEFRAME or SS_GRAYFRAME style and
surrounds the desired group of controls.

depth is an integer value defining the width of the pen used for
drawing. This governs how "raised" or "recessed" the given
control will appear. This value must be 1 or greater.

This function draws a three dimensional border around the specified
control.

- Draw3dShadow(hDlgBox,ControlId)

hDlgBox is a handle to the dialog box which you wish to make 3-d.


ControlId is the integer identifier for the control you wish to draw.

This function draws a "dropped" shadow around the specified control.

- Control3dColor(hDlgBox,wParam)

hDlgBox is a handle to the dialog box which you wish to make 3-d.

wParam is the wParam which accompanies the WM_CTLCOLOR message for the
dialog box.

This function handles the WM_CTLCOLOR message for the specified dialog box.
It sets the background color for the dialog box to light gray.

/*****************************************************************************/

Included with this ZIP file, you will find the source code for the demo.exe
program. Rather than put the sample code in this text file, I thought it would
be easier to include the source.

/*****************************************************************************/

If you have any questions or comments I can be reached at the following address
on CompuServe:

70324,1204

Your comments would be greatly appreciated!

This DLL comes to you without any annoying registration messages. However,
if you decide to ship the DLL with your own application, I will rely on your
honesty to register the copy. This will also insure future upgrades.

To register your royalty free version of three_d.dll,
Send $20 (for DLL) or $50 (for DLL and source) check or money order to:

Ray Donahue
365 Mather Street Unit 125
Hamden, CT 06514

Your support would be greatly appreciated!

Also Available (for a nominal fee) to registered users:
- Source code and DLL for creating "Excel-like" toolbar.
- Source code for creating "Excel and Word-like" status bar.

To obtain demos for any of the above, leave a message at the CompuServe
address listed above.

Once again,
Thanks!


 December 8, 2017  Add comments

Leave a Reply