Timeline
May 29, 2026:
- 8:02 PM Ticket #4098 (_GDIPlus) updated by
- This behavior is by design and not a bug. When a window is minimized, hidden, or moved out of the visible screen area, Windows invalidates the graphics context, causing static GDI+ drawings to disappear. Since non-animated examples lack a continuous redraw loop, the image is not repainted when the window is restored. To resolve this without the need for a complex $WM_PAINT message handler, the updated example separates the source and target canvas by creating a new blank bitmap via _GDIPlus_BitmapCreateFromScan0. The original capture is drawn onto this new bitmap while applying the ColorMatrix attributes, preventing any GDI+ source-target conflicts. Finally, the processed image is converted to a GDI handle and assigned to a native AutoIt Picture control (GUICtrlCreatePic) via $STM_SETIMAGE. This solves both issues at once: it ensures clean GDI+ rendering and relies entirely on native Windows OS routines to keep the image persistent during minimization or restoration. […]
- 7:10 PM Ticket #4098 (_GDIPlus) updated by
- Hello everybody, OP jak_piotr indicates function _GDIPlus_ColorMatrixCreate in his description above. If not mistaken, all 3 examples in help file using _GDIPlus_ColorMatrixCreate also use _GDIPlus_GraphicsDrawImageRectRect So let's go to function _GDIPlus_GraphicsDrawImageRectRect and have a look at its 2 examples : * Example 2 of _GDIPlus_GraphicsDrawImageRectRect is the animated example : jak_piotr indicates that everything is ok with this example, probably because the graghic is drawn every 20 ms during the main loop, with new coords, so far so good. * Example 1 of _GDIPlus_GraphicsDrawImageRectRect is the non-animated example : No graphic redraw within the main loop, so the graphics disappear in the 3 following cases (at least) : 1) Minimizing / Restoring the Gui (as indicated by OP) 2) Dragging the GUI a bit outside the screen (all the hidden part of the gui loses its graphic) 3) Covering the GUI (totally or partially) with another window. To solve these 3 cases, I tried what follows in the script below (example 1, reworked) : 1) $GUI_EVENT_RESTORE to take care of a restored GUI 2) $WM_MOVE to take care of a moved GUI 3) WinActive($hGUI) to take care of another window covering the GUI All 3 cases use the same global variable $g_bRedraw : when this variable is True, then the graphics is redrawn (and the variable goes to False) […] Hope it helps a bit, until UEZ indicates his solution, which will certainly be more accurate.
- 4:27 PM Ticket #4098 (_GDIPlus) updated by
- Perhaps UEZ can help on the subject
- 11:04 AM Ticket #4099 (GUICtrlCreatePic) closed by
- No Bug: This is not a very clear BUG report in case it really is! Use our forums for questions and discussions and only report bugs here when there is a full report with clear details. Thanks
May 28, 2026:
- 6:59 PM Ticket #4099 (GUICtrlCreatePic) created by
- GUICtrlCreatePic() drawing bmp,gif,jpg,png, if the c:\ drive is 0mb …
- 6:45 PM Ticket #4098 (_GDIPlus) created by
- GDIPlus example in this module that all examples that are not animated …
May 25, 2026:
- 6:08 PM Ticket #4094 (new function: _WinAPI_FindWindowEx) closed by
- Fixed: Fixed by revision [13408] Added #4094: _WinAPI_FindWindowEx()
May 24, 2026:
- 3:54 AM Ticket #4097 (GuiListView Extended Styles Documentation) created by
- Hey jpm The _GUICtrlListView_Create documentation suggests you can …
Note:
See TracTimeline
for information about the timeline view.
