Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^4: Refreshing text without flicker with AddLabel using Win32::GUI

by Popcorn Dave (Abbot)
on Dec 08, 2006 at 05:13 UTC ( #588533=note: print w/replies, xml ) Need Help??


in reply to Re^3: Refreshing text without flicker with AddLabel using Win32::GUI
in thread Refreshing text without flicker with AddLabel using Win32::GUI

That's a great idea! I was thinking I could perhaps "destroy" the label and recreate it every time but that seemed a bit much to have to do. Since that label is the same size, overwriting it should be okay.

Update:

Worked like a charm!

Surprisingly enough, it doesn't seem to complain that you've got two labels in the same place, and will actually update depending on which one you choose.

use strict; use Win32::GUI; use constant COLOR => '#F4F2E8'; my ($redraw, $count); $count = 0; my $main = Win32::GUI::Window->new( -name => 'Main', -text => 'Redraw Test', -width => 200, -height => 100, -background => COLOR, -onTimer => \&redraw, ); my $arrow_font = Win32::GUI::Font->new( -name => "Wingdings", -size => 28, -bold => 1, ); $main->AddTimer( "redraw", 500 ); my $uparrow = $main->AddLabel( -text => ' ', -left => 55, -font => $arrow_font, -foreground => [255,0,0], -background => COLOR, -top => 10, ); my $dnarrow = $main->AddLabel( -text => ' ', -left => 55, -font => $arrow_font, -foreground => [0,255,0], -background => COLOR, -top => 10, ); $main->Show(); Win32::GUI::Dialog(); sub Main_Terminate { -1; } sub redraw{ $count++; if ($count%2){ $dnarrow->Text(chr(233)); } else {$uparrow->Text(chr(234));} }

The only thing that I found didn't work is to put '' in the text for the initial label. Once I changed that to ' ' all worked just fine.

Thanks again for the idea!

Revolution. Today, 3 O'Clock. Meet behind the monkey bars.
  • Comment on Re^4: Refreshing text without flicker with AddLabel using Win32::GUI
  • Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://588533]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (1)
As of 2023-06-04 00:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How often do you go to conferences?






    Results (17 votes). Check out past polls.

    Notices?