Diamond Custom Control 1992 by Mark Gamber The "Diamond" control is a button which acts a a four-way arrow button, sort of like a Nintendo game pad. It is compatible with the Windows 3.0 SDK Dialog Editor. Use install it into your Dialog Editor, select "Add Custom Control" in the "File" menu and enter the full pathname of DIAMOND.DLL. If the control name "DIAMOND" appears in the custom control listbox, you're in good shape. The resource file will list the Diamond control as such: CONTROL "Text", IDM_DIAMOND, "diamond", WS_CHILD, 2, 2, 32, 32 In order to activate a window you have a Diamond control in, you should add this line to your application's .DEF file: IMPORTS (If not already there) Diamond=DIAMOND.10 Although the function doesn't exist, it loads the control into memory and gets it started. The Diamond control has five states: All raised, Top down, Right down, Left down, Bottom down and All Disabled. The user application may set the enable flag by using SendMessage( hDiamond, WM_ENABLE, x, NULL ). Button notification is sent to the parent window as a WM_COMMAND message: Message: WM_COMMAND wParam: Diamond control ID. lParam: LOWORD - Sub button number. HIWORD - BN_CLICKED notification. Sub buttons: 0 = Top button clicked. 1 = Right button clicked. 2 = Bottom button clicked. 3 = Left button clicked. There should be, along with these files, a set of files which are the program DIATEST.EXE, a demo program using the Diamond control. Look at this program for a programming aspect of interfacing with the button. Note, this button cannot be stretched because of the bitmaps and math involved. You may change the control to size to something besides 64x64, but it only displays the background (NULL). Per usual, this is free software for use by anybody and everybody as long as: 1. Credit is given where credit is due. Is that so much to ask? 2. I am not blamed for anyone else's problems. It's just software! Questions, answers, bug reports and misc. ramblings may be sent via E-Mail to MarkG85 on America Online. No other corespondance will be accepted.