Hi,

I haven't commit exact Glenn patch.
I have commmit this :

    case WM_SETCURSOR:
        {
            WORD nHitTest = LOWORD( lParam );
            if( nHitTest == HTCLIENT ) {  // only diddle cursor in client
areas
                LPPERLWIN32GUI_USERDATA perlud;
                perlud = (LPPERLWIN32GUI_USERDATA) GetWindowLong((HWND)
wParam, GWL_USERDATA);
                if( ValidUserData(perlud) && perlud->hCursor != NULL ) {
                    SetCursor( perlud->hCursor );
                    return TRUE;
                }
            }
        break;
        }

It's return TRUE only if window have a cursor and nHitTest == HTCLIENT.
Otherwise, i call DefWindowProc do his job.
I haven't any more cursor problem.

I think add perlcs.iEventModel = PERLWIN32GUI_EM_BYNAME; in Window create
override default Class cursor.

Can you test with only above code (or CVS code), and say me if it work for
you ?

Laurent.

----- Original Message ----- 
From: "Glenn Linderman" <[EMAIL PROTECTED]>
To: "Steve Pick" <[EMAIL PROTECTED]>
Cc: "Win32 GUI Users" <[EMAIL PROTECTED]>; "Win32
GUI Hackers" <perl-win32-gui-hackers@lists.sourceforge.net>
Sent: Friday, November 21, 2003 1:50 AM
Subject: [perl-win32-gui-users] Re: [perl-win32-gui-hackers] additional fix
for cursors


> Excellant.  I had noticed the resize cursor persisted until the mouse
> pointer got to a "real" sub object inside the main window... annoying
> but not (to me) as annoying as not having the resize cursors at all, and
> not a problem on windows that are filled with sub objects.  But this fix
> does the trick.
>
> Thanks, Steve.  I've applied it to my version, and I'll be sure to
> coordinate with Laurent to get all my fixes into the bug-fix branch.
>
>
> On approximately 11/20/2003 4:36 PM, came the following characters from
> the keyboard of Steve Pick:
> > In addition to Glenn Linderman's fix for resize cursors this should be
put
> > in (@)INTERNAL:Create(%OPTIONS) near the top:
> >
> > perlcs.hCursor = LoadCursor(NULL, IDC_ARROW);
> >
> > I've put it just below the line that reads
> > perlcs.iEventModel = PERLWIN32GUI_EM_BYNAME;
> >
> > This will stop the cursor remaining as a resize handle, hourglass etc
when
> > moved inside the window.
> >
> > Steve
>
> -- 
> Glenn -- http://nevcal.com/


Reply via email to