Article ID: 112181
Article Last Modified on 10/14/2003
LONG SetWindowLong (HWND hwnd, int nOffset, LONG nVal)
NOTE
HWND FAR PASCAL __export GetSecondaryHandle (DWORD hwnd)
{
return GetParent (LOWORD(hwnd));
}
WS_CLIPSIBLINGS 0x04000000 WS_CLIPCHILDREN 0x02000000 WS_VISIBLE 0x10000000 WS_DISABLED 0x08000000 WS_MINIMIZE 0x20000000 WS_MAXIMIZE 0x01000000 WS_CAPTION 0x00C00000 WS_BORDER 0x00800000 WS_DLGFRAME 0x00400000 WS_VSCROLL 0x00200000 WS_HSCROLL 0x00100000 WS_SYSMENU 0x00080000 WS_THICKFRAME 0x00040000 WS_MINIMIZEBOX 0x00020000 WS_MAXIMIZEBOX 0x00010000These values are combined simply by or'ing them together with the bitwise OR operator ("|"). Each call to SetWindowLong() completely replaces the previous styles for the window with the new styles specified in the nVal parameter.
RegisterRoutine ("user", "SetWindowLong", "uiU")
RegisterRoutine ("mydll", "GetSecondaryHandle()", "u=U")
where mydll is the name of your .DLL file.
RegisterRoutine ("user", "SetWindowPos", "uuiiiiu")
SetWindowPos() can then be called from anywhere within the title as
follows:
SetWindowPos (GetSecondaryHandle (hwndContext), 0, 0, 0, 0, 0, 39)NOTE: The SetWindowPos() call above is equivalent to the following function call using the Windows constants defined in the WINDOWS.H header file from the Windows SDK:
SetWindowPos (hwndApp, 0, 0, 0, 0, 0, SWP_DRAWFRAME |
SWP_NOMOVE |
SWP_NOSIZE |
SWP_NOZORDER)
FocusWindow (MyWindow); SetWindowLong (GetSecondaryHandle (hwndContext), -16, 0x16CE0000); SetWindowPos (GetSecondaryHandle (hwndContext), 0, 0, 0, 0, 0, 39);
WS_BORDER Creates a window that has a border.
WS_CAPTION Creates a window that has a title bar (implies the
WS_BORDER style). This style cannot be used with the
WS_DLGFRAME style.
WS_CLIPCHILDREN Excludes the area occupied by child windows when drawing
within the parent window. Used when creating the parent
window.
WS_CLIPSIBLINGS Clips child windows relative to each other; that is, when
a particular child window receives a paint message, the
WS_CLIPSIBLINGS style clips all other overlapped child
windows out of the region of the child window to be
updated. (If WS_CLIPSIBLINGS is not specified and child
windows overlap, it is possible, when drawing within the
client area of a child window, to draw within the client
area of a neighboring child window.) For use with the
WS_CHILD style only.
WS_DISABLED Creates a window that is initially disabled.
WS_DLGFRAME Creates a window with a double border but no title.
WS_HSCROLL Creates a window that has a horizontal scroll bar.
WS_MAXIMIZE Creates a window of maximum size.
WS_MAXIMIZEBOX Creates a window that has a Maximize button.
WS_MINIMIZE Creates a window that is initially minimized. For use
with the WS_OVERLAPPED style only.
WS_MINIMIZEBOX Creates a window that has a Minimize button.
WS_SYSMENU Creates a window that has a System Menu box in its title
bar. Used only for windows with title bars.
WS_THICKFRAME Creates a window with a thick frame that can be used to
size the window.
WS_VISIBLE Creates a window that is initially visible. This applies
to overlapped, child, and pop-up windows. For overlapped
windows, the y parameter is used as a ShowWindow()
function parameter.
WS_VSCROLL Creates a window that has a vertical scroll bar.
NOTE: You can determine the current styles of the main Viewer window using
the Spy utility that shipped with the Windows SDK. Choose Window from Spy's
Window menu. Then position the cursor over the main Viewer window. Spy will
display the style of the window in the last line of the Spy Window dialog
box.
Additional query words: 2.00 2.00a
Keywords: KB112181