You can subscribe to this list here.
2001 |
Jan
(226) |
Feb
(139) |
Mar
(156) |
Apr
(95) |
May
(181) |
Jun
(166) |
Jul
(80) |
Aug
(59) |
Sep
(69) |
Oct
(83) |
Nov
(142) |
Dec
(33) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(42) |
Feb
(91) |
Mar
(76) |
Apr
(113) |
May
(67) |
Jun
(68) |
Jul
(37) |
Aug
(41) |
Sep
(16) |
Oct
(135) |
Nov
(51) |
Dec
(21) |
2003 |
Jan
(37) |
Feb
(36) |
Mar
(37) |
Apr
(103) |
May
(68) |
Jun
(70) |
Jul
(77) |
Aug
(12) |
Sep
(9) |
Oct
(53) |
Nov
(88) |
Dec
(63) |
2004 |
Jan
(263) |
Feb
(106) |
Mar
(36) |
Apr
(21) |
May
(21) |
Jun
(34) |
Jul
(33) |
Aug
(34) |
Sep
(35) |
Oct
(21) |
Nov
(43) |
Dec
(63) |
2005 |
Jan
(28) |
Feb
(42) |
Mar
(29) |
Apr
(14) |
May
(41) |
Jun
(20) |
Jul
(65) |
Aug
(136) |
Sep
(41) |
Oct
(74) |
Nov
(34) |
Dec
(94) |
2006 |
Jan
(85) |
Feb
(94) |
Mar
(68) |
Apr
(103) |
May
(66) |
Jun
(51) |
Jul
(24) |
Aug
(56) |
Sep
(57) |
Oct
(85) |
Nov
(73) |
Dec
(68) |
2007 |
Jan
(59) |
Feb
(32) |
Mar
(13) |
Apr
(32) |
May
(36) |
Jun
(36) |
Jul
(64) |
Aug
(35) |
Sep
(19) |
Oct
(10) |
Nov
(13) |
Dec
(20) |
2008 |
Jan
(26) |
Feb
(41) |
Mar
(19) |
Apr
(24) |
May
(16) |
Jun
(33) |
Jul
(34) |
Aug
(4) |
Sep
(11) |
Oct
|
Nov
(26) |
Dec
(23) |
2009 |
Jan
(5) |
Feb
(2) |
Mar
(21) |
Apr
(16) |
May
(13) |
Jun
(6) |
Jul
(34) |
Aug
(2) |
Sep
(1) |
Oct
(7) |
Nov
(5) |
Dec
(24) |
2010 |
Jan
(3) |
Feb
(5) |
Mar
(6) |
Apr
(6) |
May
(14) |
Jun
(6) |
Jul
(1) |
Aug
(12) |
Sep
(10) |
Oct
(9) |
Nov
|
Dec
(2) |
2011 |
Jan
(4) |
Feb
(5) |
Mar
(30) |
Apr
(1) |
May
(2) |
Jun
(5) |
Jul
(3) |
Aug
(2) |
Sep
(3) |
Oct
|
Nov
(6) |
Dec
|
2012 |
Jan
|
Feb
(10) |
Mar
|
Apr
|
May
(1) |
Jun
(3) |
Jul
(1) |
Aug
|
Sep
(2) |
Oct
|
Nov
(2) |
Dec
(4) |
2013 |
Jan
(5) |
Feb
(3) |
Mar
|
Apr
(3) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
(2) |
Feb
|
Mar
|
Apr
(1) |
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(9) |
Nov
(7) |
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(5) |
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Rogers, J. <rog...@oc...> - 2002-10-22 00:14:31
|
Johan, I tested your script with 0.0.665 on Win2k, Works as you describe, shame about the jumping though. I used to call Dialog this way, (ignorant of modal I admit) then I read methods.html in the docs which states, "note that this function must be called without ANY parameter or instantiation (eg. don't call it as method of a created object): Win32::GUI::Dialog(); # correct $Window->Dialog(); # !!!WRONG!!! " Perhaps Mr Calpini , chose to hide this feature because it still had problems ?? John R > -----Original Message----- > From: Johan Lindstrom [mailto:jo...@ba...] > Sent: Tuesday, October 22, 2002 6:51 AM > To: per...@li... > Subject: [perl-win32-gui-users] HOWTO: Modal windows > > > Aaaarggg!!! I started poking around in GUI.xs, looking for a > solution to my > double event problem, and found the mother of all > undocumented features: > > True modal dialog boxes in Win32::GUI. Well very close anyway... > > I _always_ thought this wasn't possible. Heck, I even wrote > Win32::GUI::Modalizer just to hack (and it is a sorry hack) > around that > absent feature. > > In the event that this is common knowledge and I'm the only > one who didn't > get this obvious thing, I have already prepared a big "Doh!" > for myself > :) If not, this is how to do it. > > Test the script below. > > What I found was that Win32::GUI::Dialog accepts a hwnd > parameter. So you > don't have to call it like this: > > Win32::GUI::Dialog(); > > you can also call it like this: > > $win->Dialog(); > > and then the event loop is restricted to $win, which means > other windows > don't get processed. > > There are still a few things not 100% correct with this: > > - Your windows aren't really connected to the modal window. > This is only > noticable when you switch between other applications and your > GUI program, > in that they don't get moved on top of the other application > when your > modal window gets focus again. > > - There seems to be some problem with mouse events when > clicking in the > main window, and then clicking on the title bar on your modal > window (the > modal window jumps to a new location relative to the previous > click. this > is obviously wrong). > > Apart from that it seems to work. This goes for 0.0.558. Can someone > confirm this behaviour with 0.0.665? > > > In brief: > > - Call it like $win->Dialog(); > - In the Terminate event, or a close-button Click event, > Hide() the modal > window and return -1 to break out of the main loop. The modal > window isn't > destroyed. > > - You can also make a MessageBox modal to a window like this: > $winModeless->MessageBox("Clicked the Test button", "Test"); > > > > #!/usr/local/bin/perl -w > > use strict; > use Win32::GUI; > > my $winModeless = new Win32::GUI::Window( > -left => 13, > -top => 32, > -width => 439, > -height => 260, > -name => "winModeless", > -text => "Win32::GUI::Modalizer Synopsis [1]" > ); > $winModeless->AddButton( > -text => "&Open", > -name => "btnModelessOpen", > -left => 358, > -top => 207, > -width => 70, > -height => 21, > ); > $winModeless->AddButton( > -text => "&Test", > -name => "btnModelessTest", > -left => 358, > -top => 20, > -width => 70, > -height => 21, > ); > > my $winModeless2 = new Win32::GUI::Window( > -left => 100, > -top => 100, > -width => 439, > -height => 260, > -name => "winModeless2", > -text => "Win32::GUI::Modalizer Synopsis [2]" > > ); > > my $winDialog = new Win32::GUI::DialogBox( > -left => 50, > -top => 50, > -width => 439, > -height => 260, > -name => "winDialog", > -text => "Dialog Box", > ); > $winDialog->AddButton( > -text => "&Ok", > -name => "btnDialogOk", > -left => 358, > -top => 207, > -width => 70, > -height => 21, > ); > > > $winModeless->Show(); > $winModeless2->Show(); > > > > #Go modal > Win32::GUI::Dialog(); > > > ##Event handlers > > #Modeless window > sub winModeless_Terminate { > return(-1); > } > sub btnModelessOpen_Click { > $winDialog->Show(); > $winDialog->Dialog(); > return(1); > } > sub btnModelessTest_Click { > $winModeless->MessageBox("Clicked the Test button", > "Test Button"); > return(1); > } > > #Modeless2 window > sub winModeless2_Terminate { > return(-1); > } > > #Dialog window > sub winDialog_Terminate { > $winDialog->Hide(); > return -1; > } > sub btnDialogOk_Click { > $winDialog->Hide(); > print "Ok\n"; > return(-1); > } > > __END__ > > > /J > -------- ------ ---- --- -- -- -- - - - - - > Johan Lindström Sourcerer @ Boss Casinos jo...@ba... > > Latest bookmark: "XEmacs XEmacs and Supporting Libraries and Prog..." > http://xemacs.org/Download/win32/ > dmoz: /Computers/Open_Source/Software/Editors/ 98 > > > > > ------------------------------------------------------- > This sf.net emial is sponsored by: Influence the future > of Java(TM) technology. Join the Java Community > Process(SM) (JCP(SM)) program now. > http://ad.doubleclick.net/clk;4699841;7576298;k?http://www.sun .com/javavote _______________________________________________ Perl-Win32-GUI-Users mailing list Per...@li... https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users ############################################################## Disclaimer If this e-mail has been sent to you in error, please notify Océ-Australia Limited immediately and delete this e-mail from your system. Any views expressed in this e-mail are those of the individual sender and may not necessarily reflect the views of Océ-Australia Limited. ############################################################## |
From: Johan L. <jo...@ba...> - 2002-10-21 22:50:03
|
At 22:21 2002-10-21 +0200, Johan Lindstrom wrote: >>Using 0.0.558, I call Win32::GUI::DoEvents() manually from a main loop . >>I have a popup-menu on a NotifyIcon, nothing else. >> >>This is the weird thing. When I select something in the menu, the event >>handler gets called twice. > >Ok. The same thing goes for cursor movement events within e.g. a RichEdit >or a TextField control. Pressing the right arrow to move the cursor one >step will cause it to Ok. This is as kluge if I ever saw one. But it works (I guess). This is my (simplified) idle sub, which I call as often as possible: use constant WM_APP => 0x8000; #From winuser.h (Visual Studio) use constant WM_EXITLOOP => WM_APP + 1; #From GUI.xs sub idle { my ($win) = tglApp($tglWindow); if($win->PeekMessage()) { $win->PostMessage(WM_EXITLOOP, 0, 0) for (0..1); Win32::GUI::Dialog(); } Win32::GUI::DoEvents() while($win->PeekMessage()); return(1); } So it works like this. I want to use the DoEvents for my tray icon. But I need the Dialog() call for the window, otherwise some keyboard events are doubled. So if there are messages waiting on the window, I post two WM_EXITLOOP (one isn't enough, maybe I'll post more just to be sure) to the end of the message queue. That way I can do the Dialog() call and still get back control. Then I empty the event queue with DoEvents() so it's clear for the next run, and the tray icon gets processed as well. (Hmmm... maybe I could do the same with the tray icon, that way the menu events may work as indented as well...) There's probably a good reason why I shouldn't do any of this. /J -------- ------ ---- --- -- -- -- - - - - - Johan Lindström Sourcerer @ Boss Casinos jo...@ba... Latest bookmark: "XEmacs XEmacs and Supporting Libraries and Prog..." http://xemacs.org/Download/win32/ dmoz: /Computers/Open_Source/Software/Editors/ 98 |
From: Morbus I. <mo...@di...> - 2002-10-21 22:37:57
|
This is the last gui bug I've got on my list: - I've got a single window. - It's got a RichEdit and a Bitmap. - When someone mouses into the RichEdit, the cursor changes to i-beam. - When someone moves OUT of the RichEdit, the cursor REMAINS an i-beam. - When someone mouses to the scrollbar of the RichEdit, the cursor changes to the arrow. What I'd like to see happen is: - immediately after the mouse leaves the RichEdit (either to go to a menu, or hover over the bitmap image, etc.), it returns to the normal Arrow cursor. it's not doing that now. Any ideas? The latest code I'm using is here: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/amphetadesk/AmphetaDesk/ lib/AmphetaDesk/OS/Windows.pm?rev=1.10&content-type=text/vnd.viewcvs-markup -- Morbus Iff ( *splutch* ... /me respawns ) Culture: http://www.disobey.com/ and http://www.gamegrene.com/ Tech: http://www.oreillynet.com/pub/au/779 - articles and weblog icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus |
From: Morbus I. <mo...@di...> - 2002-10-21 21:48:35
|
>Per the docs, DblClick event is not available on the NotifyIcon. However, >you can: sub NI_MouseEvent with a NotifyIcon named NI and catch them all >yourself. However, click events will be fired twice before the doubleclick This worked perfectly, thanks! -- Morbus Iff ( i'm the droid you're looking for ) Culture: http://www.disobey.com/ and http://www.gamegrene.com/ Please Me: http://www.amazon.com/exec/obidos/wishlist/25USVJDH68554 icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus |
From: Johan L. <jo...@ba...> - 2002-10-21 21:37:05
|
At 19:11 2002-10-20 -0400, Morbus Iff wrote: > - the window stays minimized - how do I spring it > open to a Maximized state? I use both ->Enable > and ->Show, but still it's minimized. If I understand your problem correctly: Show([COMMAND]) Shows a window (or change its showing state to COMMAND); available COMMANDs are: SW_HIDE SW_MAXIMIZE SW_MINIMIZE SW_RESTORE SW_SHOW SW_SHOWDEFAULT SW_SHOWMAXIMIZED SW_SHOWMINIMIZED SW_SHOWMINNOACTIVE SW_SHOWNA SW_SHOWNOACTIVATE SW_SHOWNORMAL The default COMMAND, if none specified, is SW_SHOWNORMAL /J -------- ------ ---- --- -- -- -- - - - - - Johan Lindström Sourcerer @ Boss Casinos jo...@ba... Latest bookmark: "XEmacs XEmacs and Supporting Libraries and Prog..." http://xemacs.org/Download/win32/ dmoz: /Computers/Open_Source/Software/Editors/ 98 |
From: Frazier, J. J. <Joe...@Pe...> - 2002-10-21 21:28:13
|
Per the docs, DblClick event is not available on the NotifyIcon. = However, you can: sub NI_MouseEvent { my $a =3D shift; my %events =3D ( 512 =3D> 'Mouse Move', 514 =3D> 'Left Click', 515 =3D> 'Left DoubleClick', 517 =3D> 'Right Click', 518 =3D> 'Right DoubleClick', 519 =3D> 'Middle Down', 520 =3D> 'Middle Up', ); if ($a !=3D 512) { if (exists ($events{$a})) { print "Event :" ,$events{$a}, "\n"; } else { print $a,"\n"; } } } with a NotifyIcon named NI and catch them all yourself. However, click = events will be fired twice before the doubleclick event is fired. Joe Frazier, Jr. Technical Support Engineer Peopleclick Service Support Tel: +1-800-841-2365 E-Mail: mailto:su...@pe... > -----Original Message----- > From: Morbus Iff [mailto:mo...@di...] > Sent: Monday, October 21, 2002 4:02 PM > To: per...@li... > Subject: [perl-win32-gui-users] Systray Double Clicks Not Working? >=20 >=20 >=20 > How come this will work: >=20 > sub _Systray_Click { > $window->Enable; > $window->Show; > } >=20 > but this won't: >=20 > sub _Systray_DblClick { > $window->Enable; > $window->Show; > } >=20 > I'd like to follow Win32 standards by only maximizing the window when > a double click has been passed, but I'm not able to make that happen. > Do I need to start counting single-clicks? ;) >=20 >=20 > --=20 > Morbus Iff ( i'm the droid you're looking for ) > Culture: http://www.disobey.com/ and http://www.gamegrene.com/ > Please Me: http://www.amazon.com/exec/obidos/wishlist/25USVJDH68554 > icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus >=20 >=20 >=20 > ------------------------------------------------------- > This sf.net emial is sponsored by: Influence the future=20 > of Java(TM) technology. Join the Java Community=20 > Process(SM) (JCP(SM)) program now.=20 > http://ad.doubleclick.net/clk;4699841;7576298;k?http://www.sun > .com/javavote > _______________________________________________ > Perl-Win32-GUI-Users mailing list > Per...@li... > https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users >=20 |
From: Johan L. <jo...@ba...> - 2002-10-21 20:49:28
|
Aaaarggg!!! I started poking around in GUI.xs, looking for a solution to my double event problem, and found the mother of all undocumented features: True modal dialog boxes in Win32::GUI. Well very close anyway... I _always_ thought this wasn't possible. Heck, I even wrote Win32::GUI::Modalizer just to hack (and it is a sorry hack) around that absent feature. In the event that this is common knowledge and I'm the only one who didn't get this obvious thing, I have already prepared a big "Doh!" for myself :) If not, this is how to do it. Test the script below. What I found was that Win32::GUI::Dialog accepts a hwnd parameter. So you don't have to call it like this: Win32::GUI::Dialog(); you can also call it like this: $win->Dialog(); and then the event loop is restricted to $win, which means other windows don't get processed. There are still a few things not 100% correct with this: - Your windows aren't really connected to the modal window. This is only noticable when you switch between other applications and your GUI program, in that they don't get moved on top of the other application when your modal window gets focus again. - There seems to be some problem with mouse events when clicking in the main window, and then clicking on the title bar on your modal window (the modal window jumps to a new location relative to the previous click. this is obviously wrong). Apart from that it seems to work. This goes for 0.0.558. Can someone confirm this behaviour with 0.0.665? In brief: - Call it like $win->Dialog(); - In the Terminate event, or a close-button Click event, Hide() the modal window and return -1 to break out of the main loop. The modal window isn't destroyed. - You can also make a MessageBox modal to a window like this: $winModeless->MessageBox("Clicked the Test button", "Test"); #!/usr/local/bin/perl -w use strict; use Win32::GUI; my $winModeless = new Win32::GUI::Window( -left => 13, -top => 32, -width => 439, -height => 260, -name => "winModeless", -text => "Win32::GUI::Modalizer Synopsis [1]" ); $winModeless->AddButton( -text => "&Open", -name => "btnModelessOpen", -left => 358, -top => 207, -width => 70, -height => 21, ); $winModeless->AddButton( -text => "&Test", -name => "btnModelessTest", -left => 358, -top => 20, -width => 70, -height => 21, ); my $winModeless2 = new Win32::GUI::Window( -left => 100, -top => 100, -width => 439, -height => 260, -name => "winModeless2", -text => "Win32::GUI::Modalizer Synopsis [2]" ); my $winDialog = new Win32::GUI::DialogBox( -left => 50, -top => 50, -width => 439, -height => 260, -name => "winDialog", -text => "Dialog Box", ); $winDialog->AddButton( -text => "&Ok", -name => "btnDialogOk", -left => 358, -top => 207, -width => 70, -height => 21, ); $winModeless->Show(); $winModeless2->Show(); #Go modal Win32::GUI::Dialog(); ##Event handlers #Modeless window sub winModeless_Terminate { return(-1); } sub btnModelessOpen_Click { $winDialog->Show(); $winDialog->Dialog(); return(1); } sub btnModelessTest_Click { $winModeless->MessageBox("Clicked the Test button", "Test Button"); return(1); } #Modeless2 window sub winModeless2_Terminate { return(-1); } #Dialog window sub winDialog_Terminate { $winDialog->Hide(); return -1; } sub btnDialogOk_Click { $winDialog->Hide(); print "Ok\n"; return(-1); } __END__ /J -------- ------ ---- --- -- -- -- - - - - - Johan Lindström Sourcerer @ Boss Casinos jo...@ba... Latest bookmark: "XEmacs XEmacs and Supporting Libraries and Prog..." http://xemacs.org/Download/win32/ dmoz: /Computers/Open_Source/Software/Editors/ 98 |
From: Johan L. <jo...@ba...> - 2002-10-21 20:20:24
|
At 22:23 2002-10-17 +0200, Johan Lindstrom wrote: >Using 0.0.558, I call Win32::GUI::DoEvents() manually from a main loop . I >have a popup-menu on a NotifyIcon, nothing else. > >This is the weird thing. When I select something in the menu, the event >handler gets called twice. Ok. The same thing goes for cursor movement events within e.g. a RichEdit or a TextField control. Pressing the right arrow to move the cursor one step will cause it to go two steps. Pressing the down arrow to move down one row will jump two rows down. Pressing e.g. Tab to move to the next control works fine. This is isolated to DoEvents. Using Win32::GUI::Dialog(), everything works fine. Even the tightest possible DoEvents loop: Win32::GUI::DoEvents() while(1); will cause this problem, so it's not that I have too much time away from the GUI. Win32::GUI 0.0.558. /J -------- ------ ---- --- -- -- -- - - - - - Johan Lindström Sourcerer @ Boss Casinos jo...@ba... Latest bookmark: "XEmacs XEmacs and Supporting Libraries and Prog..." http://xemacs.org/Download/win32/ dmoz: /Computers/Open_Source/Software/Editors/ 98 |
From: Morbus I. <mo...@di...> - 2002-10-21 20:01:56
|
How come this will work: sub _Systray_Click { $window->Enable; $window->Show; } but this won't: sub _Systray_DblClick { $window->Enable; $window->Show; } I'd like to follow Win32 standards by only maximizing the window when a double click has been passed, but I'm not able to make that happen. Do I need to start counting single-clicks? ;) -- Morbus Iff ( i'm the droid you're looking for ) Culture: http://www.disobey.com/ and http://www.gamegrene.com/ Please Me: http://www.amazon.com/exec/obidos/wishlist/25USVJDH68554 icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus |
From: Eric H. <eri...@ch...> - 2002-10-21 13:58:51
|
How can you set the datetime control to only allow user to pick a valid date from graphic calendar. As it is, the user has a choice to enter their own date or pick a date. I know the DateTime control is not a combobox or else I could add property -style => WS_VISIBLE | 3 | WS_VSCROLL | WS_TABSTOP to make it prevent the user from keying their own value. Eric |
From: Luigino M. <lma...@ou...> - 2002-10-21 05:29:18
|
Hi, I'm using this code with success: $window->AddNotifyIcon( -name =3D> "notifyIcon", -id =3D> 1, -icon =3D> $Icon, -tip =3D> 'My application...' ); to create the icon and: Win32::GUI::NotifyIcon::Delete( $window, -id =3D> 1, ); placed after Win32::GUI::Dialog(), to remove the notifyicon ... I think it's an undocumented feature I found somewhere in this list. Bye. Luigino Masarati OutSys snc ----- Original Message ----- From: "Johan Lindstrom" <jo...@ba...> To: <per...@li...> Sent: Monday, October 21, 2002 12:31 AM Subject: [perl-win32-gui-users] NotifyIcon doesn't go away on program exi= t > I forget. Did we solve the problem where the tray icon stayed there a > little while after program exit? > > My best solution now is to replace it with an invisible icon, like this= : > > Win32::GUI::NotifyIcon::Modify( > $win, > -id =3D> 1, > -icon =3D> undef, > ); > > This leaves an empty space where the icon was (still is, but non-visibl= e), > which is removed when the user moves the mouse cursor over the tray (th= is > goes for w2k). > > > /J > -------- ------ ---- --- -- -- -- - - - - - > Johan Lindstr=F6m Sourcerer @ Boss Casinos jo...@ba... > > Latest bookmark: "XEmacs XEmacs and Supporting Libraries and Prog..." > http://xemacs.org/Download/win32/ > dmoz: /Computers/Open_Source/Software/Editors/ 98 > > > > > ------------------------------------------------------- > This sf.net email is sponsored by: > Access Your PC Securely with GoToMyPC. Try Free Now > https://www.gotomypc.com/s/OSND/DD > _______________________________________________ > Perl-Win32-GUI-Users mailing list > Per...@li... > https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users > |
From: Morbus I. <mo...@di...> - 2002-10-20 23:11:01
|
At 12:31 AM +0200 10/21/02, Johan Lindstrom wrote: >I forget. Did we solve the problem where the tray >icon stayed there a little while after program exit? See the AmphetaDesk Windows.pm: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/amphetadesk/AmphetaDesk/ lib/AmphetaDesk/OS/Windows.pm?rev=1.7&content-type=text/vnd.viewcvs-markup Specifically, the exit code and _Remove_Systray_Icon. With that being two of my answers to two questions of yours in two weeks, perhaps you could reciprocate one of my own, hMmMm ;) ... - Currently, when someone clicks on my Systray Icon, the main AmphetaDesk window merely shows up in the tray, minimized - it doesn't show up maximized (see _Systray_Click). I've yet to try out any solutions, but I'd: - like to follow Window standards, and make this a double click, not a single click. Is this a simple change to _Systray_DoubleClick, or something else? - the window stays minimized - how do I spring it open to a Maximized state? I use both ->Enable and ->Show, but still it's minimized. Thoughts? -- Morbus Iff ( i'm the droid you're looking for ) Culture: http://www.disobey.com/ and http://www.gamegrene.com/ Tech: http://www.oreillynet.com/pub/au/779 - articles and weblog icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus |
From: Johan L. <jo...@ba...> - 2002-10-20 22:36:34
|
I forget. Did we solve the problem where the tray icon stayed there a little while after program exit? My best solution now is to replace it with an invisible icon, like this: Win32::GUI::NotifyIcon::Modify( $win, -id => 1, -icon => undef, ); This leaves an empty space where the icon was (still is, but non-visible), which is removed when the user moves the mouse cursor over the tray (this goes for w2k). /J -------- ------ ---- --- -- -- -- - - - - - Johan Lindström Sourcerer @ Boss Casinos jo...@ba... Latest bookmark: "XEmacs XEmacs and Supporting Libraries and Prog..." http://xemacs.org/Download/win32/ dmoz: /Computers/Open_Source/Software/Editors/ 98 |
From: Michael A. <mi...@fl...> - 2002-10-18 22:08:52
|
Something like this should do the trick: my $req = new HTTP::Request GET => $url; my $res = $ua->request($req, sub {Win32::GUI::DoEvents();}, 1024); That will make your request and update the window every 1024 bytes read from the response. That particular snippet obviously does nothing with the response but you can do quite a bit of useful things here. This worked really well with the download application I am trying to make. The only hang-up is that if your request times out or blocks for any number of other reasons (DNS failures don't return within the UserAgent timeout, they can take up to a minute to resolve) the screen will freeze until you get the error response code. Check out LWP's documentation for more details there's some useful variables and methods you can use within the sub if I remember correctly. Michael > > Do you have a code example how to call LWP with the callback > function? > > Thanks a lot, > Felix Gaehler |
From: Michael A. <mi...@fl...> - 2002-10-18 15:04:45
|
Hello again, Thanks for the help with forking and the ideas for using DoEvents() as a replacement for forking. It seems I will have to go with that route. The latest problem I have encountered has to do with ListView checkboxes. I searched the mailing list archives and saw that in version .665 Aldo said: "- ListView checkboxes can now be managed with the ItemCheck() method; there's also a new ItemCheck event for ListViews that gets fired when you toggle an item's checkbox." I understand how to get the current state of each checkbox but it is not clear to me how to change the states of checkboxes individually. Another archived post that I found gave a possible solution for checking all of the checkboxes in a ListView as such: my $SendMsg = new Win32::API("user32", "SendMessage", "NNNP", "N"); use constant LVIF_STATE => 0x8; use constant LVM_SETITEMSTATE => 0x102B; use constant LVIS_STATEIMAGEMASK => 0xF000; my $lpPoint = pack("LLLLLALLLL", LVIF_STATE, 0, 0, 0x2000,LVIS_STATEIMAGEMASK, " ", 127, 0, 0, 0); my $rtn = $SendMsg->Call($ListView->{'-handle'}, LVM_SETITEMSTATE, -1, $lpPoint); Does anyone know how to change the state of an individual ListView checkbox via the ItemCheck() method? Also, I hate to keep asking these basic questions. Is there a better source of documentation somewhere than the pod files that come with the distributions? If not maybe we should organize a centralized FAQ system of some kind? Thanks, Michael |
From: Luigino M. <lma...@ou...> - 2002-10-18 12:04:40
|
I don't know why but to fix it you should do: $AnimateWindow->Call($window->{-handle}, $msec, AW_ACTIVATE | AW_CENTER); $window->InvalidateRect(0); Bye. Luigino Masarati OutSys snc ----- Original Message ----- From: "Brewster Rob-RBREWST1" <Rob...@mo...> To: "'Luigino Masarati'" <lma...@ou...>; <per...@li...> Sent: Friday, October 18, 2002 12:46 PM Subject: RE: [perl-win32-gui-users] Animated windows > I've been using this code with great success on Windows2000. (Really adds a > professional touch to the GUI!). > > Now I've added a menu button to my window I get a greyed out background on > my TextField boxes. I've tried to update the box's colour but only seem to > be able to update the background of the actual text not the whole box. Any > ideas? > > Rob Brewster. > > > > # Menu options for GUI > #======================================= > $menu = Win32::GUI::MakeMenu( > "&Help" => "Help", > " > -" => 0, > " > E&xit" => "Exit", > ); > > #=========================================================================== > ==== > # Creates the objects and labels for the GUI window 1 > # > #=========================================================================== > ==== > sub create_window1 { > # Create window > $window = new Win32::GUI::Window(-menu => $menu, > -title => "Test", > -pos => [ 100, 100 ], > -size => [ 500, 400 ], > -minsize => [ 500, 400], > -name => "Window", > ); > > $number= $window->AddTextfield (-text => "(Enter No.)", > -name => "Number", > -left => 145, > -top => 40, > -height => 20, > -width => 100, > ); > > } > > > sub Window_Terminate { > return -1; > } > > # Main function > #=============================== > create_window1(); > > $msec = 200; > $AnimateWindow->Call($window->{-handle}, $msec, AW_ACTIVATE | AW_CENTER); > > Win32::GUI::Dialog(); |
From: Brewster Rob-R. <Rob...@mo...> - 2002-10-18 10:46:35
|
I've been using this code with great success on Windows2000. (Really adds a professional touch to the GUI!). Now I've added a menu button to my window I get a greyed out background on my TextField boxes. I've tried to update the box's colour but only seem to be able to update the background of the actual text not the whole box. Any ideas? Rob Brewster. # Menu options for GUI #======================================= $menu = Win32::GUI::MakeMenu( "&Help" => "Help", " > -" => 0, " > E&xit" => "Exit", ); #=========================================================================== ==== # Creates the objects and labels for the GUI window 1 # #=========================================================================== ==== sub create_window1 { # Create window $window = new Win32::GUI::Window(-menu => $menu, -title => "Test", -pos => [ 100, 100 ], -size => [ 500, 400 ], -minsize => [ 500, 400], -name => "Window", ); $number= $window->AddTextfield (-text => "(Enter No.)", -name => "Number", -left => 145, -top => 40, -height => 20, -width => 100, ); } sub Window_Terminate { return -1; } # Main function #=============================== create_window1(); $msec = 200; $AnimateWindow->Call($window->{-handle}, $msec, AW_ACTIVATE | AW_CENTER); Win32::GUI::Dialog(); -----Original Message----- From: Luigino Masarati [mailto:lma...@ou...] Sent: 03 October 2002 13:18 To: per...@li... Subject: [perl-win32-gui-users] Animated windows Hi, I searched in this mailing list how to create animated windows like start menu in W2K/XP (see Win32 SDK - Layered Windows http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui /windowsuserinterface/windowing/windows/windowreference/windowfunctions/anim atewindow.asp) and found nothing about it, so i searched on MSDN and found the API code and tried until i got it. Note that this functionality is fully supported by Windows 98/2000/XP only. Here is the code, hope it will be useful to someone else... #----------------------------- # use Win32::GUI etc... use Win32; use Win32::API; use constant AW_HOR_POSITIVE => 0x00000001; use constant AW_HOR_NEGATIVE => 0x00000002; use constant AW_VER_POSITIVE => 0x00000004; use constant AW_VER_NEGATIVE => 0x00000008; use constant AW_CENTER => 0x00000010; use constant AW_HIDE => 0x00010000; use constant AW_ACTIVATE => 0x00020000; use constant AW_SLIDE => 0x00040000; use constant AW_BLEND => 0x00080000; # BOOL AnimateWindow( # HWND hwnd, # DWORD dwTime, # DWORD dwFlags # ); my $AnimateWindow = new Win32::API("user32", "AnimateWindow", [ 'N', 'N', 'N' ], 'N') or $reg{'UI'}{'Fading'} = 0; # ... here create your window object ($winObj) as ususal... # set animation duration in ms (usually 200ms) my $msec = 200; # FADE IN # use this command in place of $objWin->Show() $AnimateWindow->Call($winObj->{-handle}, $msec, AW_ACTIVATE | AW_BLEND ); # FADE OUT # use this command in place of $objWin->Hide() for example in winObj_Terminate() $AnimateWindow->Call($winObj->{-handle}, $msec, AW_HIDE | AW_BLEND ); # Some alternatives follows... # APPEAR from LEFT-TOP # use this command in place of $objWin->Show() # $AnimateWindow->Call($winObj->{-handle}, $msec, AW_ACTIVATE | AW_SLIDE | AW_HOR_POSITIVE | AW_VER_POSITIVE ); # DISAPPEAR from RIGHT-BOTTOM # use this command in place of $objWin->Hide() for example in winObj_Terminate() # $AnimateWindow->Call($winObj->{-handle}, $msec, AW_HIDE | AW_SLIDE | AW_HOR_NEGATIVE | AW_VER_NEGATIVE ); # GROW from CENTER # use this command in place of $objWin->Show() # $AnimateWindow->Call($winObj->{-handle}, $msec, AW_ACTIVATE | AW_CENTER ); # SHRINK to CENTER # use this command in place of $objWin->Hide() for example in winObj_Terminate() # $AnimateWindow->Call($winObj->{-handle}, $msec, AW_HIDE | AW_CENTER ); #----------------------------- Bye. Luigino Masarati OutSys snc. |
From: Ismail M. <im...@pe...> - 2002-10-18 00:47:29
|
Hi all, new to win32::gui.=20 Working with treeview, and can't seem to get the "Select" method to work = the way I think it should.=20 In my ....NodeClick sub, I am doing Select to select a node on the tree, = and right after that I am looking at the SelectedItem and it shows '0' = for the handle. Any Ideas, what am I doing wrong. Iso |
From: <ma...@mm...> - 2002-10-17 22:51:56
|
i was under the impression that forking didn't work at all under windows.....some problem with svtypes(? ). perl 5.8.0 threads and win32::gui seem to work wonderfully tho. = =20 Johan Lindstrom <jo...@ba...> = =20 Sent by: To: = =20 per...@li...urc <perl= -wi...@li...> =20 eforge.net cc: = =20 Subje= ct: Re: [perl-win32-gui-users] LWP + =20 Fork = + Win32::GUI =20 18/10/02 02:03 AM = =20 = =20 = =20 At 10:37 2002-10-17 -0400, Michael Alaly wrote: >off-list I would apprecaite it. I am new to Win32::GUI and forking and= am >trying to do something very similar to what it looked like you were tr= ying >to do. I am attempting to take a list of links from a ListView and sen= d them >each to a child for download. I am running into lots of problems with = fork >and page faults that I can't seem to solve. fork under Win32 is emulated using IThreads (the only use of IThreads i= n 5.6.1). They seem to work fine using pure Perl, but XS code is more difficult (Win32::GUI is XS, and it also allocates Windows resources). = Any solution with fork + Perl 5.6.1 should be considered unstable unless te= sted a _lot_. And I still woulnd't trust it :) IThreads in Perl 5.8 is supposed to be a lot better. So when ActiveStat= e releases a 5.8 distro, maybe we can make use for it. I think one of the new things is that variables aren't shared between threads unless you say so. And that, I hope, may solve the entire probl= em with non-reentrant XS code and such. That would be _real_ nice! /J -------- ------ ---- --- -- -- -- - - - - - Johan Lindstr=F6m Sourcerer @ Boss Casinos jo...@ba... Latest bookmark: "Perl memory management - Jan Dubois - Re lookin..." http://aspn.activestate.com/ASPN/Mail/Message/895049 dmoz (1 of 8): /Computers/Programming/Languages/Ruby/ 33 ------------------------------------------------------- This sf.net email is sponsored by: viaVerio will pay you up to $1,000 for every account that you consolidate with us. http://ad.doubleclick.net/clk;4749864;7604308;v? http://www.viaverio.com/consolidator/osdn.cfm _______________________________________________ Perl-Win32-GUI-Users mailing list Per...@li... https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users = |
From: Johan L. <jo...@ba...> - 2002-10-17 22:50:09
|
At 09:02 2002-10-16 -0700, Rodriguez, Peter wrote: >I do not have a 'C' compiler on the NT machine I need to run perl on. I >downloaded the NT executables for 5.8 from cpan. Is there a similar >distribution for the GUI interface? Not for 5.8. ActiveState haven't released a Perl 5.8 yet, and the precompiled PPMs are for Perl 5.6. Get Perl 5.6.1 from www.activestate.com, then type C:\>ppm install Win32::GUI /J -------- ------ ---- --- -- -- -- - - - - - Johan Lindström Sourcerer @ Boss Casinos jo...@ba... Latest bookmark: "Atari Icon Library" http://aicq.atari-users.net/iconz/ dmoz (1 of 2): ...Computers/Software/Desktop_Customization/Icons/ 137 |
From: Johan L. <jo...@ba...> - 2002-10-17 22:45:28
|
At 15:24 2002-10-16 -0400, Magnone, Angelo wrote: >Has anyone had any success with creating a toolbar using The GUI LOFT and >then act upon the different >buttons clicked? How can I tell which button has been clicked? I have never used it myself, I basically positon ordinary buttons so they look like like a toolbar. But this is what the docs say about the Toolbar events: ButtonClick(INDEX) Sent when the user presses a button of the Toolbar the INDEX argument identifies the zero-based index of the pressed button So if your toolbar is called tbrTop, this is your event handler: sub tbrTop_ButtonClick { my ($index) = @_; print "User clicked button ($index)\n"; return(1); } /J -------- ------ ---- --- -- -- -- - - - - - Johan Lindström Sourcerer @ Boss Casinos jo...@ba... Latest bookmark: "Atari Icon Library" http://aicq.atari-users.net/iconz/ dmoz (1 of 2): ...Computers/Software/Desktop_Customization/Icons/ 137 |
From: Johan L. <jo...@ba...> - 2002-10-17 22:38:47
|
At 00:25 2002-10-18 +0200, Johan Lindstrom wrote: sub ::mnu_tray_config_open_Click { > return(1) if(!$workaround_handler_semaphore++); Hrmm... Thinko. Remove the ! for a more solid solution :/ /J -------- ------ ---- --- -- -- -- - - - - - Johan Lindström Sourcerer @ Boss Casinos jo...@ba... Latest bookmark: "Atari Icon Library" http://aicq.atari-users.net/iconz/ dmoz (1 of 2): ...Computers/Software/Desktop_Customization/Icons/ 137 |
From: Johan L. <jo...@ba...> - 2002-10-17 22:26:56
|
At 16:51 2002-10-17 -0400, Morbus Iff wrote: > >Using 0.0.558, I call Win32::GUI::DoEvents() manually from a main loop . I > >I've noticed it as well. I just check to see if I've $already_called: > > http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/amphetadesk/AmphetaDesk/ > lib/AmphetaDesk/OS/Windows.pm?rev=1.7&content-type=text/vnd.viewcvs-markup Great, thanks! It's too bad it's needed but it works, so long as the two events come sufficiently close to each other so the sub doesn't have time to exit. sub ::mnu_tray_config_open_Click { return(1) if(!$workaround_handler_semaphore++); system("start $program_editor $file_user_prefs"); $workaround_handler_semaphore = 0; return(1); } /J -------- ------ ---- --- -- -- -- - - - - - Johan Lindström Sourcerer @ Boss Casinos jo...@ba... Latest bookmark: "Atari Icon Library" http://aicq.atari-users.net/iconz/ dmoz (1 of 2): ...Computers/Software/Desktop_Customization/Icons/ 137 |
From: Morbus I. <mo...@di...> - 2002-10-17 20:51:55
|
>Using 0.0.558, I call Win32::GUI::DoEvents() manually from a main loop . I I've noticed it as well. I just check to see if I've $already_called: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/amphetadesk/AmphetaDesk/ lib/AmphetaDesk/OS/Windows.pm?rev=1.7&content-type=text/vnd.viewcvs-markup -- Morbus Iff ( i'm the droid you're looking for ) Culture: http://www.disobey.com/ and http://www.gamegrene.com/ Please Me: http://www.amazon.com/exec/obidos/wishlist/25USVJDH68554 icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus |
From: Johan L. <jo...@ba...> - 2002-10-17 20:24:35
|
Weird effect. Using 0.0.558, I call Win32::GUI::DoEvents() manually from a main loop . I have a popup-menu on a NotifyIcon, nothing else. This is the weird thing. When I select something in the menu, the event handler gets called twice. The main loop is basically: IO::Select->select($readable, $writeable, undef, 0.1); DoEvents(); * I tried to lower the timeout value to 0.05, same thing. * Can I discard the remaining event queue if nothing else works? * Replace my DoEvents-loop with Win32::GUI::Dialog() and it works fine. Any ideas? /J -------- ------ ---- --- -- -- -- - - - - - Johan Lindström Sourcerer @ Boss Casinos jo...@ba... Latest bookmark: "Perl memory management - Jan Dubois - Re lookin..." http://aspn.activestate.com/ASPN/Mail/Message/895049 dmoz (1 of 8): /Computers/Programming/Languages/Ruby/ 33 |