|Navigation: Language Reference > 13 - Built-in Functions >====== UNFREEZE (resume control drawing) ======
UNFREEZE( feq , state )
Returns LONG value used to pass to the corresponding UNFREEZE pairing.
|Resume control redrawing
|The SIGNED field equate label representing the control that you wish to affect..
|The LONG value returned by the last FREEZE for that control that has not been closed.
UNFREEZE resumes redrawing of the control of current thread's top window with passed feq previously suspended by FREEZE. The second state parameter is a value returned by last FREEZE for that control which has not been closed by paired UNFREEZE.
FREEZE and UNFREEZE are useful in certain situations where you wish to delay a control's redraw operation. For example:
·Dynamically changing several properties of the same control, each of which can alter its visibility, (e.g. font name, size and style)
·Performing multiple search-and-replace operations on an RTF control.
Calls to FREEZE can be nested. Every call must have its paired UNFREEZE. FREEZE and UNFREEZE functions must be used with accuracy; if there is no paired call to UNFREEZE for an executed FREEZE, the control cannot be redrawn and thus the screen can be displayed incorrectly.
If a control can be redrawn after UNFREEZEing (e.g., there are no other unclosed calls to FREEZE, the control is visible, etc.), the UNFREEZE function forces redrawing of the control.
Use with Menu controls
FREEZE/UNFREEZE can be used for Menu controls, but the feq parameter for a Menu control must use the special value 10001h, or the EQUATE “Freeze:MenuBar” (defined in EQUATES.CLW).
x1# = FREEZE (feq)
x2# = FREEZE (feq)
UNFREEZE (feq, x2#)
UNFREEZE (feq, x1#)
See also: FREEZE