Hi,

Try the following:

use strict;
use warnings;
use Win32::GUI (qw {WS_CAPTION WS_SIZEBOX WS_CHILD WS_CLIPCHILDREN 
WS_EX_CLIENTEDGE});

my $W = new Win32::GUI::Window(
-name => "W",
-title => "mouse click tracking",
-left => 54,
-top => 77,
-width => 546,
-height => 318,
);
my $textfield = $W->AddTextfield(
-text => "",
-name => "Textfield_1",
-left => 401,
-top => 9,
-width => 129,
-height => 249,
-multiline => 1,
-vscroll => 1,
);

my   $childwindow = new Win32::GUI::Window (
      -parent      => $W,
      -name        => 'bitmap window',
        -left => 4,
        -top => 4,
        -width => 270,
        -height => 232,
      -popstyle    => WS_CAPTION | WS_SIZEBOX,
      -pushstyle   => WS_CHILD | WS_CLIPCHILDREN,
      -pushexstyle => WS_EX_CLIENTEDGE,
        #-hscroll     => 1,
      #-onScroll    => \&Generic_Scroll,
        -onMouseMove => \&Generic_MouseMove,
        -onPaint     => \&Generic_Paint,
        -onMouseDown => \&Generic_MouseDown,
   ); 
 
 $childwindow->Show; 
 

sub Generic_MouseMove {
  my ($win,$xcor,$ycor)[EMAIL PROTECTED];
  print "MouseMove $win,$xcor,$ycor\n";
}

sub Generic_Paint {
  my $win=shift;  
  print "Paint $win\n";
}

sub Generic_MouseDown {
  my ($win,$xcor,$ycor)[EMAIL PROTECTED];  
  print "MouseDown $win,$xcor,$ycor\n";
  $textfield -> Append( "$xcor - $ycor \n")
}


$W->Show();
Win32::GUI::Dialog();

exit(0);

sub Window_Terminate {
return -1;
}


> From: [EMAIL PROTECTED]
> To: perl-win32-gui-users@lists.sourceforge.net
> Date: Fri, 21 Nov 2008 13:08:47 -0800
> Subject: Re: [perl-win32-gui-users] bitmap - getting mouse clicks and mouse   
> location
> 
> 
> To get the absolute X and Y coordinates, would you have to subtract the
> position of the child (label) from the position of the parent (main window)?
> 
> pc
> 
> 
> -----Original Message-----
> From: zak3 [mailto:[EMAIL PROTECTED] 
> Sent: Friday, November 21, 2008 2:21 AM
> To: perl-win32-gui-users@lists.sourceforge.net
> Subject: Re: [perl-win32-gui-users] bitmap - getting mouse clicks and mouse
> location
> 
> 
> 
> i have experemented using as a guide the message:
> http://www.mail-archive.com/perl-win32-gui-users@lists.sourceforge.net/msg03
> 025.html
> 
> here is a main form and a Label, when you click on the Label, the textfield
> control will show the coordinates of mouse cursor , it seems to me that
> those coordinated are relative to the screen, you may adapt the code to
> display the coordinates relative to the form or relative to the label, or a
> graphic control.
> 
> use strict;
> use warnings;
> use Win32::GUI();
>  
>  my $W = new Win32::GUI::Window(
>  -name => "W",
>  -title => "mouse click tracking",
>  -left => 54,
>  -top => 77,
>  -width => 546,
>  -height => 318,
>  );
>  my $textfield = $W->AddTextfield(
>        -text    => "",
>        -name    => "Textfield_1",
>        -left    => 401,
>        -top     => 9,
>        -width   => 129,
>        -height  => 249,
>        -multiline    => 1,
>        -vscroll    => 1,
>       );
>       
>  $W->AddLabel(
>        -text    => "zz",
>        -name    => "Label_2",
>        -left    => 0,
>        -top     => 0,
>        -width   => 270,
>        -height  => 232,
>        -foreground    => 0,
>        -background    => 12615935,
>        -notify => 1,
>        -onMouseDown  => sub { my($mx, $my) =
> Win32::GUI::GetCursorPos();$textfield -> Append( "$mx - $my \n");},
>       );
>       
>  
>       
>  $W->Show();
>  Win32::GUI::Dialog();
>  
>  exit(0);
>  
>  sub Window_Terminate {
>  return -1;
>  }
>  
> 
> 
> 
> iaagaiow wrote:
> > 
> > Hello,
> > 
> > I'm developing an app which will display a bitmap.? I want to be able to
> > detect mouse clicks on the bitmap and get the mouse cursor location when
> > clicks are detected.
> > 
> > Displaying the bitmap is easy - there are demos that show that.? I have
> > been trying to modify the demos to detect clicks and get the mouse cursor
> > location, but nothing has worked yet.? Have been going thru doc/demos/etc,
> > and will keep doing so, but if you happen to have experience with this
> > topic, please send me any pointers you can.
> > 
> > I have tried using GetCursorPos, but thus far seem to be getting undefined
> > return values.? As for the mouse click, tried setting up -onClick option
> > but this seems to be ignored.
> > 
> > Thanks for your time!
> > 
> > Regards,
> > 
> > LP
> > 
> > -------------------------------------------------------------------------
> > This SF.Net email is sponsored by the Moblin Your Move Developer's
> > challenge
> > Build the coolest Linux based applications with Moblin SDK & win great
> > prizes
> > Grand prize is a trip for two to an Open Source event anywhere in the
> > world
> > http://moblin-contest.org/redirect.php?banner_id=100&url=/
> > _______________________________________________
> > Perl-Win32-GUI-Users mailing list
> > Perl-Win32-GUI-Users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
> > http://perl-win32-gui.sourceforge.net/
> > 
> 
> -- 
> View this message in context:
> http://www.nabble.com/bitmap---getting-mouse-clicks-and-mouse-location-tp205
> 49181p20618513.html
> Sent from the perl-win32-gui-users mailing list archive at Nabble.com.
> 
> 
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Perl-Win32-GUI-Users mailing list
> Perl-Win32-GUI-Users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
> http://perl-win32-gui.sourceforge.net/
> 
> 
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Perl-Win32-GUI-Users mailing list
> Perl-Win32-GUI-Users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
> http://perl-win32-gui.sourceforge.net/

_________________________________________________________________
See the most popular videos on the web 
http://clk.atdmt.com/GBL/go/115454061/direct/01/
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Perl-Win32-GUI-Users mailing list
Perl-Win32-GUI-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
http://perl-win32-gui.sourceforge.net/

Reply via email to