Dear Beta Tester, FRAMES.DLL was be presented in my July 1992 WinTechnician column in the Windows Tech Journal. The purpose of the DLL is to demonstrate an easy method of 3D shading as well as one potential application of a technique called subclassing. The DLL works by allowing the developer to "register" a window, specifying the type of frame (0 - out, 1 - in) and the DLL will replace the standard border of the window with a 3D frame whenever it needs painting. It uses subclassing which essentially means that I see messages sent to the window before it does and I act on the WM_PAINT message. This should *not* be confused with subclassing the in the VB CDK sense. This DLL has no VB specific code. The functions, exported by the DLL are the following: FrameWnd (hWnd, Style) - Frame a particular window UnFrameWnd (hWnd) - UnFrame a particular window ChangeFrame (hWnd, Style) - Change the style of the frame of a particular window The following functions behave the same as the ones above but operate on all of the children of the specified window, allowing you to establish framing for an entire form, or frame control with one call. FrameChildren (hParent, Style) UnFrameChildren (hParent) ChangeChildren (hParent, Style) The reason that there are both individual and "group" functions is to give you the greatest flexibility. For example, you might want to FrameChildren on the whole form, but then UnFrameWnd each command button. Another example, might be that you would want to change the style of a particular window or eliminate shading within a group box. The demo FRAMES.MAK shows each of these commands in action. You may use any technique you like to retrieve the hWnd of a particular control. The method I have used is to use the DLL I uploaded to CIS a million years ago: CTLHWND.DLL. You can see how this is used from the sample. In any case, you will want to copy the two DLLs into your system directory. Theoretically, there is no need to call UnFrameChildren (or UnFrameWnd), at the end of your application. This is because I trap the WM_DESTROY message to each of the framed controls and clean them up at that time. Source Code: The TPW source for FRAMES.DLL can be found in Lib 9 of CLMFORUM. The source with explanation can befound in the July '92 issue of the Windoes Tech Journal. For more information or subscriptions to the Windows Tech Journal, call (800) 234 - 0386 or outside of the US, (503) 747 - 0800. The fax number is (503) 747 - 0071. Alternatively, you may reach the editor, J.D. Hildebrand (until he becomes too popular) here on CIS at id: 76701,32. The journal can be reached by mail at: Windows Tech Journal P.O. Box 70167 Eugene, OR 97401-0110 Thanks a lot for your interest! -=- Jonathan