Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
WM_SETREDRAW doesn't work unless...what?
RM Smissaert kindly replied to my recent Q of how to disable screen
updating in a TreeView: Private Declare Function SendMessage Lib "user32" Alias _ "SendMessageA" (ByVal HWND As Long, ByVal wMsg _ As Long, ByVal wParam As Long, lParam As Any) As Long Private Const WM_SETREDRAW = &HB *** SendMessage TreeView1.HWND, WM_SETREDRAW, IIf(EnableTheBugger, 1, 0), 0 (The 1 and 0 in my IIf are reversed from his example, which I presume is correct, 'cause it seems to work for me.) But this call fails, UNLESS (I found empirically) I, like, make the call, then show a MsgBox (which interrupts processing and "seeds" the screen first...?) Sort of like having to turn off the pilot before turning off your stove. What additional API call must I make if any to make WM_SETREDRAW work? *** Better yet, how do you do this in a native VBA way? What I'm doing is cleaning & pruning the tree--deleting & moving hundreds or even thousands of nodes. Each operation of which has to wait for my ancient video card, which I inherited from Johannes Vermeer, to repaint (in slow-to-dry Old Master oils) my screen. Thanks much. *** |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
WM_SETREDRAW doesn't work unless...what?
Try a DoEvents in a few places.
Will need a bit of experimenting. RBS wrote in message ... RM Smissaert kindly replied to my recent Q of how to disable screen updating in a TreeView: Private Declare Function SendMessage Lib "user32" Alias _ "SendMessageA" (ByVal HWND As Long, ByVal wMsg _ As Long, ByVal wParam As Long, lParam As Any) As Long Private Const WM_SETREDRAW = &HB *** SendMessage TreeView1.HWND, WM_SETREDRAW, IIf(EnableTheBugger, 1, 0), 0 (The 1 and 0 in my IIf are reversed from his example, which I presume is correct, 'cause it seems to work for me.) But this call fails, UNLESS (I found empirically) I, like, make the call, then show a MsgBox (which interrupts processing and "seeds" the screen first...?) Sort of like having to turn off the pilot before turning off your stove. What additional API call must I make if any to make WM_SETREDRAW work? *** Better yet, how do you do this in a native VBA way? What I'm doing is cleaning & pruning the tree--deleting & moving hundreds or even thousands of nodes. Each operation of which has to wait for my ancient video card, which I inherited from Johannes Vermeer, to repaint (in slow-to-dry Old Master oils) my screen. Thanks much. *** |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
flash object dont work in my excel work sheet | Excel Discussion (Misc queries) | |||
HOW TO MAKE A LIST OF WORK SHEET IN WORK BOOK IN EXCEL 2007 | Excel Programming | |||
If I have a work sheet protected and try to run a macro to hide rows or columns it won't work. Correct? | Excel Programming | |||
Counting dates in multiple work sheets and work books | Excel Discussion (Misc queries) | |||
Is there away to keep "auto save" from jumping to the first work sheet in the work book? | New Users to Excel |