Solved

Flikering problem in labels & Images

Posted on 2003-11-06
11
395 Views
Last Modified: 2013-12-26
Hi experts,
I am making a progress bar OCX with my custome properties and methods and image.

Now everything is done but when I update the value to be displayed it flickers like anything... I have also added a custom image that even a user can provide to display an image of their choice ..

Even that flickers like anything while updating.

I am almost done with my project but unfortunatelly this flickering problem is delaying my delivery.

Thanks for your help.
msali.
0
Comment
Question by:msali
  • 6
  • 4
11 Comments
 
LVL 18

Expert Comment

by:Sethi
ID: 9694307
Use LockWindowUpdate API before and after the processing starts:

Public Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long

Pass the Hwnd of the windows where the processing is going to start just before the code where processing starts like:
LockWindowUpdate Me.Hwnd

Just aftre the last line of code pass 0 as value:
LockWindowUpdate 0
0
 

Author Comment

by:msali
ID: 9699162
Hi,
I have already tried it but when I use this API and test my app my Progress bar does not move till I move my form and then it shows 100% done.  If I use DoEvents with this API the flickering starts again.

If Use this API and put 2 instances of my control on the form.. the whole screen goes buzark and starts acting funny and starts blinking....

0
 
LVL 18

Expert Comment

by:Sethi
ID: 9699194
Check if this progress bar helps you:
http://www.freevbcode.com/ShowCode.Asp?ID=1841
0
Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

 

Author Comment

by:msali
ID: 9706573
Yes I have seen this progress bar.. but please my question is not regarding Progress bar it is about flickering.....

thanks a lot.
0
 
LVL 18

Expert Comment

by:Sethi
ID: 9706657
I am not trying to deviate from topic. I am just trying to help the other way.
0
 

Author Comment

by:msali
ID: 9776747
Hi,
After waiting for some time and doing my own research I have finally found a solution.

Thanks for your support.

I hope you would not mind if I ask my community support to delete this quesiton.

Waiting for your acknowledgment.

Thanks again.
0
 
LVL 18

Expert Comment

by:Sethi
ID: 9776899
Not at all, if you can share the solution. that would help lot many users who navigate to this thread
0
 

Accepted Solution

by:
msali earned 0 total points
ID: 9784922
Hi,
Well the solution that I used is combination of StrechBlt and BitBlt.

At the time of initialization I place the image that I want to display in the Pbar in iBarSrc Picture Box.

At the same time I strech that image in iBarScale to make it the same heitht and width as my final iBar picture box

Finally when an increment is called by setting the pb.value property of my pb I set the progress bar using bitblt from my iBarScale picture box.


and booooooooom as a result no flickering at all no matter how may doevents you do or how quick your loop is as i am now using the double buffering principal on my control.



Set the Scale Bar:

 RetValue = StretchBlt(iBarScale.hdc, 0, 0, iBarScale.ScaleWidth, iBarScale.ScaleHeight, iBarSrc.hdc, 0, 0, 1, iBarScale.ScaleHeight, vbSrcCopy)


Set the progress Bar
OneUnit = iBar.ScaleWidth / m_Max
RetValue = BitBlt(iBar.hdc, 0, 0, m_Value * OneUnit, iBar.ScaleHeight, iBarScale.hdc, 0, 0, vbSrcCopy)





-------------------------------------------
Sethi,
Thanks a lot for lett me wrap up the question... you are a real sport.

msali.

0
 
LVL 18

Expert Comment

by:Sethi
ID: 9785042
Nice, solution. Thanks for sharing the knowledge.
0
 
LVL 18

Expert Comment

by:Sethi
ID: 9785044
Please post a comment in CS that you intend to get the refund back but the question to be put in PAQ
0
 

Expert Comment

by:YensidMod
ID: 9785098
Question is PAQed and 250 points refunded.

YensidMod
Experts Exchange Moderator
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Excel - Save a copy of work book 13 89
Add and format columns in vb6 7 63
Added a column screws up code 5 63
Export PDF Form fields to Access  or Excel  in Tab order 16 80
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question