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/