Not
sure if this helps your particular situation but I have previously used this API
call to stop unwanted form refreshing:
Guy
----------------------
Platform SDK:
Windows GDI
LockWindowUpdate
The LockWindowUpdate function disables or enables drawing in the specified window. Only one window can be locked at a time.
The LockWindowUpdate function disables or enables drawing in the specified window. Only one window can be locked at a time.
BOOL
LockWindowUpdate(HWND hWndLock // handle to
window);
Parameters
hWndLock
[in] Specifies the window in which drawing will be disabled. If this parameter is NULL, drawing in the locked window is enabled.
Return Values
If the function succeeds, the return value is nonzero.
Parameters
hWndLock
[in] Specifies the window in which drawing will be disabled. If this parameter is NULL, drawing in the locked window is enabled.
Return Values
If the function succeeds, the return value is nonzero.
If the function
fails, the return value is zero, indicating that an error occurred or another
window was already locked.
Windows NT/2000/XP:
To get extended error information, call GetLastError.
Remarks
If an application with a locked window (or any locked child windows) calls the GetDC, GetDCEx, or BeginPaint function, the called function returns a device context with a visible region that is empty. This will occur until the application unlocks the window by calling LockWindowUpdate, specifying a value of NULL for hWndLock.
If an application with a locked window (or any locked child windows) calls the GetDC, GetDCEx, or BeginPaint function, the called function returns a device context with a visible region that is empty. This will occur until the application unlocks the window by calling LockWindowUpdate, specifying a value of NULL for hWndLock.
If an application
attempts to draw within a locked window, the system records the extent of the
attempted operation in a bounding rectangle. When the window is unlocked, the
system invalidates the area within this bounding rectangle, forcing an eventual
WM_PAINT message to be sent to the previously locked window and its child
windows. If no drawing has occurred while the window updates were locked, no
area is invalidated.
LockWindowUpdate
does not make the specified window invisible and does not clear the WS_VISIBLE
style bit.
A locked window
cannot be moved.
Requirements
Windows NT/2000/XP: Included in Windows NT 3.1 and later.
Windows 95/98/Me: Included in Windows 95 and later.
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib.
Windows NT/2000/XP: Included in Windows NT 3.1 and later.
Windows 95/98/Me: Included in Windows 95 and later.
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib.
-----Original Message-----G'Day,
From: Donovan J. Edye [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, 31 October, 2001 5:23 p.m.
To: Multiple recipients of list delphi
Subject: [DUG]: Painting to HWND....
We are developing a Delphi Front End to a C++ COM object. The COM object needs a HWND to draw some output. As an initial test we are using a TPanel for this. However the TPanel flickets badly as it tries to repaint itself. So the question is: What control needs to be used that has a HWND but that does not flicker withing the Delphi App. As a side issue - The mouse is also not visible over the TPanel.....-- Donovan
----------------------------------------------------------------------
Donovan J. Edye [www.edye.wattle.id.au]
Namadgi Systems [www.namsys.com.au]
Voice: +61 2 6285-3460
Fax: +61 2 6285-3459
TVisualBasic = Class(None);
Heard just before the 'Big Bang': "...Uh Oh...."
----------------------------------------------------------------------
GXExplorer [http://www.gxexplorer.org] Freeware Windows Explorer
replacement. Also includes freeware delphi windows explorer components.
----------------------------------------------------------------------