Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
Eckhard P.  
#1 Posted : Saturday, December 26, 2015 3:12:13 PM(UTC)
Eckhard P.

Rank: Newbie

Groups: Registered
Joined: 12/26/2015(UTC)
Posts: 1
Location: Germany

Was thanked: 2 time(s) in 1 post(s)
Hi everybody,

if you use iGrid in Access the iGrid is going to redrawn/flicker if iGris is loose the focus or the iGrid got the focus.
It seems, MS Access clears the contents of iGrid control and then send an additional WM_PAINT message to redraw the contents of the control - which causes flickering.
In this case it is not a iGrid/10tec malfunction and we as Access programmer must reduce the flicker.

My approach to solving a problem is not to eliminate the redrawing but rather the observed flickering.

The method in the attached application is a solution for an application which has loaded ONE form at time.
In other conditions (multible forms as tabs, dialog forms ...) this method is not tested and maybe failed.

Maybe my workaround is helpfull for other programmer to find a solution under other conditions and it's would be nice to publish the way here.

By the way, iGrid ActiveX v6 eliminated the combobox cell flickering problem. Igor/10tec good job.

Note: Access 2010 / iGrid ActiveX v5 / Open form frm_Start
Stop_Flicker_on_focus_change.zip (41kb) downloaded 95 time(s).

Edited by moderator Monday, December 28, 2015 8:48:37 AM(UTC)  | Reason: Igor/10Tec: Corrected post subject

thanks 2 users thanked Eckhard P. for this useful post.
Igor/10Tec on 12/28/2015(UTC), Henrik on 12/29/2015(UTC)
Henrik  
#2 Posted : Tuesday, December 29, 2015 10:05:12 AM(UTC)
Henrik

Rank: Member

Groups: Registered
Joined: 6/23/2015(UTC)
Posts: 20
Location: -

Thanks: 2 times
Was thanked: 1 time(s) in 1 post(s)
Thank you for this workaround.

I have tested this in a multiple form setting where forms are shown as tabs. I noticed that it's a good idea to also turn on redrawing when a form with this workaround is deactivated. If not the grid that had focus is not repainted correctly when switching forms.

In my app I have more than one grid in more than one form and I found having a public general function quite handy. I modified your function to take a grid as a parameter - Kudos!

Code:

Public Function iGrid_SetRedraw(g As iGrid, bEnableRedraw As Boolean)
    'Each Control (which can get the focus) must have this function on GotFous
    SendMessage g.hwnd, WM_SETREDRAW, bEnableRedraw, 0
End Function

'Usage:
iGrid_SetRedraw Grid0.Object, false

Edited by moderator Tuesday, December 29, 2015 10:20:16 AM(UTC)  | Reason: Igor/10Tec: Specified VB for code formatting tag

DHALL003  
#3 Posted : Monday, October 24, 2016 6:40:58 PM(UTC)
DHALL003

Rank: Newbie

Groups: Registered
Joined: 10/3/2016(UTC)
Posts: 3
Location: Nashville, TN

I am not experiencing flicker, or at least that's not my key issue. i'm using DynamicCellFormatting and have 3 related iGrid controls that are color-coded to process file ingestion feeds by FeedType and FeedID so client file groups can be distinguished more easily in a job service control app.

When the FeedType iGrid object loses control it get's repainted to the default -1 no color (this is not a totally accurate description, sometimes the colors persist, sometimes they do not).

When I use the iGrid_SetRedraw myiGrid.object, false in the Access onLostFocus event, the control actually dissappears.

Here is a before color scheme and then a scrnshot of the effect I'm trying to describe: (couldn't upload scrnshots)
DHALL003  
#4 Posted : Monday, October 24, 2016 6:44:59 PM(UTC)
DHALL003

Rank: Newbie

Groups: Registered
Joined: 10/3/2016(UTC)
Posts: 3
Location: Nashville, TN

igControlColorLoss_MSAccess_01.JPGigControlColorLoss_MSAccess_02.JPG
Igor/10Tec  
#5 Posted : Wednesday, March 22, 2017 2:16:20 PM(UTC)
Igor/10Tec

Rank: Administration

Groups: Administrators, Forum Moderator
Joined: 1/17/2011(UTC)
Posts: 843

Thanks: 11 times
Was thanked: 111 time(s) in 111 post(s)
One comment: we have optimized the drawing code in iGrid 6.5, and our customers say that now the flickering is less annoying - especially in remote desktop environments.
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.