Real Software Forums

The forum for Real Studio and other Real Software products.
[ REAL Software Website | Board Index ]
It is currently Thu Nov 21, 2019 4:08 pm
xojo

All times are UTC - 5 hours




Post new topic Reply to topic  [ 25 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: DoubleBuffer/EraseBackground Help requested
PostPosted: Sun Jun 19, 2011 8:10 pm 
Offline

Joined: Fri Sep 30, 2005 10:49 pm
Posts: 504
I have uploaded the project at
http://www.mediafire.com/?ygomwy4x64vhtb5

Works great on Mac but I cannot get rid of the flickering on PC.

Would be grateful if anyone can shed some light on how to eliminate or significantly reduce the flickering.

Thanks.

Lennox


Top
 Profile  
Reply with quote  
 Post subject: Re: DoubleBuffer/EraseBackground Help requested
PostPosted: Sun Jun 19, 2011 8:14 pm 
Offline

Joined: Fri Sep 30, 2005 10:49 pm
Posts: 504
Would be grateful if anyone can shed some light on how to eliminate or significantly reduce the flickering on scrolling.

Thanks.

Lennox


Top
 Profile  
Reply with quote  
 Post subject: Re: DoubleBuffer/EraseBackground Help requested
PostPosted: Mon Jun 20, 2011 2:14 am 
Offline

Joined: Mon Sep 22, 2008 9:01 pm
Posts: 61
for i as integer=0 to self.ControlCount-1
if self.control(i) isa BevelButton then
dim rcontrol as BevelButton = BevelButton(self.control(i))
rcontrol.DrawInto(g,rcontrol.Left-me.left,rcontrol.Top-me.top)
end if
next

Stick this code in at the end of ur paint event in the canvas, i tested it out and it appears to eliminate the flickering when scrolling, but it appears it doesn't help with mouse over flickering with the bevel button... but im pretty sure the mouse over flickering happens to bevel buttons on windows reguardless if they are in a canvas or not, because they just plain suck in my opinion. :(


Top
 Profile  
Reply with quote  
 Post subject: Re: DoubleBuffer/EraseBackground Help requested
PostPosted: Tue Jun 21, 2011 11:03 am 
Offline

Joined: Mon Sep 22, 2008 9:01 pm
Posts: 61
Hmm let me correct myself a bit. BevelButtons on windows don't normally flicker on mouse over unless they have a icon assigned to them (for whatever reason they flicker then i've noticed) Also I see they flicker when they're on a Canvas, when you mouse over them.

You'll probably want to file/submit a bug report with detailed explanation and example project showing the bug clear as day.


Top
 Profile  
Reply with quote  
 Post subject: Re: DoubleBuffer/EraseBackground Help requested
PostPosted: Tue Jun 21, 2011 11:27 am 
Offline

Joined: Fri Sep 30, 2005 10:49 pm
Posts: 504
Thanks pawn,

I am in the process of converting all those BevelButtons to TextFields, (in the real project about 200 of them), for two reasons:
1) the flickering on mouse enter/exit (on PC) and
2) The triangle to indicate a menu would not be there in the TextField (I prefer that).

The other problem with the flickering on scrolling, I did not see any improvement on PC when I added the code you recommended,

for i as integer=0 to self.ControlCount-1
if self.control(i) isa BevelButton then
dim rcontrol as BevelButton = BevelButton(self.control(i))
rcontrol.DrawInto(g,rcontrol.Left-me.left,rcontrol.Top-me.top)
end if
next

is there something else that I am missing?

Thanks.

Lennox


Top
 Profile  
Reply with quote  
 Post subject: Re: DoubleBuffer/EraseBackground Help requested
PostPosted: Tue Jun 21, 2011 1:47 pm 
Offline

Joined: Mon May 31, 2010 5:35 am
Posts: 2412
Location: Netherlands
the best option would be "dont use the bevelbuttons" instead use eighter "normal pushbuttons" or "a plugin button" (like Einhugur or MBS has).

Windows + bevelbuttons + Custom scrolling = bad project

_________________
SWORT™
- Windows Vista, Windows XP, Windows 7, Linux Mint 11 and Mac OSX Lion
- REAL Studio Enterprise(latest) and WEB Edition(latest)
- Plugins (MBS Complete, ToringoLib, Einhugur, VanHoek + Some open source plugins)
For Dutch User Groups ask me to enter!


Top
 Profile  
Reply with quote  
 Post subject: Re: DoubleBuffer/EraseBackground Help requested
PostPosted: Tue Jun 21, 2011 2:47 pm 
Offline

Joined: Fri Jan 06, 2006 3:21 pm
Posts: 12388
Location: Portland, OR USA
Don't layer controls. Period. A scrolling interface is usually a sign of a bad UI design (in my opinion, of course). Take a close look at how you are organizing and presenting the data. Maybe a tab panel would be a good option.

If you find you need to scroll the controls for whatever reason, then you're either stuck with flicker on windows, or you need to get creative, by drawing everything on the canvas, or by eliminating the canvas and moving the controls in code.


Top
 Profile  
Reply with quote  
 Post subject: Re: DoubleBuffer/EraseBackground Help requested
PostPosted: Tue Jun 21, 2011 3:03 pm 
Offline

Joined: Mon Sep 22, 2008 9:01 pm
Posts: 61
lenpartico wrote:
Thanks pawn,

I am in the process of converting all those BevelButtons to TextFields, (in the real project about 200 of them), for two reasons:
1) the flickering on mouse enter/exit (on PC) and
2) The triangle to indicate a menu would not be there in the TextField (I prefer that).

The other problem with the flickering on scrolling, I did not see any improvement on PC when I added the code you recommended,

for i as integer=0 to self.ControlCount-1
if self.control(i) isa BevelButton then
dim rcontrol as BevelButton = BevelButton(self.control(i))
rcontrol.DrawInto(g,rcontrol.Left-me.left,rcontrol.Top-me.top)
end if
next

is there something else that I am missing?

Thanks.

Lennox


It worked fine for me with RealStudio 2010r1.1 in Windows 7 with Aero on and also off..


Top
 Profile  
Reply with quote  
 Post subject: Re: DoubleBuffer/EraseBackground Help requested
PostPosted: Tue Jun 21, 2011 3:04 pm 
Offline

Joined: Mon Sep 22, 2008 9:01 pm
Posts: 61
oops sorry i mean, RealStudio 2011r1.1


Top
 Profile  
Reply with quote  
 Post subject: Re: DoubleBuffer/EraseBackground Help requested
PostPosted: Fri Sep 16, 2011 11:42 am 
Offline

Joined: Fri May 08, 2009 1:42 am
Posts: 71
swort wrote:
the best option would be "dont use the bevelbuttons" instead use eighter "normal pushbuttons" or "a plugin button" (like Einhugur or MBS has).


I own both of those plugins and the buttons in them flicker as well on Windows. I wish the RS stock PushButton had a little more control in terms of hiding the focus rectangle and a few style options. It works really well, no flicker on Windows, but it is as plain as it gets.

Another option that seems to deal with the windows flicker problem well, is third party canvas-based options like Sam Rowlands Interface kit.

-Merv


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 25 posts ]  Go to page Previous  1, 2

All times are UTC - 5 hours


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group