but it looks like it's not me, after all..
#include <GuiConstants.au3> #cs Vista GUICtrlSetBkColor() / PixelGetColor() Bug Demo This appears to be some kind of incompatability between either GUICtrlSetBkColor() or PixelGetColor(), and the Vista Aero drawing routines. I'm guessing the latter. In XP, and in Vista with Aero disabled (using a classic or standard theme) this updates *instantly*, certainly fast enough to use as a live magnifier for my color pickin chooser, updating as the mouse hovers around. With an Aero appearance enabled, a single update takes a few seconds! It's many thousands of times slower, at any rate. #ce AutoItSetOption("GUICoordMode", 1) AutoItSetOption("GUIOnEventMode", 1) HotKeySet("{ESC}","DoQuit") $gui = GUICreate("Vista GUICtrlSetBkColor() Bug Demo", 150, 130) GUISetOnEvent($GUI_EVENT_CLOSE, "DoQuit") GUICtrlCreateLabel("Hover the mouse around your screen, with and without Aero enabled. Hmm..", 10, 70, 135, 70) $cpc_mag_top = 10 $do_quit = 0 $mag_x = 10 $mag_size = 5 $count = 0 global $mag_block[200] for $iterX = 0 to 49 step $mag_size for $iterY = 0 to 49 step $mag_size $mag_block[$count] = GUICtrlCreateLabel("", $iterX+$mag_x, $iterY+$cpc_mag_top, $mag_size, $mag_size) GUICtrlSetBkColor(-1, 0x00ff00) $count += 1 next next GUISetState() ; main loop.. while not $do_quit sleep(75) cpc_UpdateMag() wend func cpc_UpdateMag() $MousePos = MouseGetPos() $count = 0 for $iterX = -5 to 4 for $iterY = -5 to 4 GUICtrlSetBkColor($mag_block[$count], PixelGetColor($MousePos[0]+$iterX, $MousePos[1]+$iterY)) $count += 1 next next endfunc exit ; bye! func DoQuit() $do_quit = 1 endfunc
;o)
(or





