Jeremy White wrote:
I would have through that if a control was using NEM events, the OEM logic wouldn't be called for that control.

That certainly should be the case. Unless you use the -eventmodel => 'both' option on the control, only one of PERLWIN32GUI_OEM and PERLWIN32GUI_NEN flags should be set for the control in perlud->dwPlstyle.

For example, a button has a NEM click handler, I wouldn't expect DoEvent to look for OEM events such as MouseMove for the same button - but it does. If this is correct, it would mean that to save doing a perl_get_cv call (which is really inefficient) you would have to define all possible events for all controls?

Add this line:

  printf("EventName %s \n",EventName);

After:

       // OEM name event
       char EventName[MAX_EVENT_NAME];
       strcpy(EventName, "main::");
       strcat(EventName, perlud->szWindowName);
       strcat(EventName, "_");
       strcat(EventName, Name);

To see the amount of needless calls made...

I haven't tried this yet, but it seems wrong. Can you raise a bug report and I'll dig further into this one.

Thanks,
Rob.
--
Robert May
Win32::GUI, a perl extension for native Win32 applications
http://perl-win32-gui.sourceforge.net/

Reply via email to